[FFmpeg-devel] [PATCH] add E-AC-3 support to AC-3 decoder

Michael Niedermayer michaelni
Sat Jun 7 22:50:59 CEST 2008


On Sat, Jun 07, 2008 at 03:20:50PM -0400, Justin Ruggles wrote:
> 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.

ok

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080607/461b83e0/attachment.pgp>



More information about the ffmpeg-devel mailing list