Commit b1504e77 authored by Derek Buitenhuis's avatar Derek Buitenhuis

h264_slice: Copy the value of x264_build before calling h264_slice_header_init during thread init

If we don't copy this value first, it is seen as 0 by h264_slice_header_init,
due to zero-allocation of the new context, triggering an old hack that
multiplied the denominator by 2 for files produced by old x264 versions, but
only if more than one thread was used.

Fixes #7475 and #7083.
Signed-off-by: 's avatarDerek Buitenhuis <derek.buitenhuis@gmail.com>
parent e10fe34e
......@@ -358,6 +358,7 @@ int ff_h264_update_thread_context(AVCodecContext *dst,
h->mb_num = h1->mb_num;
h->mb_stride = h1->mb_stride;
h->b_stride = h1->b_stride;
h->x264_build = h1->x264_build;
if (h->context_initialized || h1->context_initialized) {
if ((err = h264_slice_header_init(h)) < 0) {
......@@ -399,7 +400,6 @@ int ff_h264_update_thread_context(AVCodecContext *dst,
h->enable_er = h1->enable_er;
h->workaround_bugs = h1->workaround_bugs;
h->x264_build = h1->x264_build;
h->droppable = h1->droppable;
// extradata/NAL handling
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment