[FFmpeg-cvslog] ac3enc: clip coupling coordinates during calculation

Justin Ruggles git at videolan.org
Thu Aug 11 21:09:22 CEST 2011


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Sun Aug  7 17:12:49 2011 -0400| [069083a419fc1a267ee997817c4e368fa67ca154] | committer: Justin Ruggles

ac3enc: clip coupling coordinates during calculation

This is faster than using the clip_coefficients() function. Also,
clipping the coordinates before determining reuse is better since it
will compare coordinates that are closer to their final encoded values.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=069083a419fc1a267ee997817c4e368fa67ca154
---

 libavcodec/ac3enc_template.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c
index 7a6d72f..943a55a 100644
--- a/libavcodec/ac3enc_template.c
+++ b/libavcodec/ac3enc_template.c
@@ -126,7 +126,7 @@ static inline float calc_cpl_coord(float energy_ch, float energy_cpl)
     float coord = 0.125;
     if (energy_cpl > 0)
         coord *= sqrtf(energy_ch / energy_cpl);
-    return coord;
+    return FFMIN(coord, COEF_MAX);
 }
 
 
@@ -291,7 +291,6 @@ static void apply_channel_coupling(AC3EncodeContext *s)
         if (!block->cpl_in_use)
             continue;
 
-        clip_coefficients(&s->dsp, cpl_coords[blk][1], s->fbw_channels * 16);
         s->ac3dsp.float_to_fixed24(fixed_cpl_coords[blk][1],
                                    cpl_coords[blk][1],
                                    s->fbw_channels * 16);



More information about the ffmpeg-cvslog mailing list