[FFmpeg-devel] [PATCH] add E-AC-3 support to AC-3 decoder
Michael Niedermayer
michaelni
Sat Jun 7 17:38:23 CEST 2008
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.
lets hope we wont get entangled in the approved, commented and not yet
reviewed patches ...
>
> Commit log messages:
>
> [PATCH 01/32] get the number of blocks from the ac3 parser and use in
> the ac3 decoder.
comments below
> [PATCH 02/32] get substreamid from ac3 parser
ok
> [PATCH 03/32] read frame type from header info into decode context
ok
> [PATCH 04/32] skip unsupported frame types and substream id's
ok
> **/32 cosmetics: indent
ok
> [PATCH 06/32] set default mix levels regardless of bitstream id
ok
> [PATCH 07/32] pass bap table to ff_ac3_bit_alloc_calc_bap()
not reviewed yet
> [PATCH 08/32] add more gain levels and adjust mix level tables accordingly.
ok
> [PATCH 09/32] move mix level tables from parser to decoder. have parser
> read bitstream value instead of using an index to a table in the decoder.
ok
> [PATCH 10/32] move the decode context and some macro constants to a new
> file, ac3dec.h
ok
> [PATCH 11/32] cosmetics: reorder decode context fields into logical groups
comment below
> **/32 cosmetics: vertical align
ok
rest not reviewed yet
[...]
> @@ -49,7 +49,6 @@ static const uint8_t surround_levels[4] = { 2, 4, 0, 4 };
> int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr)
> {
> int frame_size_code;
> - int num_blocks;
>
> memset(hdr, 0, sizeof(*hdr));
>
> @@ -97,6 +96,7 @@ int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr)
> hdr->bit_rate = (ff_ac3_bitrate_tab[frame_size_code>>1] * 1000) >> hdr->sr_shift;
> hdr->channels = ff_ac3_channels_tab[hdr->channel_mode] + hdr->lfe_on;
> hdr->frame_size = ff_ac3_frame_size_tab[frame_size_code][hdr->sr_code] * 2;
> + hdr->num_blocks = 6;
> hdr->frame_type = EAC3_FRAME_TYPE_AC3_CONVERT; //EAC3_FRAME_TYPE_INDEPENDENT;
> } else {
> /* Enhanced AC-3 */
> @@ -118,9 +118,9 @@ int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr)
> return AC3_PARSE_ERROR_SAMPLE_RATE;
> hdr->sample_rate = ff_ac3_sample_rate_tab[sr_code2] / 2;
> hdr->sr_shift = 1;
> - num_blocks = 6;
> + hdr->num_blocks = 6;
cant these = 6 be factored out before the if/elses?
[...]
> 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
funny whitespace, this also applies to a few others
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates
-------------- 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/5db70101/attachment.pgp>
More information about the ffmpeg-devel
mailing list