Skip to content

Commit eedcf93

Browse files
HotactioncopOvchinnikovDmitrii
authored andcommitted
avcodec/amfenc: Color information update
Processing of transfer characteristic SMPTE2084 and 8-bit depth added on AMF side and will appear in one of upcoming releases.
1 parent fd0cacc commit eedcf93

File tree

2 files changed

+8
-18
lines changed

2 files changed

+8
-18
lines changed

libavcodec/amfenc_av1.c

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -252,15 +252,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
252252

253253
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_COLOR_BIT_DEPTH, color_depth);
254254
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PROFILE, color_profile);
255-
if (color_depth == AMF_COLOR_BIT_DEPTH_8) {
256-
/// Color Transfer Characteristics (AMF matches ISO/IEC)
257-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_BT709);
258-
/// Color Primaries (AMF matches ISO/IEC)
259-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT709);
260-
} else {
261-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE2084);
262-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT2020);
263-
}
255+
/// Color Transfer Characteristics (AMF matches ISO/IEC)
256+
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_TRANSFER_CHARACTERISTIC, avctx->color_trc);
257+
/// Color Primaries (AMF matches ISO/IEC)
258+
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PRIMARIES, avctx->color_primaries);
264259

265260
profile_level = avctx->level;
266261
if (profile_level == AV_LEVEL_UNKNOWN) {

libavcodec/amfenc_hevc.c

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -254,15 +254,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
254254
color_depth = AMF_COLOR_BIT_DEPTH_10;
255255
}
256256
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_COLOR_BIT_DEPTH, color_depth);
257-
if (color_depth == AMF_COLOR_BIT_DEPTH_8) {
258-
/// Color Transfer Characteristics (AMF matches ISO/IEC)
259-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_BT709);
260-
/// Color Primaries (AMF matches ISO/IEC)
261-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT709);
262-
} else {
263-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE2084);
264-
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT2020);
265-
}
257+
/// Color Transfer Characteristics (AMF matches ISO/IEC)
258+
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, avctx->color_trc);
259+
/// Color Primaries (AMF matches ISO/IEC)
260+
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PRIMARIES, avctx->color_primaries);
266261

267262
// Picture control properties
268263
AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_NUM_GOPS_PER_IDR, ctx->gops_per_idr);

0 commit comments

Comments
 (0)