[x265] [PATCH] Fixed some of the wrongly represented cli parameters in the docs related to --colormatrix and --videoformat.

Praveen Kumar Karadugattu praveenkumar at multicorewareinc.com
Mon May 4 13:25:13 CEST 2020


>From 951411943ed54043c2111f4a09419cbc77e5f0fd Mon Sep 17 00:00:00 2001
From: Praveen Karadugattu <praveenkumar at multicorewareinc.com>
Date: Mon, 4 May 2020 16:50:14 +0530
Subject: [PATCH] Fixed some of the wrongly represented cli parameters in the
 docs related to --colormatrix and --videoformat.
---
 doc/reST/cli.rst        | 112
++++++++++++++++++++++++------------------------
 source/CMakeLists.txt   |   2 +-
 source/common/param.cpp |  12 +++---
 source/x265cli.cpp      |  12 +++---
 4 files changed, 69 insertions(+), 69 deletions(-)
diff --git a/doc/reST/cli.rst b/doc/reST/cli.rst
index 1e2765d..524714a 100644
--- a/doc/reST/cli.rst
+++ b/doc/reST/cli.rst
@@ -141,7 +141,7 @@ Logging/Statistic Options
  **Residual Energy** Average residual energy. SSE is calculated on fenc
  and pred(before quantization).

- **Luma/Chroma Values** minumum, maximum and average(averaged by area)
+ **Luma/Chroma Values** minimum, maximum and average(averaged by area)
  luma and chroma values of source for each frame.

  **PU Statistics** percentage of PU modes at each depth.
@@ -246,7 +246,7 @@ Performance Options

 .. option:: --pools <string>, --numa-pools <string>

- Comma seperated list of threads per NUMA node. If "none", then no worker
+ Comma separated list of threads per NUMA node. If "none", then no worker
  pools are created and only frame parallelism is possible. If NULL or ""
  (default) x265 will use all available threads on each NUMA node::

@@ -284,7 +284,7 @@ Performance Options
  the last thread pool is spawned only if it has more than 32 threads for
  64-bit machines, or 16 for 32-bit machines. If the total number of threads
  in the system doesn't obey this constraint, we may spawn fewer threads
- than cores which has been emperically shown to be better for performance.
+ than cores which has been empirically shown to be better for performance.

  If the four pool features: :option:`--wpp`, :option:`--pmode`,
  :option:`--pme` and :option:`--lookahead-slices` are all disabled,
@@ -409,7 +409,7 @@ Performance Options

  Allow encoder to copy input x265 pictures to internal frame buffers. When
disabled,
  x265 will not make an internal copy of the input picture and will work
with the
- application's buffers. While this allows for deeper integration, it is
the responsbility
+ application's buffers. While this allows for deeper integration, it is
the responsibility
  of the application to (a) ensure that the allocated picture has extra
space for padding
  that will be done by the library, and (b) the buffers aren't recycled
until the library
  has completed encoding this frame (which can be figured out by tracking
NALs output by x265)
@@ -554,7 +554,7 @@ frame counts) are only applicable to the CLI
application.

 .. option:: --chunk-start <integer>

- First frame of the chunk. Frames preceeding this in display order will
+ First frame of the chunk. Frames preceding this in display order will
  be encoded, however, they will be discarded in the bitstream. This
  feature can be enabled only in closed GOP structures.
  Default 0 (disabled).
@@ -562,7 +562,7 @@ frame counts) are only applicable to the CLI
application.
 .. option:: --chunk-end <integer>

  Last frame of the chunk. Frames following this in display order will be
- used in taking lookahead decisions, but, they will not be encoded.
+ used in taking lookahead decisions, but they will not be encoded.
  This feature can be enabled only in closed GOP structures.
  Default 0 (disabled).

@@ -638,7 +638,7 @@ Profile, Level, Tier
  If :option:`--level-idc` has been specified, --high-tier allows the
  support of high tier at that level. The encoder will first attempt to
encode
  at the specified level, main tier first, turning on high tier only if
- necessary and available at that level.If your requested level does not
+ necessary and available at that level. If your requested level does not
  support a High tier, high tier will not be supported. If --no-high-tier
  has been specified, then the encoder will attempt to encode only at the
main tier.

@@ -647,8 +647,8 @@ Profile, Level, Tier
 .. option:: --ref <1..16>

  Max number of L0 references to be allowed. This number has a linear
- multiplier effect on the amount of work performed in motion search,
- but will generally have a beneficial affect on compression and
+ multiplier effect on the amount of work performed in motion search
+ but will generally have a beneficial effect on compression and
  distortion.

  Note that x265 allows up to 16 L0 references but the HEVC
