[FFmpeg-devel] [PATCH] avcodec/h264_slice: don't sync default_ref[] between threads.
Wan-Teh Chang
wtc at google.com
Wed Jul 19 05:09:50 EEST 2017
I researched the history of the line in h264_slice.c that this patch deleted.
That line was implicitly added in commit
4da2ac5c7a491b20be62ad19d77526e62aa57c69:
http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=patch;h=4da2ac5c7a491b20be62ad19d77526e62aa57c69
Although commit 4da2ac5c7a491b20be62ad19d77526e62aa57c69 didn't modify
h264_slice.c, the copy_fields macro call in
ff_h264_update_thread_context() would copy the new default_ref[] field
of H264Context. The copying of default_ref[] was made explicit in
commit 98456d4d69e0fdcc328bb9e684ae776f5bc824e1, which replaced the
copy_fields macro with field-by-field copies.
http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=98456d4d69e0fdcc328bb9e684ae776f5bc824e1
Commit 4da2ac5c7a491b20be62ad19d77526e62aa57c69 makes it clear that
the default_ref[] field of H264Context is supposed to be initialized
(to values from the associated H264SliceContext) in
h264_initialise_ref_list(), so it should not be propagated from one
decoding thread to the next.
Wan-Teh Chang
More information about the ffmpeg-devel
mailing list