mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 11:39:47 +00:00
avcodec/h264_slice: set the SEI parameters early on the AVCodecContext
It's better to do it before the buffers are actually created. At least in VLC we currently don't support changing some parameters dynamically easily so we don't use the information if it comes after the buffer are created. Co-authored-by: James Almer <jamrial@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
f2ad6238e4
commit
8788dd67b8
@ -1092,6 +1092,12 @@ static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_sl
|
||||
h->avctx->colorspace = sps->colorspace;
|
||||
}
|
||||
}
|
||||
|
||||
if (h->sei.alternative_transfer.present &&
|
||||
av_color_transfer_name(h->sei.alternative_transfer.preferred_transfer_characteristics) &&
|
||||
h->sei.alternative_transfer.preferred_transfer_characteristics != AVCOL_TRC_UNSPECIFIED) {
|
||||
h->avctx->color_trc = h->sei.alternative_transfer.preferred_transfer_characteristics;
|
||||
}
|
||||
}
|
||||
|
||||
if (!h->context_initialized || must_reinit || needs_reinit) {
|
||||
@ -1332,12 +1338,6 @@ static int h264_export_frame_props(H264Context *h)
|
||||
h->sei.picture_timing.timecode_cnt = 0;
|
||||
}
|
||||
|
||||
if (h->sei.alternative_transfer.present &&
|
||||
av_color_transfer_name(h->sei.alternative_transfer.preferred_transfer_characteristics) &&
|
||||
h->sei.alternative_transfer.preferred_transfer_characteristics != AVCOL_TRC_UNSPECIFIED) {
|
||||
h->avctx->color_trc = cur->f->color_trc = h->sei.alternative_transfer.preferred_transfer_characteristics;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user