[x264-devel] Add support for new VUI parameters
Anton Mitrofanov
git at videolan.org
Mon Jun 13 23:44:54 CEST 2016
x264 | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Wed Jun 8 22:46:17 2016 +0300| [7c9c687d8062f72b3ec300de8997bdae8277a741] | committer: Henrik Gramner
Add support for new VUI parameters
Support the new color primaries, transfer characteristics, and matrix
coefficients defined in the 2016-02 edition of the H.264 specification.
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=7c9c687d8062f72b3ec300de8997bdae8277a741
---
encoder/set.c | 6 +++---
x264.c | 8 +++++---
x264.h | 8 +++++---
3 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/encoder/set.c b/encoder/set.c
index 3599065..a3a550c 100644
--- a/encoder/set.c
+++ b/encoder/set.c
@@ -196,9 +196,9 @@ void x264_sps_init( x264_sps_t *sps, int i_id, x264_param_t *param )
( csp >= X264_CSP_BGR ? 1 : 0 ) );
sps->vui.b_color_description_present = 0;
- sps->vui.i_colorprim = ( param->vui.i_colorprim >= 0 && param->vui.i_colorprim <= 9 ? param->vui.i_colorprim : 2 );
- sps->vui.i_transfer = ( param->vui.i_transfer >= 0 && param->vui.i_transfer <= 15 ? param->vui.i_transfer : 2 );
- sps->vui.i_colmatrix = ( param->vui.i_colmatrix >= 0 && param->vui.i_colmatrix <= 10 ? param->vui.i_colmatrix :
+ sps->vui.i_colorprim = ( param->vui.i_colorprim >= 0 && param->vui.i_colorprim <= 12 ? param->vui.i_colorprim : 2 );
+ sps->vui.i_transfer = ( param->vui.i_transfer >= 0 && param->vui.i_transfer <= 17 ? param->vui.i_transfer : 2 );
+ sps->vui.i_colmatrix = ( param->vui.i_colmatrix >= 0 && param->vui.i_colmatrix <= 11 ? param->vui.i_colmatrix :
( csp >= X264_CSP_BGR ? 0 : 2 ) );
if( sps->vui.i_colorprim != 2 ||
sps->vui.i_transfer != 2 ||
diff --git a/x264.c b/x264.c
index b952071..1894a45 100644
--- a/x264.c
+++ b/x264.c
@@ -845,17 +845,19 @@ static void help( x264_param_t *defaults, int longhelp )
" - %s\n", range_names[0], stringify_names( buf, range_names ) );
H2( " --colorprim <string> Specify color primaries [\"%s\"]\n"
" - undef, bt709, bt470m, bt470bg, smpte170m,\n"
- " smpte240m, film, bt2020\n",
+ " smpte240m, film, bt2020, smpte428,\n"
+ " smpte431, smpte432\n",
strtable_lookup( x264_colorprim_names, defaults->vui.i_colorprim ) );
H2( " --transfer <string> Specify transfer characteristics [\"%s\"]\n"
" - undef, bt709, bt470m, bt470bg, smpte170m,\n"
" smpte240m, linear, log100, log316,\n"
" iec61966-2-4, bt1361e, iec61966-2-1,\n"
- " bt2020-10, bt2020-12\n",
+ " bt2020-10, bt2020-12, smpte2084, smpte428\n",
strtable_lookup( x264_transfer_names, defaults->vui.i_transfer ) );
H2( " --colormatrix <string> Specify color matrix setting [\"%s\"]\n"
" - undef, bt709, fcc, bt470bg, smpte170m,\n"
- " smpte240m, GBR, YCgCo, bt2020nc, bt2020c\n",
+ " smpte240m, GBR, YCgCo, bt2020nc, bt2020c,\n"
+ " smpte2085\n",
strtable_lookup( x264_colmatrix_names, defaults->vui.i_colmatrix ) );
H2( " --chromaloc <integer> Specify chroma sample location (0 to 5) [%d]\n",
defaults->vui.i_chroma_loc );
diff --git a/x264.h b/x264.h
index 5581ab9..2b59b92 100644
--- a/x264.h
+++ b/x264.h
@@ -209,10 +209,12 @@ static const char * const x264_b_pyramid_names[] = { "none", "strict", "normal",
static const char * const x264_overscan_names[] = { "undef", "show", "crop", 0 };
static const char * const x264_vidformat_names[] = { "component", "pal", "ntsc", "secam", "mac", "undef", 0 };
static const char * const x264_fullrange_names[] = { "off", "on", 0 };
-static const char * const x264_colorprim_names[] = { "", "bt709", "undef", "", "bt470m", "bt470bg", "smpte170m", "smpte240m", "film", "bt2020", 0 };
+static const char * const x264_colorprim_names[] = { "", "bt709", "undef", "", "bt470m", "bt470bg", "smpte170m", "smpte240m", "film", "bt2020", "smpte428",
+ "smpte431", "smpte432", 0 };
static const char * const x264_transfer_names[] = { "", "bt709", "undef", "", "bt470m", "bt470bg", "smpte170m", "smpte240m", "linear", "log100", "log316",
- "iec61966-2-4", "bt1361e", "iec61966-2-1", "bt2020-10", "bt2020-12", 0 };
-static const char * const x264_colmatrix_names[] = { "GBR", "bt709", "undef", "", "fcc", "bt470bg", "smpte170m", "smpte240m", "YCgCo", "bt2020nc", "bt2020c", 0 };
+ "iec61966-2-4", "bt1361e", "iec61966-2-1", "bt2020-10", "bt2020-12", "smpte2084", "smpte428", 0 };
+static const char * const x264_colmatrix_names[] = { "GBR", "bt709", "undef", "", "fcc", "bt470bg", "smpte170m", "smpte240m", "YCgCo", "bt2020nc", "bt2020c",
+ "smpte2085", 0 };
static const char * const x264_nal_hrd_names[] = { "none", "vbr", "cbr", 0 };
/* Colorspace type */
More information about the x264-devel
mailing list