From 5d560d38deca1e4705e6d3784d737363b9c830fe Mon Sep 17 00:00:00 2001 From: Neil Birkbeck Date: Wed, 15 Jun 2016 14:25:00 -0400 Subject: [PATCH] pixfmt: Add ARIB STD-B76 color transfer characteristic Adding hybrid log-gamma (https://en.wikipedia.org/wiki/Hybrid_Log-Gamma) based on the standardization in ARIB STD-B67: http://www.arib.or.jp/english/html/overview/doc/2-STD-B67v1_0.pdf The choice of enum value of 18 is consistent with HEVC: http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=10481 And also with latest proposal for color format in mkv: https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal Signed-off-by: Vittorio Giovara --- libavcodec/options_table.h | 1 + libavcodec/version.h | 2 +- libavutil/pixdesc.c | 1 + libavutil/pixfmt.h | 1 + libavutil/version.h | 2 +- 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index d2f6269201..5c788eddaa 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -453,6 +453,7 @@ static const AVOption avcodec_options[] = { {"bt2020_12bit", "BT.2020 - 12 bit", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_TRC_BT2020_12 }, INT_MIN, INT_MAX, V|E|D, "color_trc_type"}, {"smptest2084", "SMPTE ST 2084", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_TRC_SMPTEST2084 }, INT_MIN, INT_MAX, V|E|D, "color_trc_type"}, {"smptest428_1", "SMPTE ST 428-1", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_TRC_SMPTEST428_1 }, INT_MIN, INT_MAX, V|E|D, "color_trc_type"}, +{"arib-std-b67", "ARIB STD-B67", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_TRC_ARIB_STD_B67 }, INT_MIN, INT_MAX, V|E|D, "color_trc_type"}, {"colorspace", "color space", OFFSET(colorspace), AV_OPT_TYPE_INT, {.i64 = AVCOL_SPC_UNSPECIFIED }, 0, AVCOL_SPC_NB-1, V|E|D, "colorspace_type"}, {"rgb", "RGB", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_SPC_RGB }, INT_MIN, INT_MAX, V|E|D, "colorspace_type"}, {"bt709", "BT.709", 0, AV_OPT_TYPE_CONST, {.i64 = AVCOL_SPC_BT709 }, INT_MIN, INT_MAX, V|E|D, "colorspace_type"}, diff --git a/libavcodec/version.h b/libavcodec/version.h index 4f6e058830..3f36d69bc4 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 57 #define LIBAVCODEC_VERSION_MINOR 22 -#define LIBAVCODEC_VERSION_MICRO 0 +#define LIBAVCODEC_VERSION_MICRO 1 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index 7a53ba33a9..209d10773b 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -1634,6 +1634,7 @@ static const char *color_transfer_names[] = { [AVCOL_TRC_BT2020_12] = "bt2020-20", [AVCOL_TRC_SMPTEST2084] = "smptest2084", [AVCOL_TRC_SMPTEST428_1] = "smptest428-1", + [AVCOL_TRC_ARIB_STD_B67] = "arib-std-b67", }; static const char *color_space_names[] = { diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 5c7f468619..621c9ac2f3 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -324,6 +324,7 @@ enum AVColorTransferCharacteristic { AVCOL_TRC_BT2020_12 = 15, ///< ITU-R BT2020 for 12-bit system AVCOL_TRC_SMPTEST2084 = 16, ///< SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems AVCOL_TRC_SMPTEST428_1 = 17, ///< SMPTE ST 428-1 + AVCOL_TRC_ARIB_STD_B67 = 18, ///< ARIB STD-B67, known as "Hybrid log-gamma" AVCOL_TRC_NB, ///< Not part of ABI }; diff --git a/libavutil/version.h b/libavutil/version.h index 48a5878325..7ea434e4b9 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -54,7 +54,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 55 -#define LIBAVUTIL_VERSION_MINOR 13 +#define LIBAVUTIL_VERSION_MINOR 14 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \