You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-04 22:03:09 +02:00
avcodec/mpegaudioenc: Don't pad one bit at a time
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
@ -743,9 +743,12 @@ static void encode_frame(MpegAudioContext *s,
|
|||||||
|
|
||||||
av_assert1(put_bits_left(p) == padding);
|
av_assert1(put_bits_left(p) == padding);
|
||||||
|
|
||||||
|
/* flush */
|
||||||
|
flush_put_bits(p);
|
||||||
|
|
||||||
/* padding */
|
/* padding */
|
||||||
for(i=0;i<padding;i++)
|
if (put_bytes_left(p, 0))
|
||||||
put_bits(p, 1, 0);
|
memset(put_bits_ptr(p), 0, put_bytes_left(p, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int MPA_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
static int MPA_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
||||||
@ -778,9 +781,6 @@ static int MPA_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
|||||||
|
|
||||||
encode_frame(s, bit_alloc, padding);
|
encode_frame(s, bit_alloc, padding);
|
||||||
|
|
||||||
/* flush */
|
|
||||||
flush_put_bits(&s->pb);
|
|
||||||
|
|
||||||
if (frame->pts != AV_NOPTS_VALUE)
|
if (frame->pts != AV_NOPTS_VALUE)
|
||||||
avpkt->pts = frame->pts - ff_samples_to_time_base(avctx, avctx->initial_padding);
|
avpkt->pts = frame->pts - ff_samples_to_time_base(avctx, avctx->initial_padding);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user