[FFmpeg-devel] [PATCH] add E-AC-3 support to AC-3 decoder
Justin Ruggles
justinruggles
Sat Jun 7 21:20:50 CEST 2008
Michael Niedermayer wrote:
> On Sat, Jun 07, 2008 at 10:30:31AM -0400, Justin Ruggles wrote:
>> Hi,
>>
>> Here is a patch set to incrementally add support for E-AC-3 to the AC-3
>> decoder. There are 32 total patches. I'm just attaching them all in
>> this email instead of doing the git-send-email thing.
>>
>> diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h
>> index fc73cf7..95e6512 100644
>> --- a/libavcodec/ac3dec.h
>> +++ b/libavcodec/ac3dec.h
>> @@ -63,14 +63,14 @@ typedef struct {
>> ///@}
>>
>> ///@defgroup cpl standard coupling
>> - int cpl_in_use; ///< coupling in use
>> - int channel_in_cpl[AC3_MAX_CHANNELS]; ///< channel in coupling
>> - int phase_flags_in_use; ///< phase flags in use
>> - int phase_flags[18]; ///< phase flags
>> - int num_cpl_subbands; ///< number of coupling sub bands
>> - int num_cpl_bands; ///< number of coupling bands
>> - int cpl_band_struct[18]; ///< coupling band structure
>> - int cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates
>> + int cpl_in_use; ///< coupling in use (cplinu)
>> + int channel_in_cpl[AC3_MAX_CHANNELS]; ///< channel in coupling (chincpl)
>> + int phase_flags_in_use; ///< phase flags in use (phsflginu)
>> + int phase_flags[18]; ///< phase flags (phsflg)
>> + int num_cpl_subbands; ///< number of coupling sub bands (ncplsubnd)
>> + int num_cpl_bands; ///< number of coupling bands (ncplbnd)
>> + int cpl_band_struct[18]; ///< coupling band structure (cplbndstrc)
>> + int cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates (cplco)
>
> I think it would be clearer if the (names) where vertically aligned
>
>
> [...]
>
>> @@ -746,8 +747,8 @@ static int ac3_parse_audio_block(AC3DecodeContext *s, int blk)
>> /* coupling strategy */
>> if (get_bits1(gbc)) {
>> memset(bit_alloc_stages, 3, AC3_MAX_CHANNELS);
>> - s->cpl_in_use = get_bits1(gbc);
>> - if (s->cpl_in_use) {
>> + s->cpl_in_use[blk] = get_bits1(gbc);
>> + if (s->cpl_in_use[blk]) {
>> /* coupling in use */
>> int cpl_begin_freq, cpl_end_freq;
>>
>> @@ -789,10 +790,13 @@ static int ac3_parse_audio_block(AC3DecodeContext *s, int blk)
>> } else if (!blk) {
>> av_log(s->avctx, AV_LOG_ERROR, "new coupling strategy must be present in block 0\n");
>> return -1;
>> + } else {
>> + s->cpl_in_use[blk] = s->cpl_in_use[blk-1];
>> }
>> + cpl_in_use = s->cpl_in_use[blk];
>
> following looks simpler:
>
> cpl_in_use= get_bits1(gbc);
> if(cpl_in_use){
> ...
> } else {
> cpl_in_use = s->cpl_in_use[blk-1];
> }
> s->cpl_in_use[blk] = cpl_in_use;
new PATCH 16/32 attached.
-Justin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0016-store-cpl_in_use-for-all-blocks-in-decode-context.patch
Type: text/x-patch
Size: 7140 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080607/a2681218/attachment.bin>
More information about the ffmpeg-devel
mailing list