mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-01-24 07:31:22 +01:00
vaapi_encode_h264: Fix setting colour properties
The properties should always be set; only the presence flags want to be conditional. Fixes #8959. Reviewed-By: Jan Ekström <jeebjp@gmail.com> Tested-By: Xu, Yefeng <yefengx.xu@intel.com>
This commit is contained in:
parent
4ad7af085c
commit
9faf4dcf23
1 changed files with 12 additions and 22 deletions
|
|
@ -411,30 +411,20 @@ static int vaapi_encode_h264_init_sequence_params(AVCodecContext *avctx)
|
|||
sps->vui.aspect_ratio_info_present_flag = 1;
|
||||
}
|
||||
|
||||
if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED ||
|
||||
avctx->color_primaries != AVCOL_PRI_UNSPECIFIED ||
|
||||
// Unspecified video format, from table E-2.
|
||||
sps->vui.video_format = 5;
|
||||
sps->vui.video_full_range_flag =
|
||||
avctx->color_range == AVCOL_RANGE_JPEG;
|
||||
sps->vui.colour_primaries = avctx->color_primaries;
|
||||
sps->vui.transfer_characteristics = avctx->color_trc;
|
||||
sps->vui.matrix_coefficients = avctx->colorspace;
|
||||
if (avctx->color_primaries != AVCOL_PRI_UNSPECIFIED ||
|
||||
avctx->color_trc != AVCOL_TRC_UNSPECIFIED ||
|
||||
avctx->colorspace != AVCOL_SPC_UNSPECIFIED) {
|
||||
avctx->colorspace != AVCOL_SPC_UNSPECIFIED)
|
||||
sps->vui.colour_description_present_flag = 1;
|
||||
if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED ||
|
||||
sps->vui.colour_description_present_flag)
|
||||
sps->vui.video_signal_type_present_flag = 1;
|
||||
sps->vui.video_format = 5; // Unspecified.
|
||||
sps->vui.video_full_range_flag =
|
||||
avctx->color_range == AVCOL_RANGE_JPEG;
|
||||
|
||||
if (avctx->color_primaries != AVCOL_PRI_UNSPECIFIED ||
|
||||
avctx->color_trc != AVCOL_TRC_UNSPECIFIED ||
|
||||
avctx->colorspace != AVCOL_SPC_UNSPECIFIED) {
|
||||
sps->vui.colour_description_present_flag = 1;
|
||||
sps->vui.colour_primaries = avctx->color_primaries;
|
||||
sps->vui.transfer_characteristics = avctx->color_trc;
|
||||
sps->vui.matrix_coefficients = avctx->colorspace;
|
||||
}
|
||||
} else {
|
||||
sps->vui.video_format = 5;
|
||||
sps->vui.video_full_range_flag = 0;
|
||||
sps->vui.colour_primaries = avctx->color_primaries;
|
||||
sps->vui.transfer_characteristics = avctx->color_trc;
|
||||
sps->vui.matrix_coefficients = avctx->colorspace;
|
||||
}
|
||||
|
||||
if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
|
||||
sps->vui.chroma_loc_info_present_flag = 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue