Mercurial > libavcodec.hg
changeset 5864:0fc269ea2919 libavcodec
cleanup and simplify adx_decode_header()
author | aurel |
---|---|
date | Thu, 01 Nov 2007 17:58:03 +0000 |
parents | ad587a64ef52 |
children | 79a8fa9d763d |
files | adx.c |
diffstat | 1 files changed, 6 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/adx.c Thu Nov 01 17:50:05 2007 +0000 +++ b/adx.c Thu Nov 01 17:58:03 2007 +0000 @@ -249,35 +249,18 @@ #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; }