diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2007-11-01 17:58:03 +0000 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2007-11-01 17:58:03 +0000 |
commit | c4cc361099fca9f100336c4178382b8901f2c954 (patch) | |
tree | d52df6ce2f96fe0c15be9c2e01dc848613f21775 /libavcodec/adx.c | |
parent | 6177c7efe1748f9d89def83c9e792a7fa23526e7 (diff) | |
download | ffmpeg-c4cc361099fca9f100336c4178382b8901f2c954.tar.gz |
cleanup and simplify adx_decode_header()
Originally committed as revision 10900 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/adx.c')
-rw-r--r-- | libavcodec/adx.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/libavcodec/adx.c b/libavcodec/adx.c index 4b4165a7db..a0f7373229 100644 --- a/libavcodec/adx.c +++ b/libavcodec/adx.c @@ -249,35 +249,18 @@ static int adx_encode_frame(AVCodecContext *avctx, #endif //CONFIG_ENCODERS -static int is_adx(const unsigned char *buf,size_t bufsize) +/* return data offset or 0 */ +static int adx_decode_header(AVCodecContext *avctx,const unsigned char *buf,size_t bufsize) { - int offset; + int offset; if (buf[0]!=0x80) return 0; offset = (AV_RB32(buf)^0x80000000)+4; if (bufsize<offset || memcmp(buf+offset-6,"(c)CRI",6)) return 0; - return offset; -} - -/* return data offset or 6 */ -static int adx_decode_header(AVCodecContext *avctx,const unsigned char *buf,size_t bufsize) -{ - int offset; - int channels,freq,size; - - offset = is_adx(buf,bufsize); - if (offset==0) return 0; - - channels = buf[7]; - freq = AV_RB32(buf+8); - size = AV_RB32(buf+12); - -// printf("freq=%d ch=%d\n",freq,channels); - avctx->sample_rate = freq; - avctx->channels = channels; - avctx->bit_rate = freq*channels*18*8/32; -// avctx->frame_size = 18*channels; + avctx->channels = buf[7]; + avctx->sample_rate = AV_RB32(buf+8); + avctx->bit_rate = avctx->sample_rate*avctx->channels*18*8/32; return offset; } |