@@ -668,7 +668,7 @@ Profile, Level, Tier
 .. option:: --allow-non-conformance, --no-allow-non-conformance

  Allow libx265 to generate a bitstream with profile and level NONE.
- By default it will abort any encode which does not meet strict level
+ By default, it will abort any encode which does not meet strict level
  compliance. The two most likely causes for non-conformance are
  :option:`--ctu` being too small, :option:`--ref` being too high,
  or the bitrate or resolution being out of specification.
@@ -727,7 +727,7 @@ Mode decision / Analysis
  used. The lower the value the faster the encode, the higher the
  value the smaller the bitstream (in general). Default 3

- Note that this table aims for accuracy, but is not necessarily our
+ Note that this table aims for accuracy but is not necessarily our
  final target behavior for each mode.

  +-------+---------------------------------------------------------------+
@@ -758,7 +758,7 @@ the prediction quad-tree.

  Maximum CU size (width and height). The larger the maximum CU size,
  the more efficiently x265 can encode flat areas of the picture,
- giving large reductions in bitrate. However this comes at a loss of
+ giving large reductions in bitrate. However, this comes at a loss of
  parallelism with fewer rows of CUs that can be encoded in parallel,
  and less frame parallelism as well. Because of this the faster
  presets use a CU size of 32. Default: 64
@@ -799,7 +799,7 @@ the prediction quad-tree.

  For all non-zero values of limit-refs, the current depth will evaluate
  intra mode (in inter slices), only if intra mode was chosen as the best
- mode for atleast one of the 4 sub-blocks.
+ mode for at least one of the 4 sub-blocks.

  You can often increase the number of references you are using
  (within your decoder level limits) if you enable one or
@@ -858,9 +858,9 @@ the prediction quad-tree.
  +----------+------------+----------------------------------------------------------------+
  |   5 - 6  |      1     |   Comparison with
inter2Nx2N.                                  |
  +----------+------------+----------------------------------------------------------------+
- |   0 - 6  |      2     |   CU edge
denstiy.                                             |
+ |   0 - 6  |      2     |   CU edge
density.                                             |
  +----------+------------+----------------------------------------------------------------+
- |   0 - 6  |      3     |   CU edge denstiy with forceful skip for lower
levels of CTU.  |
+ |   0 - 6  |      3     |   CU edge density with forceful skip for lower
levels of CTU.  |
  +----------+------------+----------------------------------------------------------------+

  Provides minimal quality degradation at good performance gains for
non-zero modes.
@@ -928,7 +928,7 @@ will not reuse analysis if slice type parameters do not
match.

 .. option:: --analysis-load <filename>

- Encoder reuses analysis information from the file specified. By reading
the analysis data writen by
+ Encoder reuses analysis information from the file specified. By reading
the analysis data written by
  an earlier encode of the same sequence, substantial redundant work may be
avoided. Requires cutree, pmode
  to be off. Default disabled.

@@ -1082,7 +1082,7 @@ as the residual quad-tree (RQT).

  Note that when the CU intra prediction is NxN (only possible with
  8x8 CUs), a TU split is implied, and thus the residual quad-tree
- begins at 4x4 and cannot split any futhrer.
+ begins at 4x4 and cannot split any further.

 .. option:: --tu-inter-depth <1..4>

@@ -1101,7 +1101,7 @@ as the residual quad-tree (RQT).
  Enables early exit from TU depth recursion, for inter coded blocks.

  Level 1 - decides to recurse to next higher depth based on cost
- comparison of full size TU and split TU.
+ comparison of full-size TU and split TU.

  Level 2 - based on first split subTU's depth, limits recursion of
  other split subTUs.
@@ -1109,13 +1109,13 @@ as the residual quad-tree (RQT).
  Level 3 - based on the average depth of the co-located and the neighbor
  CUs' TU depth, limits recursion of the current CU.

- Level 4 - uses the depth of the neighbouring/ co-located CUs TU depth
+ Level 4 - uses the depth of the neighboring/ co-located CUs TU depth
  to limit the 1st subTU depth. The 1st subTU depth is taken as the
  limiting depth for the other subTUs.

  Enabling levels 3 or 4 may cause a mismatch in the output bitstreams
  between :option:`--analysis-save` and :option:`--analysis-load`
- as all neighbouring CUs TU depth may not be available in the
+ as all neighboring CUs TU depth may not be available in the
  :option:`--analysis-load` run as only the best mode's information is
  available to it.

@@ -1216,14 +1216,14 @@ Temporal / motion search options
  Motion search method. Generally, the higher the number the harder
  the ME method will try to find an optimal match. Diamond search is
  the simplest. Hexagon search is a little better. Uneven
