[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 25 09:42:13 CEST 2020


Hi Aruna,

Please find attached the updated patch with the review comments
incorporated.

Thanks & Regards,
Praveen

On Mon, May 4, 2020 at 4:56 PM Praveen Kumar Karadugattu <
praveenkumar at multicorewareinc.com> wrote:

> Hi Aruna,
>
> I have incorporated the changes and the updated patch is sent in the
> previous email in this thread. Please check and push the same.
>
> Thanks & Regards,
> Praveen
>
> On Mon, May 4, 2020 at 4:55 PM Praveen Kumar Karadugattu <
> praveenkumar at multicorewareinc.com> wrote:
>
>> 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/20200525/9578b490/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: 29120 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20200525/9578b490/attachment-0001.obj>


More information about the x265-devel mailing list