Mercurial > libavcodec.hg
diff aac_parser.c @ 6527:32b984487899 libavcodec
Pass AACAC3ParseContext to sync() instead of individual arguments. Patch by
Bartlomiej Wolowiec (bartek wolowiec gmail com)
author | jbr |
---|---|
date | Sun, 23 Mar 2008 15:43:29 +0000 |
parents | 48759bfbd073 |
children | 5542d0c04a55 |
line wrap: on
line diff
--- a/aac_parser.c Sat Mar 22 17:34:29 2008 +0000 +++ b/aac_parser.c Sun Mar 23 15:43:29 2008 +0000 @@ -38,13 +38,12 @@ }; -static int aac_sync(const uint8_t *buf, int *channels, int *sample_rate, - int *bit_rate, int *samples) +static int aac_sync(AACAC3ParseContext *hdr_info) { GetBitContext bits; int size, rdb, ch, sr; - init_get_bits(&bits, buf, AAC_HEADER_SIZE * 8); + init_get_bits(&bits, hdr_info->inbuf, AAC_HEADER_SIZE * 8); if(get_bits(&bits, 12) != 0xfff) return 0; @@ -73,10 +72,10 @@ skip_bits(&bits, 11); /* adts_buffer_fullness */ rdb = get_bits(&bits, 2); /* number_of_raw_data_blocks_in_frame */ - *channels = aac_channels[ch]; - *sample_rate = aac_sample_rates[sr]; - *samples = (rdb + 1) * 1024; - *bit_rate = size * 8 * *sample_rate / *samples; + hdr_info->channels = aac_channels[ch]; + hdr_info->sample_rate = aac_sample_rates[sr]; + hdr_info->samples = (rdb + 1) * 1024; + hdr_info->bit_rate = size * 8 * hdr_info->sample_rate / hdr_info->samples; return size; }