diff options
Diffstat (limited to 'libavcodec/aacenc.c')
-rw-r--r-- | libavcodec/aacenc.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c index 3b7dc164da..20a8f5a857 100644 --- a/libavcodec/aacenc.c +++ b/libavcodec/aacenc.c @@ -649,7 +649,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, sce->band_type[w] = 0; } s->psy.bitres.alloc = -1; - s->psy.bitres.bits = avctx->frame_bits / s->channels; + s->psy.bitres.bits = s->last_frame_pb_count / s->channels; s->psy.model->analyze(&s->psy, start_ch, coeffs, wi); if (s->psy.bitres.alloc > 0) { /* Lambda unused here on purpose, we need to take psy's unscaled allocation */ @@ -819,11 +819,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, put_bits(&s->pb, 3, TYPE_END); flush_put_bits(&s->pb); -#if FF_API_STAT_BITS -FF_DISABLE_DEPRECATION_WARNINGS - avctx->frame_bits = put_bits_count(&s->pb); -FF_ENABLE_DEPRECATION_WARNINGS -#endif + s->last_frame_pb_count = put_bits_count(&s->pb); s->lambda_sum += s->lambda; s->lambda_count++; @@ -911,6 +907,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) s->channels = avctx->channels; s->chan_map = aac_chan_configs[s->channels-1]; s->lambda = avctx->global_quality > 0 ? avctx->global_quality : 120; + s->last_frame_pb_count = 0; avctx->extradata_size = 5; avctx->frame_size = 1024; avctx->initial_padding = 1024; |