- Multi-Hexegon is an adaption of the search method used by x264 for
- slower presets. Star is a three step search adapted from the HM
+ Multi-Hexagon is an adaption of the search method used by x264 for
+ slower presets. Star is a three-step search adapted from the HM
  encoder: a star-pattern search followed by an optional radix scan
  followed by an optional star-search refinement. Full is an
  exhaustive search; an order of magnitude slower than all other
  searches but not much better than umh or star. SEA is similar to
  x264's ESA implementation and a speed optimization of full search.
-    It is a three step motion search where the DC calculation is
+    It is a three-step motion search where the DC calculation is
     followed by ADS calculation followed by SAD of the passed motion
     vector candidates.

@@ -1262,7 +1262,7 @@ Temporal / motion search options
  At --subme values larger than 2, chroma residual cost is included
  in all subpel refinement steps and chroma residual is included in
  all motion estimation decisions (selecting the best reference
- picture in each list, and chosing between merge, uni-directional
+ picture in each list, and choosing between merge, uni-directional
  motion and bi-directional motion). The 'slow' preset is the first
  preset to enable the use of chroma residual.

@@ -1356,7 +1356,7 @@ the rate distortion algorithm.
 do not match the visual energy of the source block. The higher the
 strength of :option:`--psy-rd` the more strongly it will favor similar
 energy over blur and the more aggressively it will ignore rate
-distortion. If it is too high, it will introduce visal artifacts and
+distortion. If it is too high, it will introduce visual artifacts and
 increase bitrate enough for rate control to increase quantization
 globally, reducing overall quality. psy-rd will tend to reduce the use
 of blurred prediction modes, like DC and planar intra and bi-directional
@@ -1366,11 +1366,11 @@ inter prediction.
 rate-distortion optimized quantization (RDO quant), enabled by
 :option:`--rdoq-level` 1 or 2, favoring the preservation of energy in the
 reconstructed image.  :option:`--psy-rdoq` prevents RDOQ from blurring
-all of the encoding options which psy-rd has to chose from.  At low
+all of the encoding options which psy-rd has to choose from.  At low
 strength levels, psy-rdoq will influence the quantization level
 decisions, favoring higher AC energy in the reconstructed image. As
 psy-rdoq strength is increased, more non-zero coefficient levels are
-added and fewer coefficients are zeroed by RDOQ's rate distortion
+added, and fewer coefficients are zeroed by RDOQ's rate distortion
 analysis. High levels of psy-rdoq can double the bitrate which can have
 a drastic effect on rate control, forcing higher overall QP, and can
 cause ringing artifacts. psy-rdoq is less accurate than psy-rd, it is
@@ -1394,16 +1394,16 @@ see temporal artifacts (motion judder). This is
caused when the encoder
 is forced to code skip blocks (no residual) in areas of difficult motion
 because it is the best option psycho-visually (they have great amounts
 of energy and no residual cost). One can lower psy-rd settings when
-judder is happening, and allow the encoder to use some blur in these
+judder is happening and allow the encoder to use some blur in these
 areas of high motion.

 In 444, chroma gets twice as much resolution, so halve the quality when
psy-rd is enabled.
-So when psy-rd is enabled for 444 videos, cbQpOffset and crQpOffset are
set to value 6,
+So, when psy-rd is enabled for 444 videos, cbQpOffset and crQpOffset are
set to value 6,
 if they are not explicitly set.

 .. option:: --psy-rd <float>

- Influence rate distortion optimizated mode decision to preserve the
+ Influence rate distortion optimized mode decision to preserve the
  energy of the source image in the encoded image at the expense of
  compression efficiency. It only has effect on presets which use
  RDO-based mode decisions (:option:`--rd` 3 and above). 1.0 is a
@@ -1501,7 +1501,7 @@ Slice decision options
  Number of frames for slice-type decision lookahead (a key
  determining factor for encoder latency). The longer the lookahead
  buffer the more accurate scenecut decisions will be, and the more
- effective cuTree will be at improving adaptive quant. Having a
+ effective cutree will be at improving adaptive quant. Having a
  lookahead larger than the max keyframe interval is not helpful.
  Default 20

@@ -1510,7 +1510,7 @@ Slice decision options
 .. option:: --gop-lookahead <integer>

  Number of frames for GOP boundary decision lookahead. If a scenecut frame
is found
- within this from the gop boundary set by `--keyint`, the GOP will be
extented until such a point,
+ within this from the gop boundary set by `--keyint`, the GOP will be
extended until such a point,
  otherwise the GOP will be terminated as set by `--keyint`. Default 0.

  **Range of values:** Between 0 and (`--rc-lookahead` - mini-GOP length)
@@ -1629,7 +1629,7 @@ Quality, rate control and rate distortion options

 .. option:: --crf-min <0..51.0>

