[FFmpeg-devel] [PATCH] avformat/ivfenc: Change the length fields to 32 bits

Raphaël Zumer rzumer at tebako.net
Wed Oct 2 16:04:59 EEST 2019


There is no change in the encoded bitstream, but this
ensures that the written field length is consistent
with the reference implementation.

Unused bytes are zeroed out for backwards compatibility.

Signed-off-by: Raphaël Zumer <rzumer at tebako.net>
---
 libavformat/ivfenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/ivfenc.c b/libavformat/ivfenc.c
index ae461a872b..eb70421c44 100644
--- a/libavformat/ivfenc.c
+++ b/libavformat/ivfenc.c
@@ -84,7 +84,8 @@ static int ivf_write_trailer(AVFormatContext *s)
 
         avio_seek(pb, 24, SEEK_SET);
         // overwrite the "length" field (duration)
-        avio_wl64(pb, ctx->frame_cnt * ctx->sum_delta_pts / (ctx->frame_cnt - 1));
+        avio_wl32(pb, ctx->frame_cnt * ctx->sum_delta_pts / (ctx->frame_cnt - 1));
+        avio_wl32(pb, 0); // zero out unused bytes
         avio_seek(pb, end, SEEK_SET);
     }
 
-- 
2.23.0



More information about the ffmpeg-devel mailing list