summaryrefslogtreecommitdiff
path: root/libavcodec/mpegaudioenc_template.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-25 12:52:56 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-03-30 12:36:32 +0200
commitc81b8e04aa0952a7aec1e08940f29ae501fb6bfd (patch)
tree34c1d0dd6c2262ef83efa3ae77ea704580144050 /libavcodec/mpegaudioenc_template.c
parent73fb1b8a9bd6a563a6b58ce8aa215f2f07e91f57 (diff)
Avoid intermediate bitcount for number of bytes in PutBitContext
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/mpegaudioenc_template.c')
-rw-r--r--libavcodec/mpegaudioenc_template.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/mpegaudioenc_template.c b/libavcodec/mpegaudioenc_template.c
index 12f7a098e6..8e6e20c358 100644
--- a/libavcodec/mpegaudioenc_template.c
+++ b/libavcodec/mpegaudioenc_template.c
@@ -736,9 +736,6 @@ static void encode_frame(MpegAudioContext *s,
/* padding */
for(i=0;i<padding;i++)
put_bits(p, 1, 0);
-
- /* flush */
- flush_put_bits(p);
}
static int MPA_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
@@ -770,10 +767,13 @@ static int MPA_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
encode_frame(s, bit_alloc, padding);
+ /* flush */
+ flush_put_bits(&s->pb);
+ avpkt->size = put_bytes_output(&s->pb);
+
if (frame->pts != AV_NOPTS_VALUE)
avpkt->pts = frame->pts - ff_samples_to_time_base(avctx, avctx->initial_padding);
- avpkt->size = put_bits_count(&s->pb) / 8;
*got_packet_ptr = 1;
return 0;
}