- Specify an lower limit to the rate factor which may be assigned to
+ Specify a lower limit to the rate factor which may be assigned to
  any given frame (ensuring a min compression factor).

 .. option:: --vbv-bufsize <integer>
@@ -1656,7 +1656,7 @@ Quality, rate control and rate distortion options
  Initial buffer occupancy. The portion of the decode buffer which
  must be full before the decoder will begin decoding.  Determines
  absolute maximum frame size. May be specified as a fractional value
- between 0 and 1, or in kbits. In other words these two option pairs
+ between 0 and 1, or in kbits. In other words, these two option pairs
  are equivalent::

  --vbv-bufsize 1000 --vbv-init 900
@@ -1710,7 +1710,7 @@ Quality, rate control and rate distortion options

  Adaptive Quantization operating mode. Raise or lower per-block
  quantization based on complexity analysis of the source image. The
- more complex the block, the more quantization is used. This offsets
+ more complex the block, the more quantization is used. These offsets
  the tendency of the encoder to spend too many bits on complex areas
  and not enough in flat areas.

@@ -1737,8 +1737,8 @@ Quality, rate control and rate distortion options
  Enable adaptive quantization
  It scales the quantization step size according to the spatial activity of
one
  coding unit relative to frame average spatial activity. This AQ method
utilizes
- the minimum variance of sub-unit in each coding unit to represent the
coding
- unit’s spatial complexity.
+ the minimum variance of sub-unit in each coding unit to represent the
spatial
+ complexity of the coding unit.

 .. option:: --qp-adaptation-range

@@ -1938,7 +1938,7 @@ Quality, rate control and rate distortion options

  The frame number indicates the beginning of a zone. The options
  following this is applied until another zone begins. The reconfigurable
- options can be spcified as --<feature name> <feature value>
+ options can be specified as --<feature name> <feature value>

  **CLI ONLY**

@@ -2064,7 +2064,7 @@ Loop filters

 .. option:: --sao-non-deblock, --no-sao-non-deblock

- Specify how to handle depencency between SAO and deblocking filter.
+ Specify how to handle dependency between SAO and deblocking filter.
  When enabled, non-deblocked pixels are used for SAO analysis. When
  disabled, SAO analysis skips the right/bottom boundary areas.
  Default disabled
@@ -2154,7 +2154,7 @@ VUI fields must be manually specified.
  2. ntsc
  3. secam
  4. mac
- 5. undefined
+ 5. unknown

 .. option:: --range <full|limited>

@@ -2207,15 +2207,15 @@ VUI fields must be manually specified.
  Specify color matrix setting i.e set the matrix coefficients used in
  deriving the luma and chroma. Default undefined (not signaled)

- 0. GBR
+ 0. gbr
  1. bt709
- 2. undef
+ 2. unknown
  3. **reserved**
  4. fcc
  5. bt470bg
  6. smpte170m
  7. smpte240m
- 8. YCgCo
+ 8. ycgco
  9. bt2020nc
  10. bt2020c
  11. smpte2085
@@ -2285,7 +2285,7 @@ VUI fields must be manually specified.
 .. option:: --hdr10-opt, --no-hdr10-opt

  Enable block-level luma and chroma QP optimization for HDR10 content
- as suggested in ITU-T H-series Recommendations – Supplement 15.
+ as suggested in ITU-T H-series Recommendations– Supplement 15.
  Source video should have HDR10 characteristics such as 10-bit depth 4:2:0
  with Bt.2020 color primaries and SMPTE ST.2084 transfer characteristics.
  It is recommended that AQ-mode be enabled along with this feature.
Default disabled.
@@ -2325,13 +2325,13 @@ VUI fields must be manually specified.

  Emit the alternative transfer characteristics SEI message where the
integer
  is the preferred transfer characteristics. Required for HLG (Hybrid Log
Gamma)
- signalling. Not signalled by default.
+ signaling. Not signaled by default.

 .. option:: --pic-struct <integer>

  Set the picture structure and emits it in the picture timing SEI message.
  Values in the range 0..12. See D.3.3 of the HEVC spec. for a detailed
explanation.
- Required for HLG (Hybrid Log Gamma) signalling. Not signalled by default.
+ Required for HLG (Hybrid Log Gamma) signaling. Not signaled by default.

 Bitstream options
 =================
@@ -2362,7 +2362,7 @@ Bitstream options

 .. option:: --hrd, --no-hrd

- Enable the signalling of HRD parameters to the decoder. The HRD
+ Enable the signaling of HRD parameters to the decoder. The HRD
  parameters are carried by the Buffering Period SEI messages and
  Picture Timing SEI messages providing timing information to the
  decoder. Default disabled
