[FFmpeg-devel] [PATCH] [RFC] E-AC-3 vs. AC-3 separation

Diego Biurrun diego
Thu Jul 23 01:38:42 CEST 2009


On Thu, Jul 23, 2009 at 01:27:35AM +0200, Diego Biurrun wrote:
> On Wed, Jul 22, 2009 at 06:37:19PM -0400, Justin Ruggles wrote:
> > Diego Biurrun wrote:
> > > On Tue, Jul 21, 2009 at 07:17:06PM -0400, Justin Ruggles wrote:
> > >> Diego Biurrun wrote:
> > >>> Here is a feeble attempt to separate the E-AC-3 and the AC-3 decoders.
> > >>> I have the nagging feeling that it might not be quite so easy, but it
> > >>> could be a start..
> > >> If it compiles when E-AC-3 is disabled but AC-3 is enabled, then it
> > >> actually looks ok.  They could be separated even more by splitting up
> > >> ac3dec_data.c into 2 files.  For example, the VQ tables, which are
> > >> pretty big, are not needed for regular AC-3 and are only used in eac3dec.c.
> > > 
> > > Your wish is my command, see the attached patch..
> > > 
> > > --- libavcodec/ac3dec_data.h	(revision 19483)
> > > +++ libavcodec/ac3dec_data.h	(working copy)
> > > @@ -22,19 +22,9 @@
> > >  #ifndef AVCODEC_AC3DEC_DATA_H
> > >  #define AVCODEC_AC3DEC_DATA_H
> > >  
> > > -#include "libavutil/common.h"
> > > +#include <stdint.h>
> > >  
> > >  extern const uint8_t ff_ac3_ungroup_3_in_5_bits_tab[32][3];
> > > -extern const uint8_t ff_eac3_hebap_tab[64];
> > > -extern const uint8_t ff_eac3_bits_vs_hebap[20];
> > > -extern const int16_t ff_eac3_gaq_remap_1[12];
> > > -extern const int16_t ff_eac3_gaq_remap_2_4_a[9][2];
> > > -extern const int16_t ff_eac3_gaq_remap_2_4_b[9][2];
> > > -
> > > -extern const int16_t (* const ff_eac3_mantissa_vq[8])[6];
> > > -extern const uint8_t ff_eac3_frm_expstr[32][6];
> > > -extern const uint8_t ff_eac3_default_cpl_band_struct[18];
> > 
> > ff_eac3_default_cpl_band_struct needs to stay with ac3dec_data.c because
> > it is used in ac3dec.c by the shared AC-3/E-AC-3 code.
> > 
> > Everything else in this patch looks ok if it works.
> 
> You were right of course, here is a new version that does all the fancy
> stuff, like, say, compile... ;-)

Update: This additional patch is needed so that the eac3_decoder does
not get mistakenly enabled.

Diego
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eac3_refactor2.diff
Type: text/x-diff
Size: 503 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090723/b8ed807e/attachment.diff>



More information about the ffmpeg-devel mailing list