<div dir="ltr"><div dir="ltr"><div>From 951411943ed54043c2111f4a09419cbc77e5f0fd Mon Sep 17 00:00:00 2001<br>From: Praveen Karadugattu <<a href="mailto:praveenkumar@multicorewareinc.com">praveenkumar@multicorewareinc.com</a>><br>Date: Mon, 4 May 2020 16:50:14 +0530<br>Subject: [PATCH] Fixed some of the wrongly represented cli parameters in the<br> docs related to --colormatrix and --videoformat.</div><div>---<br> doc/reST/cli.rst | 112 ++++++++++++++++++++++++------------------------<br> source/CMakeLists.txt | 2 +-<br> source/common/param.cpp | 12 +++---<br> source/x265cli.cpp | 12 +++---<br> 4 files changed, 69 insertions(+), 69 deletions(-)</div><div>diff --git a/doc/reST/cli.rst b/doc/reST/cli.rst<br>index 1e2765d..524714a 100644<br>--- a/doc/reST/cli.rst<br>+++ b/doc/reST/cli.rst<br>@@ -141,7 +141,7 @@ Logging/Statistic Options<br> **Residual Energy** Average residual energy. SSE is calculated on fenc <br> and pred(before quantization).<br> <br>- **Luma/Chroma Values** minumum, maximum and average(averaged by area)<br>+ **Luma/Chroma Values** minimum, maximum and average(averaged by area)<br> luma and chroma values of source for each frame.<br> <br> **PU Statistics** percentage of PU modes at each depth.<br>@@ -246,7 +246,7 @@ Performance Options<br> <br> .. option:: --pools <string>, --numa-pools <string><br> <br>- Comma seperated list of threads per NUMA node. If "none", then no worker<br>+ Comma separated list of threads per NUMA node. If "none", then no worker<br> pools are created and only frame parallelism is possible. If NULL or ""<br> (default) x265 will use all available threads on each NUMA node::<br> <br>@@ -284,7 +284,7 @@ Performance Options<br> the last thread pool is spawned only if it has more than 32 threads for<br> 64-bit machines, or 16 for 32-bit machines. If the total number of threads<br> in the system doesn't obey this constraint, we may spawn fewer threads<br>- than cores which has been emperically shown to be better for performance. <br>+ than cores which has been empirically shown to be better for performance. <br> <br> If the four pool features: :option:`--wpp`, :option:`--pmode`,<br> :option:`--pme` and :option:`--lookahead-slices` are all disabled,<br>@@ -409,7 +409,7 @@ Performance Options<br> <br> Allow encoder to copy input x265 pictures to internal frame buffers. When disabled,<br> x265 will not make an internal copy of the input picture and will work with the<br>- application's buffers. While this allows for deeper integration, it is the responsbility<br>+ application's buffers. While this allows for deeper integration, it is the responsibility<br> of the application to (a) ensure that the allocated picture has extra space for padding<br> that will be done by the library, and (b) the buffers aren't recycled until the library<br> has completed encoding this frame (which can be figured out by tracking NALs output by x265)<br>@@ -554,7 +554,7 @@ frame counts) are only applicable to the CLI application.<br> <br> .. option:: --chunk-start <integer><br> <br>- First frame of the chunk. Frames preceeding this in display order will<br>+ First frame of the chunk. Frames preceding this in display order will<br> be encoded, however, they will be discarded in the bitstream. This<br> feature can be enabled only in closed GOP structures.<br> Default 0 (disabled).<br>@@ -562,7 +562,7 @@ frame counts) are only applicable to the CLI application.<br> .. option:: --chunk-end <integer><br> <br> Last frame of the chunk. Frames following this in display order will be<br>- used in taking lookahead decisions, but, they will not be encoded.<br>+ used in taking lookahead decisions, but they will not be encoded.<br> This feature can be enabled only in closed GOP structures.<br> Default 0 (disabled).<br> <br>@@ -638,7 +638,7 @@ Profile, Level, Tier<br> If :option:`--level-idc` has been specified, --high-tier allows the<br> support of high tier at that level. The encoder will first attempt to encode <br> at the specified level, main tier first, turning on high tier only if <br>- necessary and available at that level.If your requested level does not <br>+ necessary and available at that level. If your requested level does not <br> support a High tier, high tier will not be supported. If --no-high-tier <br> has been specified, then the encoder will attempt to encode only at the main tier.<br> <br>@@ -647,8 +647,8 @@ Profile, Level, Tier<br> .. option:: --ref <1..16><br> <br> Max number of L0 references to be allowed. This number has a linear<br>- multiplier effect on the amount of work performed in motion search,<br>- but will generally have a beneficial affect on compression and<br>+ multiplier effect on the amount of work performed in motion search<br>+ but will generally have a beneficial effect on compression and<br> distortion.<br> <br> Note that x265 allows up to 16 L0 references but the HEVC<br>@@ -668,7 +668,7 @@ Profile, Level, Tier<br> .. option:: --allow-non-conformance, --no-allow-non-conformance<br> <br> Allow libx265 to generate a bitstream with profile and level NONE.<br>- By default it will abort any encode which does not meet strict level<br>+ By default, it will abort any encode which does not meet strict level<br> compliance. The two most likely causes for non-conformance are<br> :option:`--ctu` being too small, :option:`--ref` being too high,<br> or the bitrate or resolution being out of specification.<br>@@ -727,7 +727,7 @@ Mode decision / Analysis<br> used. The lower the value the faster the encode, the higher the<br> value the smaller the bitstream (in general). Default 3<br> <br>- Note that this table aims for accuracy, but is not necessarily our<br>+ Note that this table aims for accuracy but is not necessarily our<br> final target behavior for each mode.<br> <br> +-------+---------------------------------------------------------------+<br>@@ -758,7 +758,7 @@ the prediction quad-tree.<br> <br> Maximum CU size (width and height). The larger the maximum CU size,<br> the more efficiently x265 can encode flat areas of the picture,<br>- giving large reductions in bitrate. However this comes at a loss of<br>+ giving large reductions in bitrate. However, this comes at a loss of<br> parallelism with fewer rows of CUs that can be encoded in parallel,<br> and less frame parallelism as well. Because of this the faster<br> presets use a CU size of 32. Default: 64<br>@@ -799,7 +799,7 @@ the prediction quad-tree.<br> <br> For all non-zero values of limit-refs, the current depth will evaluate<br> intra mode (in inter slices), only if intra mode was chosen as the best<br>- mode for atleast one of the 4 sub-blocks.<br>+ mode for at least one of the 4 sub-blocks.<br> <br> You can often increase the number of references you are using<br> (within your decoder level limits) if you enable one or<br>@@ -858,9 +858,9 @@ the prediction quad-tree.<br> +----------+------------+----------------------------------------------------------------+<br> | 5 - 6 | 1 | Comparison with inter2Nx2N. |<br> +----------+------------+----------------------------------------------------------------+<br>- | 0 - 6 | 2 | CU edge denstiy. |<br>+ | 0 - 6 | 2 | CU edge density. |<br> +----------+------------+----------------------------------------------------------------+<br>- | 0 - 6 | 3 | CU edge denstiy with forceful skip for lower levels of CTU. |<br>+ | 0 - 6 | 3 | CU edge density with forceful skip for lower levels of CTU. |<br> +----------+------------+----------------------------------------------------------------+<br> <br> Provides minimal quality degradation at good performance gains for non-zero modes.<br>@@ -928,7 +928,7 @@ will not reuse analysis if slice type parameters do not match.<br> <br> .. option:: --analysis-load <filename><br> <br>- Encoder reuses analysis information from the file specified. By reading the analysis data writen by<br>+ Encoder reuses analysis information from the file specified. By reading the analysis data written by<br> an earlier encode of the same sequence, substantial redundant work may be avoided. Requires cutree, pmode<br> to be off. Default disabled.<br> <br>@@ -1082,7 +1082,7 @@ as the residual quad-tree (RQT).<br> <br> Note that when the CU intra prediction is NxN (only possible with<br> 8x8 CUs), a TU split is implied, and thus the residual quad-tree<br>- begins at 4x4 and cannot split any futhrer.<br>+ begins at 4x4 and cannot split any further.<br> <br> .. option:: --tu-inter-depth <1..4><br> <br>@@ -1101,7 +1101,7 @@ as the residual quad-tree (RQT).<br> Enables early exit from TU depth recursion, for inter coded blocks.<br> <br> Level 1 - decides to recurse to next higher depth based on cost <br>- comparison of full size TU and split TU.<br>+ comparison of full-size TU and split TU.<br> <br> Level 2 - based on first split subTU's depth, limits recursion of<br> other split subTUs.<br>@@ -1109,13 +1109,13 @@ as the residual quad-tree (RQT).<br> Level 3 - based on the average depth of the co-located and the neighbor<br> CUs' TU depth, limits recursion of the current CU.<br> <br>- Level 4 - uses the depth of the neighbouring/ co-located CUs TU depth <br>+ Level 4 - uses the depth of the neighboring/ co-located CUs TU depth <br> to limit the 1st subTU depth. The 1st subTU depth is taken as the <br> limiting depth for the other subTUs.<br> <br> Enabling levels 3 or 4 may cause a mismatch in the output bitstreams <br> between :option:`--analysis-save` and :option:`--analysis-load`<br>- as all neighbouring CUs TU depth may not be available in the <br>+ as all neighboring CUs TU depth may not be available in the <br> :option:`--analysis-load` run as only the best mode's information is <br> available to it.<br> <br>@@ -1216,14 +1216,14 @@ Temporal / motion search options<br> Motion search method. Generally, the higher the number the harder<br> the ME method will try to find an optimal match. Diamond search is<br> the simplest. Hexagon search is a little better. Uneven<br>- Multi-Hexegon is an adaption of the search method used by x264 for<br>- slower presets. Star is a three step search adapted from the HM<br>+ Multi-Hexagon is an adaption of the search method used by x264 for<br>+ slower presets. Star is a three-step search adapted from the HM<br> encoder: a star-pattern search followed by an optional radix scan<br> followed by an optional star-search refinement. Full is an<br> exhaustive search; an order of magnitude slower than all other<br> searches but not much better than umh or star. SEA is similar to<br> x264's ESA implementation and a speed optimization of full search.<br>- It is a three step motion search where the DC calculation is<br>+ It is a three-step motion search where the DC calculation is<br> followed by ADS calculation followed by SAD of the passed motion<br> vector candidates.<br> <br>@@ -1262,7 +1262,7 @@ Temporal / motion search options<br> At --subme values larger than 2, chroma residual cost is included<br> in all subpel refinement steps and chroma residual is included in<br> all motion estimation decisions (selecting the best reference<br>- picture in each list, and chosing between merge, uni-directional<br>+ picture in each list, and choosing between merge, uni-directional<br> motion and bi-directional motion). The 'slow' preset is the first<br> preset to enable the use of chroma residual.<br> <br>@@ -1356,7 +1356,7 @@ the rate distortion algorithm.<br> do not match the visual energy of the source block. The higher the<br> strength of :option:`--psy-rd` the more strongly it will favor similar<br> energy over blur and the more aggressively it will ignore rate<br>-distortion. If it is too high, it will introduce visal artifacts and<br>+distortion. If it is too high, it will introduce visual artifacts and<br> increase bitrate enough for rate control to increase quantization<br> globally, reducing overall quality. psy-rd will tend to reduce the use<br> of blurred prediction modes, like DC and planar intra and bi-directional<br>@@ -1366,11 +1366,11 @@ inter prediction.<br> rate-distortion optimized quantization (RDO quant), enabled by<br> :option:`--rdoq-level` 1 or 2, favoring the preservation of energy in the<br> reconstructed image. :option:`--psy-rdoq` prevents RDOQ from blurring<br>-all of the encoding options which psy-rd has to chose from. At low<br>+all of the encoding options which psy-rd has to choose from. At low<br> strength levels, psy-rdoq will influence the quantization level<br> decisions, favoring higher AC energy in the reconstructed image. As<br> psy-rdoq strength is increased, more non-zero coefficient levels are<br>-added and fewer coefficients are zeroed by RDOQ's rate distortion<br>+added, and fewer coefficients are zeroed by RDOQ's rate distortion<br> analysis. High levels of psy-rdoq can double the bitrate which can have<br> a drastic effect on rate control, forcing higher overall QP, and can<br> cause ringing artifacts. psy-rdoq is less accurate than psy-rd, it is<br>@@ -1394,16 +1394,16 @@ see temporal artifacts (motion judder). This is caused when the encoder<br> is forced to code skip blocks (no residual) in areas of difficult motion<br> because it is the best option psycho-visually (they have great amounts<br> of energy and no residual cost). One can lower psy-rd settings when<br>-judder is happening, and allow the encoder to use some blur in these<br>+judder is happening and allow the encoder to use some blur in these<br> areas of high motion.<br> <br> In 444, chroma gets twice as much resolution, so halve the quality when psy-rd is enabled.<br>-So when psy-rd is enabled for 444 videos, cbQpOffset and crQpOffset are set to value 6,<br>+So, when psy-rd is enabled for 444 videos, cbQpOffset and crQpOffset are set to value 6,<br> if they are not explicitly set.<br> <br> .. option:: --psy-rd <float><br> <br>- Influence rate distortion optimizated mode decision to preserve the<br>+ Influence rate distortion optimized mode decision to preserve the<br> energy of the source image in the encoded image at the expense of<br> compression efficiency. It only has effect on presets which use<br> RDO-based mode decisions (:option:`--rd` 3 and above). 1.0 is a<br>@@ -1501,7 +1501,7 @@ Slice decision options<br> Number of frames for slice-type decision lookahead (a key<br> determining factor for encoder latency). The longer the lookahead<br> buffer the more accurate scenecut decisions will be, and the more<br>- effective cuTree will be at improving adaptive quant. Having a<br>+ effective cutree will be at improving adaptive quant. Having a<br> lookahead larger than the max keyframe interval is not helpful.<br> Default 20<br> <br>@@ -1510,7 +1510,7 @@ Slice decision options<br> .. option:: --gop-lookahead <integer><br> <br> Number of frames for GOP boundary decision lookahead. If a scenecut frame is found<br>- within this from the gop boundary set by `--keyint`, the GOP will be extented until such a point,<br>+ within this from the gop boundary set by `--keyint`, the GOP will be extended until such a point,<br> otherwise the GOP will be terminated as set by `--keyint`. Default 0.<br> <br> **Range of values:** Between 0 and (`--rc-lookahead` - mini-GOP length)<br>@@ -1629,7 +1629,7 @@ Quality, rate control and rate distortion options<br> <br> .. option:: --crf-min <0..51.0><br> <br>- Specify an lower limit to the rate factor which may be assigned to<br>+ Specify a lower limit to the rate factor which may be assigned to<br> any given frame (ensuring a min compression factor).<br> <br> .. option:: --vbv-bufsize <integer><br>@@ -1656,7 +1656,7 @@ Quality, rate control and rate distortion options<br> Initial buffer occupancy. The portion of the decode buffer which<br> must be full before the decoder will begin decoding. Determines<br> absolute maximum frame size. May be specified as a fractional value<br>- between 0 and 1, or in kbits. In other words these two option pairs<br>+ between 0 and 1, or in kbits. In other words, these two option pairs<br> are equivalent::<br> <br> --vbv-bufsize 1000 --vbv-init 900<br>@@ -1710,7 +1710,7 @@ Quality, rate control and rate distortion options<br> <br> Adaptive Quantization operating mode. Raise or lower per-block<br> quantization based on complexity analysis of the source image. The<br>- more complex the block, the more quantization is used. This offsets<br>+ more complex the block, the more quantization is used. These offsets<br> the tendency of the encoder to spend too many bits on complex areas<br> and not enough in flat areas.<br> <br>@@ -1737,8 +1737,8 @@ Quality, rate control and rate distortion options<br> Enable adaptive quantization<br> It scales the quantization step size according to the spatial activity of one<br> coding unit relative to frame average spatial activity. This AQ method utilizes<br>- the minimum variance of sub-unit in each coding unit to represent the coding<br>- unit’s spatial complexity.<br>+ the minimum variance of sub-unit in each coding unit to represent the spatial <br>+ complexity of the coding unit.<br> <br> .. option:: --qp-adaptation-range<br> <br>@@ -1938,7 +1938,7 @@ Quality, rate control and rate distortion options<br> <br> The frame number indicates the beginning of a zone. The options <br> following this is applied until another zone begins. The reconfigurable <br>- options can be spcified as --<feature name> <feature value><br>+ options can be specified as --<feature name> <feature value><br> <br> **CLI ONLY**<br> <br>@@ -2064,7 +2064,7 @@ Loop filters<br> <br> .. option:: --sao-non-deblock, --no-sao-non-deblock<br> <br>- Specify how to handle depencency between SAO and deblocking filter.<br>+ Specify how to handle dependency between SAO and deblocking filter.<br> When enabled, non-deblocked pixels are used for SAO analysis. When<br> disabled, SAO analysis skips the right/bottom boundary areas.<br> Default disabled<br>@@ -2154,7 +2154,7 @@ VUI fields must be manually specified.<br> 2. ntsc<br> 3. secam<br> 4. mac<br>- 5. undefined<br>+ 5. unknown<br> <br> .. option:: --range <full|limited><br> <br>@@ -2207,15 +2207,15 @@ VUI fields must be manually specified.<br> Specify color matrix setting i.e set the matrix coefficients used in<br> deriving the luma and chroma. Default undefined (not signaled)<br> <br>- 0. GBR<br>+ 0. gbr<br> 1. bt709<br>- 2. undef <br>+ 2. unknown <br> 3. **reserved**<br> 4. fcc<br> 5. bt470bg<br> 6. smpte170m<br> 7. smpte240m<br>- 8. YCgCo<br>+ 8. ycgco<br> 9. bt2020nc<br> 10. bt2020c<br> 11. smpte2085<br>@@ -2285,7 +2285,7 @@ VUI fields must be manually specified.<br> .. option:: --hdr10-opt, --no-hdr10-opt<br> <br> Enable block-level luma and chroma QP optimization for HDR10 content<br>- as suggested in ITU-T H-series Recommendations – Supplement 15.<br>+ as suggested in ITU-T H-series Recommendations– Supplement 15.<br> Source video should have HDR10 characteristics such as 10-bit depth 4:2:0<br> with Bt.2020 color primaries and SMPTE ST.2084 transfer characteristics.<br> It is recommended that AQ-mode be enabled along with this feature. Default disabled.<br>@@ -2325,13 +2325,13 @@ VUI fields must be manually specified.<br> <br> Emit the alternative transfer characteristics SEI message where the integer<br> is the preferred transfer characteristics. Required for HLG (Hybrid Log Gamma)<br>- signalling. Not signalled by default.<br>+ signaling. Not signaled by default.<br> <br> .. option:: --pic-struct <integer><br> <br> Set the picture structure and emits it in the picture timing SEI message.<br> Values in the range 0..12. See D.3.3 of the HEVC spec. for a detailed explanation.<br>- Required for HLG (Hybrid Log Gamma) signalling. Not signalled by default.<br>+ Required for HLG (Hybrid Log Gamma) signaling. Not signaled by default.<br> <br> Bitstream options<br> =================<br>@@ -2362,7 +2362,7 @@ Bitstream options<br> <br> .. option:: --hrd, --no-hrd<br> <br>- Enable the signalling of HRD parameters to the decoder. The HRD<br>+ Enable the signaling of HRD parameters to the decoder. The HRD<br> parameters are carried by the Buffering Period SEI messages and<br> Picture Timing SEI messages providing timing information to the<br> decoder. Default disabled<br>@@ -2370,7 +2370,7 @@ Bitstream options<br> <br> .. option:: --hrd-concat, --no-hrd-concat<br> <br>- Set concantenation flag for the first keyframe in the HRD buffering period SEI. This<br>+ Set concatenation flag for the first keyframe in the HRD buffering period SEI. This<br> is to signal the decoder if splicing is performed during bitstream generation. <br> Recommended to enable this option during chunked encoding, except for the first chunk.<br> Default disabled.<br>@@ -2419,7 +2419,7 @@ Bitstream options<br> <br> Enable a temporal sub layer. All referenced I/P/B frames are in the<br> base layer and all unreferenced B frames are placed in a temporal<br>- enhancement layer. A decoder may chose to drop the enhancement layer <br>+ enhancement layer. A decoder may choose to drop the enhancement layer <br> and only decode and display the base layer slices.<br> <br> If used with a fixed GOP (:option:`--b-adapt` 0) and :option:`--bframes`<br>@@ -2457,7 +2457,7 @@ Bitstream options<br> .. option:: --opt-cu-delta-qp, --no-opt-cu-delta-qp<br> <br> Optimize CU level QPs by pulling up lower QPs to value close to meanQP thereby<br>- minimizing fluctuations in deltaQP signalling. Default disabled.<br>+ minimizing fluctuations in deltaQP signaling. Default disabled.<br> <br> Only effective at RD levels 5 and 6<br> <br>@@ -2476,10 +2476,10 @@ DCT Approximations<br> .. option:: --lowpass-dct<br> <br> If enabled, x265 will use low-pass subband dct approximation instead of the<br>- standard dct for 16x16 and 32x32 blocks. This approximation is less computational <br>+ standard dct for 16x16 and 32x32 blocks. This approximation is less computationally <br> intensive but it generates truncated coefficient matrixes for the transformed block. <br> Empirical analysis shows marginal loss in compression and performance gains up to 10%,<br>- paticularly at moderate bit-rates.<br>+ particularly at moderate bit-rates.<br> <br> This approximation should be considered for platforms with performance and time <br> constrains.<br>@@ -2538,7 +2538,7 @@ ABR-ladder Options<br> <br> A sample config file is available in `the downloads page <<a href="https://bitbucket.org/multicoreware/x265/downloads/Sample_ABR_ladder_config">https://bitbucket.org/multicoreware/x265/downloads/Sample_ABR_ladder_config</a>>`_<br> <br>- Default: Disabled ( Conventional single encode generation ). Experimental feature.<br>+ Default: Disabled (Conventional single encode generation). Experimental feature.<br> <br> **CLI ONLY**<br> <br>@@ -2576,8 +2576,8 @@ See section :ref:`svthevc <SvtHevc>` for more details.<br> .. option:: --svt-compressed-ten-bit-format, --no-svt-compressed-ten-bit-format<br> <br> In order to reduce the size of input YUV and to increase channel density,<br>- SVT-HEVC accetps inputs in compressed-ten-bit-format. The conversion between<br>- yuv420p10le and compressed ten bit format is a lossless operation. For more<br>+ SVT-HEVC accepts inputs in compressed-ten-bit-format. The conversion between<br>+ yuv420p10le and compressed ten-bit format is a lossless operation. For more<br> details about the conversion refer<br> `here<<a href="https://github.com/intel/SVT-HEVC/blob/master/Docs/SVT-HEVC_Encoder_User_Guide.pdf">https://github.com/intel/SVT-HEVC/blob/master/Docs/SVT-HEVC_Encoder_User_Guide.pdf</a>>'_.<br> <br>@@ -2629,7 +2629,7 @@ See section :ref:`svthevc <SvtHevc>` for more details.<br> supports Low delay(P/B) and random access prediction structure. In a low delay<br> structure, pictures within a mini-gop can only refer to the previous pictures<br> in display order. In other words, picture with display order N can only refer<br>- to pictures of display order lower than N. In random acccess method, pictures<br>+ to pictures of display order lower than N. In random access method, pictures<br> can be referenced from both the directions. It accepts values in the range<br> [0-2]<br> <br>diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt<br>index 2558d9e..1d1a613 100644<br>--- a/source/CMakeLists.txt<br>+++ b/source/CMakeLists.txt<br>@@ -29,7 +29,7 @@ option(NATIVE_BUILD "Target the build CPU" OFF)<br> option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF)<br> mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD)<br> # X265_BUILD must be incremented each time the public API is changed<br>-set(X265_BUILD 191)<br>+set(X265_BUILD 192)<br> configure_file("${PROJECT_SOURCE_DIR}/<a href="http://x265.def.in">x265.def.in</a>"<br> "${PROJECT_BINARY_DIR}/x265.def")<br> configure_file("${PROJECT_SOURCE_DIR}/<a href="http://x265_config.h.in">x265_config.h.in</a>"<br>diff --git a/source/common/param.cpp b/source/common/param.cpp<br>index 908400f..b4965ce 100644<br>--- a/source/common/param.cpp<br>+++ b/source/common/param.cpp<br>@@ -1122,7 +1122,7 @@ int x265_param_parse(x265_param* p, const char* name, const char* value)<br> p->vui.bEnableOverscanInfoPresentFlag = 1;<br> p->vui.bEnableOverscanAppropriateFlag = 1;<br> }<br>- else if (!strcmp(value, "undef"))<br>+ else if (!strcmp(value, "unknown"))<br> p->vui.bEnableOverscanInfoPresentFlag = 0;<br> else<br> bError = true;<br>@@ -1643,23 +1643,23 @@ int x265_check_params(x265_param* param)<br> "Sample Aspect Ratio height must be greater than 0");<br> CHECK(param->vui.videoFormat < 0 || param->vui.videoFormat > 5,<br> "Video Format must be component,"<br>- " pal, ntsc, secam, mac or undef");<br>+ " pal, ntsc, secam, mac or unknown");<br> CHECK(param->vui.colorPrimaries < 0<br> || param->vui.colorPrimaries > 12<br> || param->vui.colorPrimaries == 3,<br>- "Color Primaries must be undef, bt709, bt470m,"<br>+ "Color Primaries must be unknown, bt709, bt470m,"<br> " bt470bg, smpte170m, smpte240m, film, bt2020, smpte-st-428, smpte-rp-431 or smpte-eg-432");<br> CHECK(param->vui.transferCharacteristics < 0<br> || param->vui.transferCharacteristics > 18<br> || param->vui.transferCharacteristics == 3,<br>- "Transfer Characteristics must be undef, bt709, bt470m, bt470bg,"<br>+ "Transfer Characteristics must be unknown, bt709, bt470m, bt470bg,"<br> " smpte170m, smpte240m, linear, log100, log316, iec61966-2-4, bt1361e,"<br> " iec61966-2-1, bt2020-10, bt2020-12, smpte-st-2084, smpte-st-428 or arib-std-b67");<br> CHECK(param->vui.matrixCoeffs < 0<br> || param->vui.matrixCoeffs > 14<br> || param->vui.matrixCoeffs == 3,<br>- "Matrix Coefficients must be undef, bt709, fcc, bt470bg, smpte170m,"<br>- " smpte240m, GBR, YCgCo, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c or ictcp");<br>+ "Matrix Coefficients must be unknown, bt709, fcc, bt470bg, smpte170m,"<br>+ " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c or ictcp");<br> CHECK(param->vui.chromaSampleLocTypeTopField < 0<br> || param->vui.chromaSampleLocTypeTopField > 5,<br> "Chroma Sample Location Type Top Field must be 0-5");<br>diff --git a/source/x265cli.cpp b/source/x265cli.cpp<br>index 05f16b7..9772a1a 100644<br>--- a/source/x265cli.cpp<br>+++ b/source/x265cli.cpp<br>@@ -291,16 +291,16 @@ namespace X265_NS {<br> H0(" 5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11,\n");<br> 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);<br> H1(" --display-window <string> Describe overscan cropping region as 'left,top,right,bottom' in pixels\n");<br>- H1(" --overscan <string> Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef\n");<br>- H0(" --videoformat <string> Specify video format from undef, component, pal, ntsc, secam, mac. Default undef\n");<br>+ H1(" --overscan <string> Specify whether it is appropriate for decoder to show cropped region: unknown, show or crop. Default unknown\n");<br>+ H0(" --videoformat <string> Specify video format from unknown, component, pal, ntsc, secam, mac. Default unknown\n");<br> H0(" --range <string> Specify black level and range of luma and chroma signals as full or limited Default limited\n");<br> H0(" --colorprim <string> Specify color primaries from bt709, unknown, reserved, bt470m, bt470bg, smpte170m,\n");<br>- H0(" smpte240m, film, bt2020, smpte428, smpte431, smpte432. Default undef\n");<br>+ H0(" smpte240m, film, bt2020, smpte428, smpte431, smpte432. Default unknown\n");<br> H0(" --transfer <string> Specify transfer characteristics from bt709, unknown, reserved, bt470m, bt470bg, smpte170m,\n");<br> H0(" smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,\n");<br>- H0(" bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67. Default undef\n");<br>- H1(" --colormatrix <string> Specify color matrix setting from undef, bt709, fcc, bt470bg, smpte170m,\n");<br>- H1(" smpte240m, GBR, YCgCo, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp. Default undef\n");<br>+ H0(" bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67. Default unknown\n");<br>+ H1(" --colormatrix <string> Specify color matrix setting from unknown, bt709, fcc, bt470bg, smpte170m,\n");<br>+ H1(" smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp. Default unknown\n");<br> H1(" --chromaloc <integer> Specify chroma sample location (0 to 5). Default of %d\n", param->vui.chromaSampleLocTypeTopField);<br> H0(" --master-display <string> SMPTE ST 2086 master display color volume info SEI (HDR)\n");<br> H0(" format: G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)\n");<br>-- <br>1.8.3.1</div><div><br></div></div></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Thu, Apr 30, 2020 at 3:07 PM Praveen Kumar Karadugattu <<a href="mailto:praveenkumar@multicorewareinc.com">praveenkumar@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div>Hi Aruna,<br><br>Thanks for the review. Please find my response in-lined below. I will re-send the patch incorporating the changes suggested.<br><br>Regards,</div><div dir="ltr">Praveen<br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Thu, Apr 23, 2020 at 4:11 PM Aruna Matheswaran <<a href="mailto:aruna@multicorewareinc.com" target="_blank">aruna@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Mon, Apr 20, 2020 at 10:38 AM Praveen Kumar Karadugattu <<a href="mailto:praveenkumar@multicorewareinc.com" target="_blank">praveenkumar@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div dir="ltr"><div>From 9207e6db602ea218aca7d03075339009429280ef Mon Sep 17 00:00:00 2001<br>From: Praveen Karadugattu <<a href="mailto:praveenkumar@multicorewareinc.com" target="_blank">praveenkumar@multicorewareinc.com</a>><br>Date: Fri, 17 Apr 2020 19:59:03 +0530<br>Subject: [PATCH] Fixed some of the wrongly represented cli parameters in the<br> docs related to --colormatrix and --videoformat.</div><div>---<br> doc/reST/cli.rst | 8 ++++----<br> source/common/param.cpp | 12 ++++++------<br> source/x265cli.cpp | 6 +++---<br> 3 files changed, 13 insertions(+), 13 deletions(-)</div><div>diff --git a/doc/reST/cli.rst b/doc/reST/cli.rst<br>index 1e2765d..0fad45b 100644<br>--- a/doc/reST/cli.rst<br>+++ b/doc/reST/cli.rst<br>@@ -2154,7 +2154,7 @@ VUI fields must be manually specified.<br> 2. ntsc<br> 3. secam<br> 4. mac<br>- 5. undefined<br>+ 5. unknown<br> <br> .. option:: --range <full|limited><br> <br>@@ -2207,15 +2207,15 @@ VUI fields must be manually specified.<br> Specify color matrix setting i.e set the matrix coefficients used in<br> deriving the luma and chroma. Default undefined (not signaled)<br> <br>- 0. GBR<br>+ 0. gbr<br> 1. bt709<br>- 2. undef <br>+ 2. unknown <br> 3. **reserved**<br> 4. fcc<br> 5. bt470bg<br> 6. smpte170m<br> 7. smpte240m<br>- 8. YCgCo<br>+ 8. ycgco<br> 9. bt2020nc<br> 10. bt2020c<br> 11. smpte2085<br>diff --git a/source/common/param.cpp b/source/common/param.cpp<br>index 908400f..b4965ce 100644<br>--- a/source/common/param.cpp<br>+++ b/source/common/param.cpp<br>@@ -1122,7 +1122,7 @@ int x265_param_parse(x265_param* p, const char* name, const char* value)<br> p->vui.bEnableOverscanInfoPresentFlag = 1;<br> p->vui.bEnableOverscanAppropriateFlag = 1;<br> }<br>- else if (!strcmp(value, "undef"))<br>+ else if (!strcmp(value, "unknown"))<br></div></div></div></blockquote><div>[AM] You are changing the API here. Please update X265_BUILD. </div><div>btw, there is no discrepancy between CLI values and the document of the "overscan" option.</div><div>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?</div></div></div></blockquote><div><font color="#990000">[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.</font><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div dir="ltr"><div> p->vui.bEnableOverscanInfoPresentFlag = 0;<br> else<br> bError = true;<br>@@ -1643,23 +1643,23 @@ int x265_check_params(x265_param* param)<br> "Sample Aspect Ratio height must be greater than 0");<br> CHECK(param->vui.videoFormat < 0 || param->vui.videoFormat > 5,<br> "Video Format must be component,"<br>- " pal, ntsc, secam, mac or undef");<br>+ " pal, ntsc, secam, mac or unknown");<br> CHECK(param->vui.colorPrimaries < 0<br> || param->vui.colorPrimaries > 12<br> || param->vui.colorPrimaries == 3,<br>- "Color Primaries must be undef, bt709, bt470m,"<br>+ "Color Primaries must be unknown, bt709, bt470m,"<br> " bt470bg, smpte170m, smpte240m, film, bt2020, smpte-st-428, smpte-rp-431 or smpte-eg-432");<br> CHECK(param->vui.transferCharacteristics < 0<br> || param->vui.transferCharacteristics > 18<br> || param->vui.transferCharacteristics == 3,<br>- "Transfer Characteristics must be undef, bt709, bt470m, bt470bg,"<br>+ "Transfer Characteristics must be unknown, bt709, bt470m, bt470bg,"<br> " smpte170m, smpte240m, linear, log100, log316, iec61966-2-4, bt1361e,"<br> " iec61966-2-1, bt2020-10, bt2020-12, smpte-st-2084, smpte-st-428 or arib-std-b67");<br> CHECK(param->vui.matrixCoeffs < 0<br> || param->vui.matrixCoeffs > 14<br> || param->vui.matrixCoeffs == 3,<br>- "Matrix Coefficients must be undef, bt709, fcc, bt470bg, smpte170m,"<br>- " smpte240m, GBR, YCgCo, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c or ictcp");<br>+ "Matrix Coefficients must be unknown, bt709, fcc, bt470bg, smpte170m,"<br>+ " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c or ictcp");<br> CHECK(param->vui.chromaSampleLocTypeTopField < 0<br> || param->vui.chromaSampleLocTypeTopField > 5,<br> "Chroma Sample Location Type Top Field must be 0-5");<br>diff --git a/source/x265cli.cpp b/source/x265cli.cpp<br>index 05f16b7..4d91b99 100644<br>--- a/source/x265cli.cpp<br>+++ b/source/x265cli.cpp<br>@@ -291,8 +291,8 @@ namespace X265_NS {<br> H0(" 5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11,\n");<br> 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);<br> H1(" --display-window <string> Describe overscan cropping region as 'left,top,right,bottom' in pixels\n");<br>- H1(" --overscan <string> Specify whether it is appropriate for decoder to show cropped region: undef, show or crop. Default undef\n");<br>- H0(" --videoformat <string> Specify video format from undef, component, pal, ntsc, secam, mac. Default undef\n");<br>+ H1(" --overscan <string> Specify whether it is appropriate for decoder to show cropped region: unknown, show or crop. Default undef\n");<br>+ H0(" --videoformat <string> Specify video format from unknown, component, pal, ntsc, secam, mac. Default undef\n");<br></div></div></div></blockquote><div>[AM] Update default values in these helplines. </div></div></div></blockquote><div><font color="#990000">[PK] Ok. In addition I am making "Default undef" as "Default unknown" wherever we have a valid "unknown" as one of the options.</font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div dir="ltr"><div> H0(" --range <string> Specify black level and range of luma and chroma signals as full or limited Default limited\n");<br> H0(" --colorprim <string> Specify color primaries from bt709, unknown, reserved, bt470m, bt470bg, smpte170m,\n");<br> H0(" smpte240m, film, bt2020, smpte428, smpte431, smpte432. Default undef\n");<br>@@ -994,4 +994,4 @@ namespace X265_NS {<br> <br> #ifdef __cplusplus<br> }<br>-#endif<br>\ No newline at end of file<br>+#endif<br>-- <br>1.8.3.1</div><div><br></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="georgia, serif">Regards,</font><div><b><font face="georgia, serif">Aruna Matheswaran,</font></b></div><div><font face="georgia, serif">Video Codec Engineer,</font></div><div><font face="georgia, serif">Media & AI analytics BU,</font></div><div><span><span style="color:rgb(0,0,0);font-family:Arial;font-size:11pt;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"><span style="border:medium;width:153px;height:58px;overflow:hidden;display:inline-block"><img width="96" height="36" style="margin-top: 0px; margin-left: 0px;" src="https://lh5.googleusercontent.com/gjX5cPNIZgwUrhfqkTwQUZWztIKmmo0qs3kbwvkS5H-bDVE2ftte9pMTVnFLSjOcjYWLtfc6_OGpxW4vraLg2r5QAIf1Q3MpldFDgWtzK_gXi8ptw5B3joIbsGL6mxj-JRdjHzT5"></span></span></span><font face="georgia, serif"><br></font></div><div><span><span style="color:rgb(0,0,0);font-family:Arial;font-size:11pt;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"><span style="border:medium;width:153px;height:58px;overflow:hidden;display:inline-block"><img style="margin-top: 0px; margin-left: 0px;" src="https://lh5.googleusercontent.com/gjX5cPNIZgwUrhfqkTwQUZWztIKmmo0qs3kbwvkS5H-bDVE2ftte9pMTVnFLSjOcjYWLtfc6_OGpxW4vraLg2r5QAIf1Q3MpldFDgWtzK_gXi8ptw5B3joIbsGL6mxj-JRdjHzT5"></span></span></span><font face="georgia, serif"><br></font></div><div><font face="georgia, serif"><br></font></div></div></div></div></div></div></div></div></div></div>
</blockquote></div></div></div>
</blockquote></div>