@@ -2370,7 +2370,7 @@ Bitstream options

 .. option:: --hrd-concat, --no-hrd-concat

-    Set concantenation flag for the first keyframe in the HRD buffering
period SEI. This
+    Set concatenation flag for the first keyframe in the HRD buffering
period SEI. This
     is to signal the decoder if splicing is performed during bitstream
generation.
     Recommended to enable this option during chunked encoding, except for
the first chunk.
     Default disabled.
@@ -2419,7 +2419,7 @@ Bitstream options

  Enable a temporal sub layer. All referenced I/P/B frames are in the
  base layer and all unreferenced B frames are placed in a temporal
- enhancement layer. A decoder may chose to drop the enhancement layer
+ enhancement layer. A decoder may choose to drop the enhancement layer
  and only decode and display the base layer slices.

  If used with a fixed GOP (:option:`--b-adapt` 0) and :option:`--bframes`
@@ -2457,7 +2457,7 @@ Bitstream options
 .. option:: --opt-cu-delta-qp, --no-opt-cu-delta-qp

  Optimize CU level QPs by pulling up lower QPs to value close to meanQP
thereby
- minimizing fluctuations in deltaQP signalling. Default disabled.
+ minimizing fluctuations in deltaQP signaling. Default disabled.

  Only effective at RD levels 5 and 6

@@ -2476,10 +2476,10 @@ DCT Approximations
 .. option:: --lowpass-dct

  If enabled, x265 will use low-pass subband dct approximation instead of
the
- standard dct for 16x16 and 32x32 blocks. This approximation is less
computational
+ standard dct for 16x16 and 32x32 blocks. This approximation is less
computationally
  intensive but it generates truncated coefficient matrixes for the
transformed block.
  Empirical analysis shows marginal loss in compression and performance
gains up to 10%,
- paticularly at moderate bit-rates.
+ particularly at moderate bit-rates.

  This approximation should be considered for platforms with performance
and time
  constrains.
@@ -2538,7 +2538,7 @@ ABR-ladder Options

  A sample config file is available in `the downloads page <
https://bitbucket.org/multicoreware/x265/downloads/Sample_ABR_ladder_config
>`_

- Default: Disabled ( Conventional single encode generation ). Experimental
feature.
+ Default: Disabled (Conventional single encode generation). Experimental
feature.

  **CLI ONLY**

@@ -2576,8 +2576,8 @@ See section :ref:`svthevc <SvtHevc>` for more details.
 .. option:: --svt-compressed-ten-bit-format,
--no-svt-compressed-ten-bit-format

     In order to reduce the size of input YUV and to increase channel
