---
removed isqrt64() and used ff_sqrt() instead.
libavcodec/ac3enc_fixed.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c
index 26bba0f..9443f01 100644
--- a/libavcodec/ac3enc_fixed.c
+++ b/libavcodec/ac3enc_fixed.c
@@ -118,7 +118,13 @@ static void clip_coefficients(DSPContext *dsp, int32_t
*coef, unsigned int len)
*/
static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl)
{
- return 1048576;
+ if (energy_cpl <= COEF_MAX) {
+ return 1048576;
+ } else {
+ uint64_t coord = energy_ch / (energy_cpl >> 24);
+ coord = FFMIN(coord, 1073741824);
+ return FFMIN(ff_sqrt(coord) << 9, COEF_MAX);
+ }
}
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel