[FFmpeg-cvslog] libavcodec/vorbisenc: Add missing initial_padding
Guangyu Sun
git at videolan.org
Mon Jul 12 10:56:00 EEST 2021
ffmpeg | branch: master | Guangyu Sun <sunguangyucn at gmail.com> | Wed Jul 7 08:41:33 2021 -0700| [24b3178efdfd61c7002d016b0e8db59fd5ff1491] | committer: Lynne
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 at roblox.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=24b3178efdfd61c7002d016b0e8db59fd5ff1491
---
libavcodec/vorbisenc.c | 1 +
1 file changed, 1 insertion(+)
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);
More information about the ffmpeg-cvslog
mailing list