mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-28 18:32:22 +00:00
avcodec/h264dec: update exported AVOptions in the user-facing context
Based on a patch by Hendrik Leppkes. Fixes ticket #9176. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
82ebe0c796
commit
42551a3407
@ -464,6 +464,18 @@ int ff_h264_update_thread_context(AVCodecContext *dst,
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ff_h264_update_thread_context_for_user(AVCodecContext *dst,
|
||||||
|
const AVCodecContext *src)
|
||||||
|
{
|
||||||
|
H264Context *h = dst->priv_data;
|
||||||
|
const H264Context *h1 = src->priv_data;
|
||||||
|
|
||||||
|
h->is_avc = h1->is_avc;
|
||||||
|
h->nal_length_size = h1->nal_length_size;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int h264_frame_start(H264Context *h)
|
static int h264_frame_start(H264Context *h)
|
||||||
{
|
{
|
||||||
H264Picture *pic;
|
H264Picture *pic;
|
||||||
|
@ -1083,6 +1083,7 @@ AVCodec ff_h264_decoder = {
|
|||||||
FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
|
FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
|
||||||
.flush = h264_decode_flush,
|
.flush = h264_decode_flush,
|
||||||
.update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),
|
.update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),
|
||||||
|
.update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context_for_user),
|
||||||
.profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
|
.profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
|
||||||
.priv_class = &h264_class,
|
.priv_class = &h264_class,
|
||||||
};
|
};
|
||||||
|
@ -849,6 +849,8 @@ int ff_h264_queue_decode_slice(H264Context *h, const H2645NAL *nal);
|
|||||||
int ff_h264_execute_decode_slices(H264Context *h);
|
int ff_h264_execute_decode_slices(H264Context *h);
|
||||||
int ff_h264_update_thread_context(AVCodecContext *dst,
|
int ff_h264_update_thread_context(AVCodecContext *dst,
|
||||||
const AVCodecContext *src);
|
const AVCodecContext *src);
|
||||||
|
int ff_h264_update_thread_context_for_user(AVCodecContext *dst,
|
||||||
|
const AVCodecContext *src);
|
||||||
|
|
||||||
void ff_h264_flush_change(H264Context *h);
|
void ff_h264_flush_change(H264Context *h);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user