mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-25 04:30:02 +00:00
h264: fix bit depth changes with frame threading
AVCodecContext.bits_per_raw_sample is updated from the previous thread in the generic update function before the codec specific update_thread function is called. The check for reinitialization of dsp functions uses bits_per_raw_sample. When called from update_thread_context it will be already at the current value and the dsp functions aren't updated if only the bit depth changes.
This commit is contained in:
parent
a5e6080a8d
commit
a157c7f2b8
@ -1573,6 +1573,11 @@ static int decode_update_thread_context(AVCodecContext *dst,
|
||||
h->sps.chroma_format_idc != h1->sps.chroma_format_idc ||
|
||||
h->sps.colorspace != h1->sps.colorspace)) {
|
||||
|
||||
/* set bits_per_raw_sample to the previous value. the check for changed
|
||||
* bit depth in h264_set_parameter_from_sps() uses it and sets it to
|
||||
* the current value */
|
||||
h->avctx->bits_per_raw_sample = h->sps.bit_depth_luma;
|
||||
|
||||
av_freep(&h->bipred_scratchpad);
|
||||
|
||||
h->width = h1->width;
|
||||
|
Loading…
Reference in New Issue
Block a user