diff options
author | Guangyu Sun <sunguangyucn@gmail.com> | 2021-07-07 08:41:33 -0700 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2021-07-12 09:54:52 +0200 |
commit | 24b3178efdfd61c7002d016b0e8db59fd5ff1491 (patch) | |
tree | 5cdfbb6ff0172f011d17c4c5051681ecbc9b0236 | |
parent | 75510d7015f108b84dd3be3c903afa710997d719 (diff) | |
download | ffmpeg-24b3178efdfd61c7002d016b0e8db59fd5ff1491.tar.gz |
libavcodec/vorbisenc: Add missing initial_padding
Vorbis has priming samples at the beginning. If the initial_padding is not
set in the encoder, the total sample count will be one frame fewer than it
should be. The result is that we get a truncated version of encoding.
initial_padding should be set to the frame_size used in
vorbis_encode_frame().
Signed-off-by: Guangyu Sun <gsun@roblox.com>
-rw-r--r-- | libavcodec/vorbisenc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c index 332c09f9a1..72c6ba1130 100644 --- a/libavcodec/vorbisenc.c +++ b/libavcodec/vorbisenc.c @@ -1287,6 +1287,7 @@ static av_cold int vorbis_encode_init(AVCodecContext *avctx) avctx->extradata_size = ret; avctx->frame_size = 64; + avctx->initial_padding = 1 << (venc->log2_blocksize[1] - 1); ff_af_queue_init(avctx, &venc->afq); |