[FFmpeg-soc] [soc]: r1606 - in eac3: ac3dec.c ffmpeg.patch

jbr subversion at mplayerhq.hu
Thu Dec 20 00:00:42 CET 2007


Author: jbr
Date: Thu Dec 20 00:00:42 2007
New Revision: 1606

Log:
update to FFmpeg SVN-r11274

Modified:
   eac3/ac3dec.c
   eac3/ffmpeg.patch

Modified: eac3/ac3dec.c
==============================================================================
--- eac3/ac3dec.c	(original)
+++ eac3/ac3dec.c	Thu Dec 20 00:00:42 2007
@@ -67,9 +67,6 @@ static const uint8_t quantization_tab[16
 /** dynamic range table. converts codes to scale factors. */
 float ff_ac3_dynamic_range_tab[256];
 
-/** dialog normalization table */
-float ff_ac3_dialog_norm_tab[32];
-
 const float ff_ac3_mix_levels[9] = {
     LEVEL_PLUS_3DB,
     LEVEL_PLUS_1POINT5DB,
@@ -149,7 +146,6 @@ typedef struct {
     int out_channels;                       ///< number of output channels
 
     float downmix_coeffs[AC3_MAX_CHANNELS][2];  ///< stereo downmix coefficients
-    float dialog_norm[2];                   ///< dialog normalization
     float dynamic_range[2];                 ///< dynamic range
     float cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates
     int   num_cpl_bands;                    ///< number of coupling bands
@@ -264,14 +260,6 @@ void ff_ac3_tables_init(void)
         ff_ac3_dynamic_range_tab[i] = powf(2.0f, v) * ((i & 0x1F) | 0x20);
     }
 
-    /* generate dialog normalization table
-       references: Section 5.4.2.8 dialnorm
-                   Section 7.6 Dialogue Normalization */
-    for(i=1; i<32; i++) {
-        ff_ac3_dialog_norm_tab[i] = expf((i-31) * M_LN10 / 20.0f);
-    }
-    ff_ac3_dialog_norm_tab[0] = ff_ac3_dialog_norm_tab[31];
-
     /* generate scale factors for exponents and asymmetrical dequantization
        reference: Section 7.3.2 Expansion of Mantissas for Asymmetric Quantization */
     for (i = 0; i < 25; i++)
@@ -370,7 +358,7 @@ static int ac3_parse_header(AC3DecodeCon
     /* read the rest of the bsi. read twice for dual mono mode. */
     i = !(ctx->channel_mode);
     do {
-        ctx->dialog_norm[i] = ff_ac3_dialog_norm_tab[get_bits(gb, 5)]; // dialog normalization
+        skip_bits(gb, 5); // skip dialog normalization
         if (get_bits1(gb))
             skip_bits(gb, 8); //skip compression
         if (get_bits1(gb))
@@ -1035,13 +1023,13 @@ static int ac3_parse_audio_block(AC3Deco
                               ctx->num_rematrixing_bands, ctx->rematrixing_flags);
     }
 
-    /* apply scaling to coefficients (headroom, dialnorm, dynrng) */
+    /* apply scaling to coefficients (headroom, dynrng) */
     for(ch=1; ch<=ctx->channels; ch++) {
         float gain = 2.0f * ctx->mul_bias;
         if(ctx->channel_mode == AC3_CHMODE_DUALMONO) {
-            gain *= ctx->dialog_norm[ch-1] * ctx->dynamic_range[ch-1];
+            gain *= ctx->dynamic_range[ch-1];
         } else {
-            gain *= ctx->dialog_norm[0] * ctx->dynamic_range[0];
+            gain *= ctx->dynamic_range[0];
         }
         for(i=0; i<ctx->end_freq[ch]; i++) {
             ctx->transform_coeffs[ch][i] *= gain;

Modified: eac3/ffmpeg.patch
==============================================================================
--- eac3/ffmpeg.patch	(original)
+++ eac3/ffmpeg.patch	Thu Dec 20 00:00:42 2007
@@ -1,6 +1,6 @@
 Index: libavcodec/aac_ac3_parser.c
 ===================================================================
---- libavcodec/aac_ac3_parser.c	(revision 11226)
+--- libavcodec/aac_ac3_parser.c	(revision 11274)
 +++ libavcodec/aac_ac3_parser.c	(working copy)
 @@ -50,7 +50,7 @@
  
@@ -22,7 +22,7 @@ Index: libavcodec/aac_ac3_parser.c
                          }
 Index: libavcodec/aac_ac3_parser.h
 ===================================================================
---- libavcodec/aac_ac3_parser.h	(revision 11226)
+--- libavcodec/aac_ac3_parser.h	(revision 11274)
 +++ libavcodec/aac_ac3_parser.h	(working copy)
 @@ -30,7 +30,7 @@
      uint8_t *inbuf_ptr;
@@ -35,7 +35,7 @@ Index: libavcodec/aac_ac3_parser.h
  } AACAC3ParseContext;
 Index: libavcodec/Makefile
 ===================================================================
---- libavcodec/Makefile	(revision 11226)
+--- libavcodec/Makefile	(revision 11274)
 +++ libavcodec/Makefile	(working copy)
 @@ -67,6 +67,7 @@
  OBJS-$(CONFIG_DVVIDEO_DECODER)         += dv.o
@@ -55,7 +55,7 @@ Index: libavcodec/Makefile
  OBJS-$(CONFIG_H264_PARSER)             += h264_parser.o
 Index: libavcodec/aac_parser.c
 ===================================================================
---- libavcodec/aac_parser.c	(revision 11226)
+--- libavcodec/aac_parser.c	(revision 11274)
 +++ libavcodec/aac_parser.c	(working copy)
 @@ -38,7 +38,7 @@
  };
@@ -68,7 +68,7 @@ Index: libavcodec/aac_parser.c
      GetBitContext bits;
 Index: libavcodec/allcodecs.c
 ===================================================================
---- libavcodec/allcodecs.c	(revision 11226)
+--- libavcodec/allcodecs.c	(revision 11274)
 +++ libavcodec/allcodecs.c	(working copy)
 @@ -178,6 +178,7 @@
      REGISTER_DECODER (COOK, cook);
@@ -88,7 +88,7 @@ Index: libavcodec/allcodecs.c
      REGISTER_PARSER  (H264, h264);
 Index: libavcodec/ac3_parser.c
 ===================================================================
---- libavcodec/ac3_parser.c	(revision 11226)
+--- libavcodec/ac3_parser.c	(revision 11274)
 +++ libavcodec/ac3_parser.c	(working copy)
 @@ -84,7 +84,7 @@
      return 0;
@@ -130,7 +130,7 @@ Index: libavcodec/ac3_parser.c
 +};
 Index: libavcodec/avcodec.h
 ===================================================================
---- libavcodec/avcodec.h	(revision 11226)
+--- libavcodec/avcodec.h	(revision 11274)
 +++ libavcodec/avcodec.h	(working copy)
 @@ -274,6 +274,7 @@
      CODEC_ID_APE,
@@ -142,7 +142,7 @@ Index: libavcodec/avcodec.h
      CODEC_ID_DVD_SUBTITLE= 0x17000,
 Index: libavcodec/ac3enc.c
 ===================================================================
---- libavcodec/ac3enc.c	(revision 11226)
+--- libavcodec/ac3enc.c	(revision 11274)
 +++ libavcodec/ac3enc.c	(working copy)
 @@ -479,7 +479,8 @@
          for(ch=0;ch<s->nb_all_channels;ch++) {



More information about the FFmpeg-soc mailing list