[FFmpeg-cvslog] r25587 - trunk/libavcodec/aacpsy.c
elenril
subversion
Wed Oct 27 07:54:41 CEST 2010
Author: elenril
Date: Wed Oct 27 07:54:41 2010
New Revision: 25587
Log:
aacenc: Fix the conditions under which 3GPP pre-echo control is run.
According to the 3GPP spec:
"Thus the pre-echo control is inactive for the first short window (but
not all short windows in a short frame) after a start block and for
all frames with a stop window sequence."
Currently, pre-echo control is only run when the current frame is not
a short frame, and the previous frame is not a short frame.
patch by Nathan Caldwell saintdev (at) gmail
Modified:
trunk/libavcodec/aacpsy.c
Modified: trunk/libavcodec/aacpsy.c
==============================================================================
--- trunk/libavcodec/aacpsy.c Wed Oct 27 07:02:29 2010 (r25586)
+++ trunk/libavcodec/aacpsy.c Wed Oct 27 07:54:41 2010 (r25587)
@@ -420,7 +420,7 @@ static void psy_3gpp_analyze(FFPsyContex
band[g].thr = FFMAX(band[g].thr, band[g+1].thr * coeffs->spread_hi [g]);
for (g = 0; g < num_bands; g++) {
band[g].thr_quiet = FFMAX(band[g].thr, coeffs->ath[g]);
- if (wi->num_windows != 8 && wi->window_type[1] != EIGHT_SHORT_SEQUENCE)
+ if (!(wi->window_type[0] == LONG_STOP_SEQUENCE || (wi->window_type[1] == LONG_START_SEQUENCE && !w)))
band[g].thr_quiet = FFMAX(PSY_3GPP_RPEMIN*band[g].thr_quiet,
FFMIN(band[g].thr_quiet,
PSY_3GPP_RPELEV*pch->prev_band[w+g].thr_quiet));
More information about the ffmpeg-cvslog
mailing list