density,
-    SVT-HEVC accetps inputs in compressed-ten-bit-format. The conversion
between
-    yuv420p10le and compressed ten bit format is a lossless operation. For
more
+    SVT-HEVC accepts inputs in compressed-ten-bit-format. The conversion
between
+    yuv420p10le and compressed ten-bit format is a lossless operation. For
more
     details about the conversion refer
     `here<
https://github.com/intel/SVT-HEVC/blob/master/Docs/SVT-HEVC_Encoder_User_Guide.pdf
>'_.

@@ -2629,7 +2629,7 @@ See section :ref:`svthevc <SvtHevc>` for more details.
     supports Low delay(P/B) and random access prediction structure. In a
low delay
     structure, pictures within a mini-gop can only refer to the previous
pictures
     in display order. In other words, picture with display order N can
only refer
-    to pictures of display order lower than N. In random acccess method,
pictures
+    to pictures of display order lower than N. In random access method,
pictures
     can be referenced from both the directions. It accepts values in the
range
     [0-2]

diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 2558d9e..1d1a613 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -29,7 +29,7 @@ option(NATIVE_BUILD "Target the build CPU" OFF)
 option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF)
 mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD)
 # X265_BUILD must be incremented each time the public API is changed
-set(X265_BUILD 191)
+set(X265_BUILD 192)
 configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
                "${PROJECT_BINARY_DIR}/x265.def")
 configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
diff --git a/source/common/param.cpp b/source/common/param.cpp
index 908400f..b4965ce 100644
--- a/source/common/param.cpp
+++ b/source/common/param.cpp
@@ -1122,7 +1122,7 @@ int x265_param_parse(x265_param* p, const char* name,
const char* value)
             p->vui.bEnableOverscanInfoPresentFlag = 1;
             p->vui.bEnableOverscanAppropriateFlag = 1;
         }
-        else if (!strcmp(value, "undef"))
+        else if (!strcmp(value, "unknown"))
             p->vui.bEnableOverscanInfoPresentFlag = 0;
         else
             bError = true;
@@ -1643,23 +1643,23 @@ int x265_check_params(x265_param* param)
           "Sample Aspect Ratio height must be greater than 0");
     CHECK(param->vui.videoFormat < 0 || param->vui.videoFormat > 5,
           "Video Format must be component,"
-          " pal, ntsc, secam, mac or undef");
+          " pal, ntsc, secam, mac or unknown");
     CHECK(param->vui.colorPrimaries < 0
           || param->vui.colorPrimaries > 12
           || param->vui.colorPrimaries == 3,
-          "Color Primaries must be undef, bt709, bt470m,"
+          "Color Primaries must be unknown, bt709, bt470m,"
           " bt470bg, smpte170m, smpte240m, film, bt2020, smpte-st-428,
smpte-rp-431 or smpte-eg-432");
     CHECK(param->vui.transferCharacteristics < 0
           || param->vui.transferCharacteristics > 18
           || param->vui.transferCharacteristics == 3,
-          "Transfer Characteristics must be undef, bt709, bt470m, bt470bg,"
+          "Transfer Characteristics must be unknown, bt709, bt470m,
bt470bg,"
           " smpte170m, smpte240m, linear, log100, log316, iec61966-2-4,
bt1361e,"
           " iec61966-2-1, bt2020-10, bt2020-12, smpte-st-2084,
smpte-st-428 or arib-std-b67");
     CHECK(param->vui.matrixCoeffs < 0
           || param->vui.matrixCoeffs > 14
           || param->vui.matrixCoeffs == 3,
-          "Matrix Coefficients must be undef, bt709, fcc, bt470bg,
smpte170m,"
-          " smpte240m, GBR, YCgCo, bt2020nc, bt2020c, smpte-st-2085,
chroma-nc, chroma-c or ictcp");
+          "Matrix Coefficients must be unknown, bt709, fcc, bt470bg,
smpte170m,"
+          " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085,
chroma-nc, chroma-c or ictcp");
     CHECK(param->vui.chromaSampleLocTypeTopField < 0
           || param->vui.chromaSampleLocTypeTopField > 5,
           "Chroma Sample Location Type Top Field must be 0-5");
diff --git a/source/x265cli.cpp b/source/x265cli.cpp
index 05f16b7..9772a1a 100644
--- a/source/x265cli.cpp
+++ b/source/x265cli.cpp
@@ -291,16 +291,16 @@ namespace X265_NS {
         H0("                                 5=40:33, 6=24:11, 7=20:11,
8=32:11, 9=80:33, 10=18:11, 11=15:11,\n");
         H0("                                 12=64:33, 13=160:99, 14=4:3,
15=3:2, 16=2:1 or custom ratio of <int:int>. Default %d\n",
param->vui.aspectRatioIdc);
         H1("   --display-window <string>     Describe overscan cropping
region as 'left,top,right,bottom' in pixels\n");
-        H1("   --overscan <string>           Specify whether it is
appropriate for decoder to show cropped region: undef, show or crop.
Default undef\n");
-        H0("   --videoformat <string>        Specify video format from
undef, component, pal, ntsc, secam, mac. Default undef\n");
+        H1("   --overscan <string>           Specify whether it is
appropriate for decoder to show cropped region: unknown, show or crop.
Default unknown\n");
+        H0("   --videoformat <string>        Specify video format from
unknown, component, pal, ntsc, secam, mac. Default unknown\n");
         H0("   --range <string>              Specify black level and range
of luma and chroma signals as full or limited Default limited\n");
         H0("   --colorprim <string>          Specify color primaries from
bt709, unknown, reserved, bt470m, bt470bg, smpte170m,\n");
-        H0("                                 smpte240m, film, bt2020,
smpte428, smpte431, smpte432. Default undef\n");
+        H0("                                 smpte240m, film, bt2020,
smpte428, smpte431, smpte432. Default unknown\n");
         H0("   --transfer <string>           Specify transfer
characteristics from bt709, unknown, reserved, bt470m, bt470bg,
smpte170m,\n");
         H0("                                 smpte240m, linear, log100,
log316, iec61966-2-4, bt1361e, iec61966-2-1,\n");
-        H0("                                 bt2020-10, bt2020-12,
smpte2084, smpte428, arib-std-b67. Default undef\n");
-        H1("   --colormatrix <string>        Specify color matrix setting
from undef, bt709, fcc, bt470bg, smpte170m,\n");
-        H1("                                 smpte240m, GBR, YCgCo,
bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp.
Default undef\n");
+        H0("                                 bt2020-10, bt2020-12,
smpte2084, smpte428, arib-std-b67. Default unknown\n");
+        H1("   --colormatrix <string>        Specify color matrix setting
from unknown, bt709, fcc, bt470bg, smpte170m,\n");
+        H1("                                 smpte240m, gbr, ycgco,
bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp.
Default unknown\n");
         H1("   --chromaloc <integer>         Specify chroma sample
location (0 to 5). Default of %d\n",
param->vui.chromaSampleLocTypeTopField);
         H0("   --master-display <string>     SMPTE ST 2086 master display
color volume info SEI (HDR)\n");
         H0("                                    format:
G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)\n");
-- 
1.8.3.1


On Thu, Apr 30, 2020 at 3:07 PM Praveen Kumar Karadugattu <
praveenkumar at multicorewareinc.com> wrote:

>
> Hi Aruna,
>
> Thanks for the review. Please find my response in-lined below. I will
> re-send the patch incorporating the changes suggested.
>
> Regards,
> Praveen
> On Thu, Apr 23, 2020 at 4:11 PM Aruna Matheswaran <
> aruna at multicorewareinc.com> wrote:
>
>>
>>
>> On Mon, Apr 20, 2020 at 10:38 AM Praveen Kumar Karadugattu <
>> praveenkumar at multicorewareinc.com> wrote:
>>
>>> From 9207e6db602ea218aca7d03075339009429280ef Mon Sep 17 00:00:00 2001
>>> From: Praveen Karadugattu <praveenkumar at multicorewareinc.com>
>>> Date: Fri, 17 Apr 2020 19:59:03 +0530
>>> Subject: [PATCH] Fixed some of the wrongly represented cli parameters in
>>> the
>>>  docs related to --colormatrix and --videoformat.
>>> ---
>>>  doc/reST/cli.rst        |  8 ++++----
>>>  source/common/param.cpp | 12 ++++++------
>>>  source/x265cli.cpp      |  6 +++---
>>>  3 files changed, 13 insertions(+), 13 deletions(-)
>>> diff --git a/doc/reST/cli.rst b/doc/reST/cli.rst
>>> index 1e2765d..0fad45b 100644
>>> --- a/doc/reST/cli.rst
>>> +++ b/doc/reST/cli.rst
>>> @@ -2154,7 +2154,7 @@ VUI fields must be manually specified.
>>>   2. ntsc
>>>   3. secam
>>>   4. mac
>>> - 5. undefined
>>> + 5. unknown
>>>
>>>  .. option:: --range <full|limited>
>>>
>>> @@ -2207,15 +2207,15 @@ VUI fields must be manually specified.
>>>   Specify color matrix setting i.e set the matrix coefficients used in
>>>   deriving the luma and chroma. Default undefined (not signaled)
>>>
>>> - 0. GBR
>>> + 0. gbr
>>>   1. bt709
>>> - 2. undef
>>> + 2. unknown
>>>   3. **reserved**
>>>   4. fcc
>>>   5. bt470bg
>>>   6. smpte170m
>>>   7. smpte240m
>>> - 8. YCgCo
>>> + 8. ycgco
>>>   9. bt2020nc
>>>   10. bt2020c
>>>   11. smpte2085
>>> diff --git a/source/common/param.cpp b/source/common/param.cpp
>>> index 908400f..b4965ce 100644
>>> --- a/source/common/param.cpp
>>> +++ b/source/common/param.cpp
>>> @@ -1122,7 +1122,7 @@ int x265_param_parse(x265_param* p, const char*
>>> name, const char* value)
>>>              p->vui.bEnableOverscanInfoPresentFlag = 1;
>>>              p->vui.bEnableOverscanAppropriateFlag = 1;
>>>          }
>>> -        else if (!strcmp(value, "undef"))
>>> +        else if (!strcmp(value, "unknown"))
>>>
>> [AM] You are changing the API here. Please update X265_BUILD.
>> btw, there is no discrepancy between CLI values and the document of the
>> "overscan" option.
>> Did you modify this to have uniform values across VUI options? If so, can
>> we introduce "unknown" as an alias for "undef" and deprecate "undef" in the
>> next version?
>>
> [PK] I will increment the X265_BUILD in CMakeLists.txt. "overscan" has
> "undef" option. I have made it "unknown" to maintain uniformity. Yes we
> need to deprecate "undef" and use "unknown" everywhere instead.
>
>>              p->vui.bEnableOverscanInfoPresentFlag = 0;
>>>          else
>>>              bError = true;
>>> @@ -1643,23 +1643,23 @@ int x265_check_params(x265_param* param)
>>>            "Sample Aspect Ratio height must be greater than 0");
>>>      CHECK(param->vui.videoFormat < 0 || param->vui.videoFormat > 5,
>>>            "Video Format must be component,"
>>> -          " pal, ntsc, secam, mac or undef");
>>> +          " pal, ntsc, secam, mac or unknown");
>>>      CHECK(param->vui.colorPrimaries < 0
>>>            || param->vui.colorPrimaries > 12
>>>            || param->vui.colorPrimaries == 3,
>>> -          "Color Primaries must be undef, bt709, bt470m,"
>>> +          "Color Primaries must be unknown, bt709, bt470m,"
>>>            " bt470bg, smpte170m, smpte240m, film, bt2020, smpte-st-428,
>>> smpte-rp-431 or smpte-eg-432");
>>>      CHECK(param->vui.transferCharacteristics < 0
>>>            || param->vui.transferCharacteristics > 18
>>>            || param->vui.transferCharacteristics == 3,
>>> -          "Transfer Characteristics must be undef, bt709, bt470m,
>>> bt470bg,"
>>> +          "Transfer Characteristics must be unknown, bt709, bt470m,
>>> bt470bg,"
>>>            " smpte170m, smpte240m, linear, log100, log316, iec61966-2-4,
>>> bt1361e,"
>>>            " iec61966-2-1, bt2020-10, bt2020-12, smpte-st-2084,
>>> smpte-st-428 or arib-std-b67");
>>>      CHECK(param->vui.matrixCoeffs < 0
>>>            || param->vui.matrixCoeffs > 14
>>>            || param->vui.matrixCoeffs == 3,
>>> -          "Matrix Coefficients must be undef, bt709, fcc, bt470bg,
>>> smpte170m,"
>>> -          " smpte240m, GBR, YCgCo, bt2020nc, bt2020c, smpte-st-2085,
>>> chroma-nc, chroma-c or ictcp");
>>> +          "Matrix Coefficients must be unknown, bt709, fcc, bt470bg,
>>> smpte170m,"
>>> +          " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085,
>>> chroma-nc, chroma-c or ictcp");
>>>      CHECK(param->vui.chromaSampleLocTypeTopField < 0
>>>            || param->vui.chromaSampleLocTypeTopField > 5,
>>>            "Chroma Sample Location Type Top Field must be 0-5");
>>> diff --git a/source/x265cli.cpp b/source/x265cli.cpp
>>> index 05f16b7..4d91b99 100644
>>> --- a/source/x265cli.cpp
>>> +++ b/source/x265cli.cpp
>>> @@ -291,8 +291,8 @@ namespace X265_NS {
>>>          H0("                                 5=40:33, 6=24:11, 7=20:11,
>>> 8=32:11, 9=80:33, 10=18:11, 11=15:11,\n");
>>>          H0("                                 12=64:33, 13=160:99,
>>> 14=4:3, 15=3:2, 16=2:1 or custom ratio of <int:int>. Default %d\n",
>>> param->vui.aspectRatioIdc);
>>>          H1("   --display-window <string>     Describe overscan cropping
>>> region as 'left,top,right,bottom' in pixels\n");
>>> -        H1("   --overscan <string>           Specify whether it is
>>> appropriate for decoder to show cropped region: undef, show or crop.
>>> Default undef\n");
>>> -        H0("   --videoformat <string>        Specify video format from
>>> undef, component, pal, ntsc, secam, mac. Default undef\n");
>>> +        H1("   --overscan <string>           Specify whether it is
>>> appropriate for decoder to show cropped region: unknown, show or crop.
>>> Default undef\n");
>>> +        H0("   --videoformat <string>        Specify video format from
>>> unknown, component, pal, ntsc, secam, mac. Default undef\n");
>>>
>> [AM] Update default values in these helplines.
>>
> [PK]  Ok. In addition I am making "Default  undef" as "Default unknown"
> wherever we have a valid "unknown" as one of the options.
>
>>          H0("   --range <string>              Specify black level and
>>> range of luma and chroma signals as full or limited Default limited\n");
>>>          H0("   --colorprim <string>          Specify color primaries
>>> from  bt709, unknown, reserved, bt470m, bt470bg, smpte170m,\n");
>>>          H0("                                 smpte240m, film, bt2020,
>>> smpte428, smpte431, smpte432. Default undef\n");
>>> @@ -994,4 +994,4 @@ namespace X265_NS {
>>>
>>>  #ifdef __cplusplus
>>>  }
>>> -#endif
>>> \ No newline at end of file
>>> +#endif
>>> --
>>> 1.8.3.1
>>>
>>>
>>
>> --
>> Regards,
>> *Aruna Matheswaran,*
>> Video Codec Engineer,
>> Media & AI analytics BU,
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20200504/c83a3d9f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fixed-some-of-the-wrongly-represented-cli-parameters.patch
Type: application/octet-stream
Size: 29115 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20200504/c83a3d9f/attachment-0001.obj>


More information about the x265-devel mailing list