summaryrefslogtreecommitdiff
path: root/ext/x265
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2019-07-17 22:42:10 +0900
committerSeungha Yang <seungha.yang@navercorp.com>2019-07-17 22:46:58 +0900
commitd6680b35b4f8df6ef91fab69f475dbf599c4f9e1 (patch)
tree673f6a0044ab7e36b6de5b3b8d972b18907d19cf /ext/x265
parent8753561015733b5865785546a0dadce8cfc7d245 (diff)
downloadgstreamer-plugins-bad-d6680b35b4f8df6ef91fab69f475dbf599c4f9e1.tar.gz
x265enc: Specify colorimetry related VUI parameters
Set the colorimetry config for the information to be embedded in encodec bitstream.
Diffstat (limited to 'ext/x265')
-rw-r--r--ext/x265/gstx265enc.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/x265/gstx265enc.c b/ext/x265/gstx265enc.c
index b790247ee..c8fbc688c 100644
--- a/ext/x265/gstx265enc.c
+++ b/ext/x265/gstx265enc.c
@@ -676,6 +676,23 @@ gst_x265_enc_init_encoder (GstX265Enc * encoder)
encoder->x265param.vui.sarHeight = info->par_d;
}
+ encoder->x265param.vui.bEnableVideoSignalTypePresentFlag = 1;
+ /* Unspecified video format (5) */
+ encoder->x265param.vui.videoFormat = 5;
+ if (info->colorimetry.range == GST_VIDEO_COLOR_RANGE_0_255) {
+ encoder->x265param.vui.bEnableVideoFullRangeFlag = 1;
+ } else {
+ encoder->x265param.vui.bEnableVideoFullRangeFlag = 0;
+ }
+
+ encoder->x265param.vui.bEnableColorDescriptionPresentFlag = 1;
+ encoder->x265param.vui.matrixCoeffs =
+ gst_video_color_matrix_to_iso (info->colorimetry.matrix);
+ encoder->x265param.vui.colorPrimaries =
+ gst_video_color_primaries_to_iso (info->colorimetry.primaries);
+ encoder->x265param.vui.transferCharacteristics =
+ gst_video_color_transfer_to_iso (info->colorimetry.transfer);
+
if (encoder->qp != -1) {
/* CQP */
encoder->x265param.rc.qp = encoder->qp;