Commit b79a3b12 authored by Alberto Gonzalez's avatar Alberto Gonzalez

Revert "Commit 7"

This reverts commit 9e8b0491
parent 9e8b0491
---
# to be used on clang-format version 14 or later
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: AcrossComments
AlignConsecutiveBitFields: AcrossComments
AlignConsecutiveDeclarations: AcrossComments
AlignConsecutiveMacros: AcrossComments
AlignEscapedNewlines: Left
AlignOperands: Align
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: No
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: true
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: false
IndentCaseBlocks: true
IndentGotoLabels: false
IndentPPDirectives: None
IndentExternBlock: NoIndent
IndentWidth: 2
IndentWrappedFunctionNames: true
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 3
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: c++17
TabWidth: 8
UseTab: Never
...
This diff is collapsed.
# EditorConfig: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Matches multiple files with brace expansion notation
# Set default indent style and size
[*.{c,cpp,cxx,h,hpp,py}]
indent_style = space
indent_size = 2
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.cpp text
*.h text
dec.yuv
rec.yuv
str.bin
/build/
/bin/
/lib/
core
deploy
*.sdf
*.suo
.vs/
.vscode/
*.blg
*.bbl
*.pyc
/out/
/doc/_minted-software-manual/
/.idea/
/cmake-build-*/
stages:
- build
.build_template:
stage: build
script:
- make realclean
- make all
only:
refs:
- master
- merge_requests
variables:
- $CI_PROJECT_URL == 'https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM'
- $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'master'
.build_template_linux:
extends: .build_template
script:
- make realclean
- make all
- make realclean
- make release high-bitdepth=true
- make realclean
- make linuxbuild enable-tracing=true
build_macos:
extends: .build_template
tags:
- macos
build_ubuntu2004:
extends: .build_template_linux
tags:
- ubuntu2004
build_ubuntu2204:
extends: .build_template_linux
tags:
- ubuntu2204
build_ubuntu2204-gcc12:
extends: .build_template
script:
- make realclean
- make all toolset=gcc-12
- make realclean
- make release high-bitdepth=true toolset=gcc-12
- make realclean
- make linuxbuild enable-tracing=true toolset=gcc-12
tags:
- ubuntu2204-gcc12
build_vc191x:
extends: .build_template
tags:
- vc191x
build_vc192x:
extends: .build_template
tags:
- vc192x
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>NextSoftware</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
<dictionary>
<key>?name?</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.append_environment</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildArguments</key>
<value>variant=debug link=static -j</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
<value>bjam.py</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
<value>install --clean-all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.contents</key>
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
<value>-q install</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.stopOnError</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
<value>false</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?><pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
</pydev_project>
This diff is collapsed.
# minimum required cmake version
cmake_minimum_required( VERSION 3.5 FATAL_ERROR )
# project name
if( EXTENSION_360_VIDEO )
project( NextSoftware360 )
else()
project( NextSoftware )
endif()
# use ccache
find_program( CCACHE_FOUND ccache )
if( CCACHE_FOUND )
message( STATUS "ccache found. using it." )
set_property( GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache )
set_property( GLOBAL PROPERTY RULE_LAUNCH_LINK ccache )
endif()
# set default CMAKE_BUILD_TYPE to Release if not set
if( NOT CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE )
endif()
if( CMAKE_SYSTEM_NAME STREQUAL "Linux" )
if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
set( USE_ADDRESS_SANITIZER OFF CACHE BOOL "Compiles with -sanitize=address and links to libasan" )
endif()
endif()
set( EXTENSION_360_VIDEO OFF CACHE BOOL "If EXTENSION_360_VIDEO is on, 360Lib will be added" )
set( EXTENSION_HDRTOOLS OFF CACHE BOOL "If EXTENSION_HDRTOOLS is on, HDRLib will be added" )
if (DEFINED ENABLE_TRACING)
set( ENABLE_TRACING OFF CACHE BOOL "ENABLE_TRACING will be set to this value" )
endif()
if (DEFINED ENABLE_HIGH_BITDEPTH)
set( ENABLE_HIGH_BITDEPTH OFF CACHE BOOL "ENABLE_HIGH_BITDEPTH will be set to this value" )
endif()
if( CMAKE_COMPILER_IS_GNUCC )
set( BUILD_STATIC OFF CACHE BOOL "Build static executables" )
endif()
# set c++17
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD_REQUIRED ON )
# compile everything position independent (even static libraries)
set( CMAKE_POSITION_INDEPENDENT_CODE TRUE )
# set verbose compile options
#set( CMAKE_VERBOSE_MAKEFILE ON )
# use folders in IDEs for projects (e.g. lib sample app test)
set_property( GLOBAL PROPERTY USE_FOLDERS ON )
# Include a utility module providing functions, macros, and settings
include( ${CMAKE_SOURCE_DIR}/cmake/CMakeBuild/cmake/modules/BBuildEnv.cmake )
# Enable warnings for some generators and toolsets.
# bb_enable_warnings( gcc warnings-as-errors -Wno-sign-compare )
# bb_enable_warnings( gcc -Wno-unused-variable )
# bb_enable_warnings( gcc-4.8 warnings-as-errors -Wno-unused-variable )
# for gcc 8.2:
bb_enable_warnings( gcc warnings-as-errors -Wno-sign-compare)
if( XCODE )
bb_enable_warnings( clang warnings-as-errors
-Wno-deprecated-declarations
-Wno-unknown-attributes
-Wno-pessimizing-move
-Wno-absolute-value
-Wno-unused-const-variable
-Wno-unused-command-line-argument )
else()
bb_enable_warnings( clang warnings-as-errors
-Wno-unknown-attributes
-Wno-pessimizing-move
-Wno-absolute-value
-Wno-unused-const-variable )
endif()
#bb_enable_warnings( clang warnings-as-errors )
# enable warnings
bb_enable_warnings( msvc warnings-as-errors "/wd4996" )
# enable sse4.1 build for all source files for gcc and clang
if( UNIX OR MINGW )
add_compile_options( "-msse4.1" )
endif()
# enable parallel build for Visual Studio
if( MSVC )
add_compile_options( "/MP" )
add_compile_options( "/EHsc" )
endif()
# set address sanitizer compiler arguments
if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
if( CMAKE_SYSTEM_NAME STREQUAL "Linux" )
if( USE_ADDRESS_SANITIZER )
# add compile options
add_compile_options( "-fsanitize=address" )
add_link_options( "-fsanitize=address" )
endif()
endif()
if( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0 )
add_compile_options( "-fabi-version=6" )
endif()
endif()
# modify .lldbinit for lldb custom data formatters
if( XCODE )
set( LLDB_INSTALL_ROOT "$ENV{HOME}/.lldb.d" )
set( LLDBINIT_FILE "$ENV{HOME}/.lldbinit" )
set( ENABLE_LLDBINIT_UPDATE ON )
# add custom target to install LLDB files.
add_subdirectory( "lldb" )
endif()
# add needed subdirectories
add_subdirectory( "source/Lib/CommonLib" )
add_subdirectory( "source/Lib/CommonAnalyserLib" )
if( EXTENSION_360_VIDEO )
add_subdirectory( "source/Lib/Lib360" )
add_subdirectory( "source/Lib/AppEncHelper360" )
endif()
if ( EXTENSION_HDRTOOLS )
add_subdirectory( "source/Lib/HDRLib")
endif()
add_subdirectory( "source/Lib/DecoderAnalyserLib" )
add_subdirectory( "source/Lib/DecoderLib" )
add_subdirectory( "source/Lib/EncoderLib" )
add_subdirectory( "source/Lib/Utilities" )
add_subdirectory( "source/App/DecoderAnalyserApp" )
add_subdirectory( "source/App/DecoderApp" )
add_subdirectory( "source/App/EncoderApp" )
add_subdirectory( "source/App/SEIRemovalApp" )
add_subdirectory( "source/App/SEIFilmGrainApp" )
add_subdirectory( "source/App/Parcat" )
add_subdirectory( "source/App/StreamMergeApp" )
add_subdirectory( "source/App/BitstreamExtractorApp" )
add_subdirectory( "source/App/SubpicMergeApp" )
if( EXTENSION_360_VIDEO )
add_subdirectory( "source/App/utils/360ConvertApp" )
endif()
The copyright in this software is being made available under the BSD
License, included below. This software may be subject to other third party
and contributor rights, including patent rights, and no such rights are
granted under this license.  
Copyright (c) 2010-2022, ITU/ISO/IEC
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the ITU/ISO/IEC nor the names of its contributors may
be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
BUILD_SCRIPT := $(CURDIR)/cmake/CMakeBuild/bin/cmake.py
# Define here a list of generic targets to be built separately using a suffix to select the variant and link option.
# Examples: <project> must be replaced by a make target defined below.
#
# How to build a single target:
# make <project>-a => build variant=debug,release,relwithdebinfo
# make <project>-r => build variant=release
# make <project>-d => build variant=debug
# make <project>-p => build variant=relwithdebinfo
#
# How to clean and build a single target:
# make <project>-ca => clean + build variant=debug,release,relwithdebinfo
# make <project>-cr => clean + build variant=release
# make <project>-cd => clean + build variant=debug
# make <project>-cp => clean + build variant=relwithdebinfo
#
TARGETS := CommonLib DecoderAnalyserApp DecoderAnalyserLib DecoderApp DecoderLib
TARGETS += EncoderApp EncoderLib Utilities SEIRemovalApp StreamMergeApp
ifeq ($(OS),Windows_NT)
ifneq ($(MSYSTEM),)
# MSYS runtime environment
UNAME_S := $(shell uname -s)
PYTHON_LAUNCHER := python3
BUILD_CMD := $(PYTHON_LAUNCHER) $(BUILD_SCRIPT)
else
UNAME_S := Windows
PY := $(wildcard c:/windows/py.*)
ifeq ($(PY),)
PYTHON_LAUNCHER := python
else
PYTHON_LAUNCHER := $(notdir $(PY))
endif
# If a plain cmake.py is used, the exit codes won't arrive in make; i.e. build failures are reported as success by make.
BUILD_CMD := $(PYTHON_LAUNCHER) $(BUILD_SCRIPT)
ifeq ($(toolset),gcc)
g := mgwmake
endif
endif
else
UNAME_S := $(shell uname -s)
BUILD_CMD := $(BUILD_SCRIPT)
ifeq ($(UNAME_S),Linux)
# for Jenkins: run trace build only on Linux
LINUXBUILD := TRUE
endif
ifeq ($(UNAME_S),Darwin)
# MAC
endif
endif
ifeq ($(j),)
BUILD_JOBS += -j
else
BUILD_JOBS += -j$(j)
endif
ifneq ($(g),)
CONFIG_OPTIONS += -g $(g)
endif
ifneq ($(toolset),)
# aarch64 and mingw are two shortcuts to simplify toolset specification.
ifeq ($(toolset),mingw)
CONFIG_OPTIONS += toolset=x86_64-w64-mingw32-gcc-posix
else
CONFIG_OPTIONS += toolset=$(toolset)
endif
endif
ifneq ($(address-model),)
CONFIG_OPTIONS += address-model=$(address-model)
endif
ifneq ($(address-sanitizer),)
CMAKE_OPTIONS += -DUSE_ADDRESS_SANITIZER=ON
endif
ifneq ($(verbose),)
CMAKE_OPTIONS += -DCMAKE_VERBOSE_MAKEFILE=ON
endif
ifneq ($(enable-tracing),)
CONFIG_OPTIONS += -DENABLE_TRACING=$(enable-tracing)
endif
ifneq ($(high-bitdepth),)
CONFIG_OPTIONS += -DENABLE_HIGH_BITDEPTH=$(high-bitdepth)
endif
ifneq ($(static),)
CONFIG_OPTIONS += -DBUILD_STATIC=$(static)
endif
BUILD_OPTIONS := $(CONFIG_OPTIONS) -b
debug:
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug
all:
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug,release,relwithdebinfo
release:
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=release
relwithdebinfo:
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=relwithdebinfo
clean:
# clean is equal to realclean to ensure that CMake options are reset
$(RM) -rf bin build lib
# $(BUILD_CMD) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug,release,relwithdebinfo --target clean
clean-r:
$(BUILD_CMD) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=release --target clean
clean-d:
$(BUILD_CMD) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug --target clean
clean-p:
$(BUILD_CMD) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=relwithdebinfo --target clean
configure:
$(BUILD_CMD) $(CONFIG_OPTIONS) $(CMAKE_OPTIONS) variant=debug,release,relwithdebinfo
linuxbuild:
ifeq ($(LINUXBUILD),TRUE)
# option for automated jenkins build
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug
endif
#
# project specific targets
#
# build the list of release, debug targets given the generic targets
TARGETS_ALL := $(foreach t,$(TARGETS),$(t)-a)
TARGETS_RELEASE := $(foreach t,$(TARGETS),$(t)-r)
TARGETS_DEBUG := $(foreach t,$(TARGETS),$(t)-d)
TARGETS_RELWITHDEBINFO := $(foreach t,$(TARGETS),$(t)-p)
TARGETS_ALL_CLEAN_FIRST := $(foreach t,$(TARGETS),$(t)-ca)
TARGETS_RELEASE_CLEAN_FIRST := $(foreach t,$(TARGETS),$(t)-cr)
TARGETS_DEBUG_CLEAN_FIRST := $(foreach t,$(TARGETS),$(t)-cd)
TARGETS_RELWITHDEBINFO_CLEAN_FIRST := $(foreach t,$(TARGETS),$(t)-cp)
$(TARGETS_ALL):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug,release,relwithdebinfo --target $(patsubst %-a,%,$@)
$(TARGETS_ALL_CLEAN_FIRST):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug,release,relwithdebinfo --clean-first --target $(patsubst %-ca,%,$@)
$(TARGETS_RELEASE):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=release --target $(patsubst %-r,%,$@)
$(TARGETS_RELEASE_CLEAN_FIRST):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=release --clean-first --target $(patsubst %-cr,%,$@)
$(TARGETS_DEBUG):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug --target $(patsubst %-d,%,$@)
$(TARGETS_DEBUG_CLEAN_FIRST):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=debug --target $(patsubst %-cd,%,$@) --clean-first
$(TARGETS_RELWITHDEBINFO):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=relwithdebinfo --target $(patsubst %-p,%,$@)
$(TARGETS_RELWITHDEBINFO_CLEAN_FIRST):
$(BUILD_CMD) $(BUILD_JOBS) $(BUILD_OPTIONS) $(CMAKE_OPTIONS) variant=relwithdebinfo --target $(patsubst %-cp,%,$@) --clean-first
realclean:
$(RM) -rf bin build lib
.NOTPARALLEL:
VTM reference software for VVC
==============================
This software package is the reference software for Rec. ITU-T H.266 | ISO/IEC 23090-3 Versatile Video Coding (VVC). The reference software includes both encoder and decoder functionality.
Reference software is useful in aiding users of a video coding standard to establish and test conformance and interoperability, and to educate users and demonstrate the capabilities of the standard. For these purposes, this software is provided as an aid for the study and implementation of Versatile Video Coding.
The software has been jointly developed by the ITU-T Video Coding Experts Group (VCEG, Question 6 of ITU-T Study Group 16) and the ISO/IEC Moving Picture Experts Group (MPEG Joint Video Coding Team(s) with ITU-T SG 16, Working Group 5 of Subcommittee 29 of ISO/IEC Joint Technical Committee 1).
A software manual, which contains usage instructions, can be found in the "doc" subdirectory of this software package.
The source code is stored in a Git repository. The most recent version can be retrieved using the following commands:
```bash
git clone https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.git
cd VVCSoftware_VTM
```
Build instructions
==================
The CMake tool is used to create platform-specific build files.
Although CMake may be able to generate 32-bit binaries, **it is generally suggested to build 64-bit binaries**. 32-bit binaries are not able to access more than 2GB of RAM, which will not be sufficient for coding larger image formats. Building in 32-bit environments is not tested and will not be supported.
Build instructions for plain CMake (suggested)
----------------------------------------------
**Note:** A working CMake installation is required for building the software.
CMake generates configuration files for the compiler environment/development environment on each platform.
The following is a list of examples for Windows (MS Visual Studio), macOS (Xcode) and Linux (make).
Open a command prompt on your system and change into the root directory of this project.
Create a build directory in the root directory:
```bash
mkdir build
```
Use one of the following CMake commands, based on your platform. Feel free to change the commands to satisfy
your needs.
**Windows Visual Studio 2015/17/19 64 Bit:**
Use the proper generator string for generating Visual Studio files, e.g. for VS 2015:
```bash
cd build
cmake .. -G "Visual Studio 14 2015 Win64"
```
Then open the generated solution file in MS Visual Studio.
For VS 2017 use "Visual Studio 15 2017 Win64", for VS 2019 use "Visual Studio 16 2019".
Visual Studio 2019 also allows you to open the CMake directory directly. Choose "File->Open->CMake" for this option.
**macOS Xcode:**
For generating an Xcode workspace type:
```bash
cd build
cmake .. -G "Xcode"
```
Then open the generated work space in Xcode.
For generating Makefiles with optional non-default compilers, use the following commands:
```bash
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc-9 -DCMAKE_CXX_COMPILER=g++-9
```
In this example the brew installed GCC 9 is used for a release build.
**Linux**
For generating Linux Release Makefile:
```bash
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
```
For generating Linux Debug Makefile:
```bash
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
Then type
```bash
make -j
```
For more details, refer to the CMake documentation: https://cmake.org/cmake/help/latest/
Build instructions for make
---------------------------
**Note:** The build instructions in this section require the make tool and Python to be installed, which are
part of usual Linux and macOS environments. See below for installation instruction for Python and GnuWin32
on Windows.
Open a command prompt on your system and change into the root directory of this project.
To use the default system compiler simply call:
```bash
make all
```
**MSYS2 and MinGW (Windows)**
**Note:** Build files for MSYS MinGW were added on request. The build platform is not regularily tested and can't be supported.
Open an MSYS MinGW 64-Bit terminal and change into the root directory of this project.
Call:
```bash
make all toolset=gcc
```
The following tools need to be installed for MSYS2 and MinGW:
Download CMake: http://www.cmake.org/ and install it.
Python and GnuWin32 are not mandatory, but they simplify the build process for the user.
python: https://www.python.org/downloads/release/python-371/
gnuwin32: https://sourceforge.net/projects/getgnuwin32/files/getgnuwin32/0.6.30/GetGnuWin32-0.6.3.exe/download
To use MinGW, install MSYS2: http://repo.msys2.org/distrib/msys2-x86_64-latest.exe
Installation instructions: https://www.msys2.org/
Install the needed toolchains:
```bash
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mingw-w64-i686-cmake mingw-w64-x86_64-cmake
```
CacheEnable : 1
CacheLineSize : 256
NumCacheLine : 64
NumWay : 4
CacheAddrMode : 0
FrameReport :
CacheEnable : 1
CacheLineSize : 256
NumCacheLine : 64
NumWay : 4
CacheAddrMode : 1
BlkWidth : 16
BlkHeight : 16
FrameReport : 0
#======== File I/O =====================
BitstreamFile : str.bin
ReconFile : rec.yuv
#======== Profile ================
Profile : auto
#======== Unit definition ================
MaxCUWidth : 64 # Maximum coding unit width in pixel
MaxCUHeight : 64 # Maximum coding unit height in pixel
#======== Coding Structure =============
IntraPeriod : -1 # Period of I-Frame ( -1 = only first)
DecodingRefreshType : 0 # Random Accesss 0:none, 1:CRA, 2:IDR, 3:Recovery Point SEI
GOPSize : 8 # GOP Size (number of B slice = GOPSize-1)
IntraQPOffset : -1
LambdaFromQpEnable : 1 # see JCTVC-X0038 for suitable parameters for IntraQPOffset, QPoffset, QPOffsetModelOff, QPOffsetModelScale when enabled
# Type POC QPoffset QPOffsetModelOff QPOffsetModelScale CbQPoffset CrQPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 CbTcOffsetDiv2 CbBetaOffsetDiv2 CrTcOffsetDiv2 CrBetaOffsetDiv2 temporal_id #ref_pics_active_L0 #ref_pics_L0 reference_pictures_L0 #ref_pics_active_L1 #ref_pics_L1 reference_pictures_L1
Frame1: P 1 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 9 17 25 0 0
Frame2: P 2 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 2 10 18 0 0
Frame3: P 3 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 3 11 19 0 0
Frame4: P 4 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 4 12 20 0 0
Frame5: P 5 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 5 13 21 0 0
Frame6: P 6 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 6 14 22 0 0
Frame7: P 7 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 7 15 23 0 0
Frame8: P 8 1 0.0 0.0 0 0 1.0 0 0 0 0 0 0 0 4 4 1 8 16 24 0 0
#=========== Motion Search =============
FastSearch : 1 # 0:Full search 1:TZ search
SearchRange : 64 # (0: Search range is a Full frame)
BipredSearchRange : 4 # Search range for bi-prediction refinement
HadamardME : 1 # Use of hadamard measure for fractional ME
FEN : 0 # Fast encoder decision
FDM : 0 # Fast Decision for Merge RD cost
#======== Quantization =============
QP : 32 # Quantization parameter(0-51)
MaxDeltaQP : 0 # CU-based multi-QP optimization
MaxCuDQPSubdiv : 0 # Maximum subdiv for CU luma Qp adjustment
DeltaQpRD : 0 # Slice-based multi-QP optimization
RDOQ : 1 # RDOQ
RDOQTS : 1 # RDOQ for transform skip
#=========== Deblock Filter ============
DeblockingFilterOffsetInPPS : 1 # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
DeblockingFilterDisable : 0 # Disable deblocking filter (0=Filter, 1=No Filter)
DeblockingFilterBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterTcOffset_div2 : 0 # base_param: -12 ~ 12
DeblockingFilterCbBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterCbTcOffset_div2 : 0 # base_param: -12 ~ 12
DeblockingFilterCrBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterCrTcOffset_div2 : 0 # base_param: -12 ~ 12
DeblockingFilterMetric : 0 # blockiness metric (automatically configures deblocking parameters in bitstream). Applies slice-level loop filter offsets (DeblockingFilterOffsetInPPS and DeblockingFilterDisable must be 0)
#=========== Misc. ============
InternalBitDepth : 10 # codec operating bit-depth
#=========== Coding Tools =================
SAO : 1 # Sample adaptive offset (0: OFF, 1: ON)
TransformSkip : 1 # Transform skipping (0: OFF, 1: ON)
TransformSkipFast : 1 # Fast Transform skipping (0: OFF, 1: ON)
TransformSkipLog2MaxSize : 5
SAOLcuBoundary : 0 # SAOLcuBoundary using non-deblocked pixels (0: OFF, 1: ON)
#=========== TemporalFilter =================
TemporalFilter : 1
TemporalFilterPastRefs : 4 # Number of past references for temporal prefilter
TemporalFilterFutureRefs : 0 # Number of future references for temporal prefilter
TemporalFilterStrengthFrame8 : 0.2 # Enable filter at every 8th frame with strength
#============ Rate Control ======================
RateControl : 0 # Rate control: enable rate control
TargetBitrate : 1000000 # Rate control: target bitrate, in bps
KeepHierarchicalBit : 2 # Rate control: 0: equal bit allocation; 1: fixed ratio bit allocation; 2: adaptive ratio bit allocation
LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC
RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model
InitialQP : 0 # Rate control: initial QP
RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP
#============ VTM settings ======================
SEIDecodedPictureHash : 0
CbQpOffset : 0
CrQpOffset : 0
SameCQPTablesForAllChroma : 1
QpInValCb : 17 22 34 42
QpOutValCb : 17 23 35 39
ReWriteParamSets : 1
#============ NEXT ====================
# General
CTUSize : 128
LCTUFast : 1
DualITree : 1 # separate partitioning of luma and chroma channels for I-slices
MinQTLumaISlice : 8
MinQTChromaISliceInChromaSamples: 4 # minimum QT size in chroma samples for chroma separate tree
MinQTNonISlice : 8
MaxMTTHierarchyDepth : 3
MaxMTTHierarchyDepthISliceL : 4
MaxMTTHierarchyDepthISliceC : 4
MTS : 3
MTSIntraMaxCand : 3
MTSInterMaxCand : 4
SBT : 1
ISP : 1
Affine : 1
SbTMVP : 1
MaxNumMergeCand : 6
LMChroma : 1 # use CCLM only
DepQuant : 1
IMV : 1
ALF : 1
CIIP : 1
IBC : 0 # turned off in CTC
AllowDisFracMMVD : 1
AffineAmvr : 0
LMCSEnable : 1 # LMCS: 0: disable, 1:enable
LMCSSignalType : 0 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSUpdateCtrl : 2 # LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP
LMCSOffset : 1 # chroma residual scaling offset
MRL : 1
MIP : 0
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
PROF : 1
ChromaTS : 1
# Fast tools
PBIntraFast : 1
ISPFast : 0
FastMrg : 1
AMaxBT : 1
FastMIP : 0
FastLocalDualTreeMode : 2
# Encoder optimization tools
AffineAmvrEncOpt : 0
MmvdDisNum : 6
ALFAllowPredefinedFilters : 1
ALFStrengthTargetLuma : 1.0
ALFStrengthTargetChroma : 1.0
CCALFStrengthTarget : 1.0
EncDbOpt : 1
SplitPredictAdaptMode : 1
DisableFastTTfromBT : 1
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
This diff is collapsed.
This diff is collapsed.
#======== File I/O =====================
BitstreamFile : str.bin
ReconFile : rec.yuv
#======== Profile ================
Profile : auto
#======== Unit definition ================
MaxCUWidth : 64 # Maximum coding unit width in pixel
MaxCUHeight : 64 # Maximum coding unit height in pixel
#======== Coding Structure =============
IntraPeriod : 1 # Period of I-Frame ( -1 = only first)
DecodingRefreshType : 1 # Random Accesss 0:none, 1:CRA, 2:IDR, 3:Recovery Point SEI
GOPSize : 1 # GOP Size (number of B slice = GOPSize-1)
# Type POC QPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 temporal_id #ref_pics_active #ref_pics reference pictures
#=========== Motion Search =============
FastSearch : 1 # 0:Full search 1:TZ search
SearchRange : 64 # (0: Search range is a Full frame)
HadamardME : 1 # Use of hadamard measure for fractional ME
FEN : 1 # Fast encoder decision
FDM : 1 # Fast Decision for Merge RD cost
#======== Quantization =============
QP : 32 # Quantization parameter(0-51)
MaxDeltaQP : 0 # CU-based multi-QP optimization
MaxCuDQPSubdiv : 0 # Maximum subdiv for CU luma Qp adjustment
DeltaQpRD : 0 # Slice-based multi-QP optimization
RDOQ : 1 # RDOQ
RDOQTS : 1 # RDOQ for transform skip
#=========== Deblock Filter ============
DeblockingFilterOffsetInPPS : 1 # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
DeblockingFilterDisable : 0 # Disable deblocking filter (0=Filter, 1=No Filter)
DeblockingFilterBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterTcOffset_div2 : -5 # base_param: -12 ~ 12
DeblockingFilterCbBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterCbTcOffset_div2 : -5 # base_param: -12 ~ 12
DeblockingFilterCrBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterCrTcOffset_div2 : -5 # base_param: -12 ~ 12
DeblockingFilterMetric : 0 # blockiness metric (automatically configures deblocking parameters in bitstream). Applies slice-level loop filter offsets (DeblockingFilterOffsetInPPS and DeblockingFilterDisable must be 0)
#=========== Misc. ============
InternalBitDepth : 10 # codec operating bit-depth
#=========== Coding Tools =================
SAO : 1 # Sample adaptive offset (0: OFF, 1: ON)
TransformSkip : 1 # Transform skipping (0: OFF, 1: ON)
TransformSkipFast : 1 # Fast Transform skipping (0: OFF, 1: ON)
TransformSkipLog2MaxSize : 5
SAOLcuBoundary : 0 # SAOLcuBoundary using non-deblocked pixels (0: OFF, 1: ON)
#============ VTM settings ======================
SEIDecodedPictureHash : 0
CbQpOffset : 0
CrQpOffset : 0
SameCQPTablesForAllChroma : 1
QpInValCb : 17 27 32 44
QpOutValCb : 17 29 34 41
TemporalSubsampleRatio : 8
ReWriteParamSets : 1
#============ NEXT ====================
# General
CTUSize : 128
LCTUFast : 1
DualITree : 1 # separate partitioning of luma and chroma channels for I-slices
MinQTLumaISlice : 8
MinQTChromaISliceInChromaSamples: 4 # minimum QT size in chroma samples for chroma separate tree
MinQTNonISlice : 8
MaxMTTHierarchyDepth : 3
MaxMTTHierarchyDepthISliceL : 3
MaxMTTHierarchyDepthISliceC : 3
MTS : 1
MTSIntraMaxCand : 4
MTSInterMaxCand : 4
SBT : 1
LFNST : 1
ISP : 1
Affine : 1
SbTMVP : 1
MaxNumMergeCand : 6
LMChroma : 1 # use CCLM only
DepQuant : 1
IMV : 1
ALF : 1
IBC : 0 # turned off in CTC
AllowDisFracMMVD : 1
AffineAmvr : 0
LMCSEnable : 1 # LMCS: 0: disable, 1:enable
LMCSSignalType : 0 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSUpdateCtrl : 1 # LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP
LMCSOffset : 2 # chroma residual scaling offset
MRL : 1
MIP : 1
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
ChromaTS : 1
# Fast tools
PBIntraFast : 1
ISPFast : 1
FastMrg : 1
AMaxBT : 1
FastMIP : 1
FastLFNST : 1
# Encoder optimization tools
AffineAmvrEncOpt : 0
ALFAllowPredefinedFilters : 1
ALFStrengthTargetLuma : 1.0
ALFStrengthTargetChroma : 1.0
CCALFStrengthTarget : 1.0
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
#======== File I/O =====================
BitstreamFile : str.bin
ReconFile : rec.yuv
#======== Profile ================
Profile : auto
#======== Unit definition ================
MaxCUWidth : 64 # Maximum coding unit width in pixel
MaxCUHeight : 64 # Maximum coding unit height in pixel
#======== Coding Structure =============
IntraPeriod : -1 # Period of I-Frame ( -1 = only first)
DecodingRefreshType : 0 # Random Accesss 0:none, 1:CRA, 2:IDR, 3:Recovery Point SEI
GOPSize : 8 # GOP Size (number of B slice = GOPSize-1)
IntraQPOffset : -1
LambdaFromQpEnable : 1 # see JCTVC-X0038 for suitable parameters for IntraQPOffset, QPoffset, QPOffsetModelOff, QPOffsetModelScale when enabled
# Type POC QPoffset QPOffsetModelOff QPOffsetModelScale CbQPoffset CrQPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 CbTcOffsetDiv2 CbBetaOffsetDiv2 CrTcOffsetDiv2 CrBetaOffsetDiv2 temporal_id #ref_pics_active_L0 #ref_pics_L0 reference_pictures_L0 #ref_pics_active_L1 #ref_pics_L1 reference_pictures_L1
Frame1: P 1 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 9 17 25 0 0
Frame2: P 2 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 2 10 18 0 0
Frame3: P 3 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 3 11 19 0 0
Frame4: P 4 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 4 12 20 0 0
Frame5: P 5 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 5 13 21 0 0
Frame6: P 6 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 6 14 22 0 0
Frame7: P 7 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 4 4 1 7 15 23 0 0
Frame8: P 8 1 0.0 0.0 0 0 1.0 0 0 0 0 0 0 0 4 4 1 8 16 24 0 0
#=========== Motion Search =============
FastSearch : 1 # 0:Full search 1:TZ search
SearchRange : 64 # (0: Search range is a Full frame)
BipredSearchRange : 4 # Search range for bi-prediction refinement
HadamardME : 1 # Use of hadamard measure for fractional ME
FEN : 1 # Fast encoder decision
FDM : 1 # Fast Decision for Merge RD cost
#======== Quantization =============
QP : 32 # Quantization parameter(0-51)
MaxDeltaQP : 0 # CU-based multi-QP optimization
MaxCuDQPSubdiv : 0 # Maximum subdiv for CU luma Qp adjustment
DeltaQpRD : 0 # Slice-based multi-QP optimization
RDOQ : 1 # RDOQ
RDOQTS : 1 # RDOQ for transform skip
#=========== Deblock Filter ============
DeblockingFilterOffsetInPPS : 1 # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
DeblockingFilterDisable : 0 # Disable deblocking filter (0=Filter, 1=No Filter)
DeblockingFilterBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterTcOffset_div2 : 0 # base_param: -12 ~ 12
DeblockingFilterCbBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterCbTcOffset_div2 : 0 # base_param: -12 ~ 12
DeblockingFilterCrBetaOffset_div2 : -2 # base_param: -12 ~ 12
DeblockingFilterCrTcOffset_div2 : 0 # base_param: -12 ~ 12
DeblockingFilterMetric : 0 # blockiness metric (automatically configures deblocking parameters in bitstream). Applies slice-level loop filter offsets (DeblockingFilterOffsetInPPS and DeblockingFilterDisable must be 0)
#=========== Misc. ============
InternalBitDepth : 10 # codec operating bit-depth
#=========== Coding Tools =================
SAO : 1 # Sample adaptive offset (0: OFF, 1: ON)
TransformSkip : 1 # Transform skipping (0: OFF, 1: ON)
TransformSkipFast : 1 # Fast Transform skipping (0: OFF, 1: ON)
TransformSkipLog2MaxSize : 5
SAOLcuBoundary : 0 # SAOLcuBoundary using non-deblocked pixels (0: OFF, 1: ON)
#=========== TemporalFilter =================
TemporalFilter : 1
TemporalFilterPastRefs : 4 # Number of past references for temporal prefilter
TemporalFilterFutureRefs : 0 # Number of future references for temporal prefilter
TemporalFilterStrengthFrame8 : 0.2 # Enable filter at every 8th frame with strength
#============ Rate Control ======================
RateControl : 0 # Rate control: enable rate control
TargetBitrate : 1000000 # Rate control: target bitrate, in bps
KeepHierarchicalBit : 2 # Rate control: 0: equal bit allocation; 1: fixed ratio bit allocation; 2: adaptive ratio bit allocation
LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC
RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model
InitialQP : 0 # Rate control: initial QP
RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP
#============ VTM settings ======================
SEIDecodedPictureHash : 0
CbQpOffset : 0
CrQpOffset : 0
SameCQPTablesForAllChroma : 1
QpInValCb : 17 22 34 42
QpOutValCb : 17 23 35 39
ReWriteParamSets : 1
#============ NEXT ====================
# General
CTUSize : 128
LCTUFast : 1
DualITree : 1 # separate partitioning of luma and chroma channels for I-slices
MinQTLumaISlice : 8
MinQTChromaISliceInChromaSamples: 4 # minimum QT size in chroma samples for chroma separate tree
MinQTNonISlice : 8
MaxMTTHierarchyDepth : 3
MaxMTTHierarchyDepthISliceL : 3
MaxMTTHierarchyDepthISliceC : 3
MTS : 1
MTSIntraMaxCand : 3
MTSInterMaxCand : 4
SBT : 1
ISP : 1
Affine : 1
SbTMVP : 1
MaxNumMergeCand : 6
LMChroma : 1 # use CCLM only
DepQuant : 1
IMV : 1
ALF : 1
CIIP : 1
IBC : 0 # turned off in CTC
AllowDisFracMMVD : 1
AffineAmvr : 0
LMCSEnable : 1 # LMCS: 0: disable, 1:enable
LMCSSignalType : 0 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSUpdateCtrl : 2 # LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP
LMCSOffset : 1 # chroma residual scaling offset
MRL : 1
MIP : 0
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
PROF : 1
ChromaTS : 1
# Fast tools
PBIntraFast : 1
ISPFast : 0
FastMrg : 1
AMaxBT : 1
FastMIP : 0
FastLocalDualTreeMode : 2
MaxMergeRdCandNumTotal : 5
# Encoder optimization tools
AffineAmvrEncOpt : 0
MmvdDisNum : 6
ALFAllowPredefinedFilters : 1
ALFStrengthTargetLuma : 1.0
ALFStrengthTargetChroma : 1.0
CCALFStrengthTarget : 1.0
EncDbOpt : 1 # apply deblocking in RDO
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
example encoding command line
encoder -c encoder_randomaccess_vtm.cfg -c classH1.cfg -c H1_BalloonFestival.cfg -c seiCti_hdrPq_to_sdr1.cfg
-i BalloonFestival_1920x1080p_24_10b_pq_709_ct2020_420_rev1.yuv -ip 32 -fs 0 -f 33 -q 22
-b BalloonFestival_1920x1080p_24_10b_pq_709_ct2020_420_rev1.bin -o /dev/null --InternalBitDepth=10 --OutputBitDepth=10
example decoding command line
decoder -b BalloonFestival_1920x1080p_24_10b_pq_709_ct2020_420_rev1.bin -o dec.yuv --SEICTIFilename=dec_cti.yuv
\ No newline at end of file
# example mapping SDR BT.2020 std range to BT.2100 HDR-PQ-like Std range
# this is provided as indicative example, but in principle the mapping curve should be dynamically tuned depending on the content
SEICTIEnabled : 1
SEICTIId : 1
SEICTISignalInfoFlag : 1
SEICTIFullRangeFlag : 0
SEICTIPrimaries : 9
SEICTITransferFunction : 14
SEICTIMatrixCoefs : 9
SEICTICrossCompFlag : 1
SEICTICrossCompInferred : 1
SEICTILut0 : 64 00 41 41 41 41 44 50 56 62 70 78 87 97 109 79 00 # Lut Y
SEICTIChromaOffset : 0 # chroma scaling offset
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
# example mapping BT.2100 HDR-PQ Std range to SDR-like BT.2020 std range
# this is provided as indicative example, but in principle the mapping curve should be dynamically tuned depending on the content
SEICTIEnabled : 1
SEICTIId : 1
SEICTISignalInfoFlag : 1
SEICTIFullRangeFlag : 0
SEICTIPrimaries : 9
SEICTITransferFunction : 14
SEICTIMatrixCoefs : 9
SEICTICrossCompFlag : 1 # cross-component scaling mode enabled or not
SEICTICrossCompInferred : 0 # chroma LUT inferred (1) or not (0) from luma LUT
SEICTINbChromaLut : 1 # nb of chroma LUT (1 or 2)
SEICTILut0 : 64 00 41 41 41 41 44 50 56 62 70 78 87 97 109 79 00 # Lut Y
SEICTILut1 : 64 56 47 47 47 48 51 56 60 66 72 78 85 93 87 70 64 # Lut chroma
SEICTIChromaOffset : 0 # chroma scaling offset
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
# example mapping BT.2100 HDR-PQ Std range to SDR-like BT.2020 std range
# this is provided as indicative example, but in principle the mapping curve should be dynamically tuned depending on the content
SEICTIEnabled : 1
SEICTIId : 1
SEICTISignalInfoFlag : 1
SEICTIFullRangeFlag : 0
SEICTIPrimaries : 9
SEICTITransferFunction : 16
SEICTIMatrixCoefs : 9
SEICTICrossCompFlag : 1
SEICTICrossCompInferred : 1
SEICTILut0 : 64 00 103 101 97 79 72 67 58 54 47 46 42 39 41 50 00 # Lut Y
SEICTIChromaOffset : 0 # chroma scaling offset
### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###
FrameOnlyConstraintFlag : 0
FieldCoding : 1 # (0: Frame based coding, 1: Field based coding)
TopFieldFirst : 1 # Field parity order (1: Top field first, 0: Bottom field first)
ConformanceMode : 1
SEIFrameFieldInfo : 1
GOPSize : 16 # GOP Size (number of B slice = GOPSize-1)
# Type POC QPoffset QPOffsetModelOff QPOffsetModelScale CbQPoffset CrQPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 CbTcOffsetDiv2 CbBetaOffsetDiv2 CrTcOffsetDiv2 CrBetaOffsetDiv2 temporal_id #ref_pics_active_L0 #ref_pics_L0 reference_pictures_L0 #ref_pics_active_L1 #ref_pics_L1 reference_pictures_L1
Frame1: B 2 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 9 10 17 18 25 26 8 8 1 2 9 10 17 18 25 26
Frame2: B 3 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 10 11 18 19 26 27 8 9 1 2 3 10 11 18 19 26 27
Frame3: B 4 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 3 4 11 12 19 20 8 8 1 2 3 4 11 12 19 20
Frame4: B 5 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 4 5 12 13 20 21 8 9 1 2 3 4 5 12 13 20 21
Frame5: B 6 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 5 6 13 14 21 22 8 8 1 2 5 6 13 14 21 22
Frame6: B 7 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 6 7 14 15 22 23 8 9 1 2 3 6 7 14 15 22 23
Frame7: B 8 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 7 8 15 16 23 24 8 8 1 2 7 8 15 16 23 24
Frame8: B 9 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 8 9 16 17 24 25 8 9 1 2 3 8 9 16 17 24 25
Frame9: B 10 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 9 10 17 18 25 26 8 8 1 2 9 10 17 18 25 26
Frame10: B 11 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 10 11 18 19 26 27 8 9 1 2 3 10 11 18 19 26 27
Frame11: B 12 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 3 4 11 12 19 20 8 8 1 2 3 4 11 12 19 20
Frame12: B 13 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 4 5 12 13 20 21 8 9 1 2 3 4 5 12 13 20 21
Frame13: B 14 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 5 6 13 14 21 22 8 8 1 2 5 6 13 14 21 22
Frame14: B 15 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 6 7 14 15 22 23 8 9 1 2 3 6 7 14 15 22 23
Frame15: B 16 1 0.0 0.0 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 7 8 15 16 23 24 8 8 1 2 7 8 15 16 23 24
Frame16: B 17 1 0.0 0.0 0 0 1.0 0 0 0 0 0 0 0 8 9 1 2 3 8 9 16 17 24 25 8 9 1 2 3 8 9 16 17 24 25
FrameOnlyConstraintFlag : 0
FieldCoding : 1 # (0: Frame based coding, 1: Field based coding)
TopFieldFirst : 1 # Field parity order (1: Top field first, 0: Bottom field first)
ConformanceMode : 1
SEIFrameFieldInfo : 1
GOPSize : 8 # GOP Size (number of B slice = GOPSize-1)
# Type POC QPoffset QPOffsetModelOff QPOffsetModelScale CbQPoffset CrQPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 CbTcOffsetDiv2 CbBetaOffsetDiv2 CrTcOffsetDiv2 CrBetaOffsetDiv2 temporal_id #ref_pics_active_L0 #ref_pics_L0 reference_pictures_L0 #ref_pics_active_L1 #ref_pics_L1 reference_pictures_L1
Frame1: B 2 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 5 5 1 2 9 10 17 5 5 1 2 9 10 17
Frame2: B 3 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 6 6 1 2 3 10 11 18 6 6 1 2 3 10 11 18
Frame3: B 4 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 7 7 1 2 3 4 11 12 19 7 7 1 2 3 4 11 12 19
Frame4: B 5 4 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 3 4 5 12 13 20 8 8 1 2 3 4 5 12 13 20
Frame5: B 6 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 7 7 1 2 5 6 13 14 21 7 7 1 2 5 6 13 14 21
Frame6: B 7 5 -6.5 0.2590 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 3 6 7 14 15 22 8 8 1 2 3 6 7 14 15 22
Frame7: B 8 1 0.0 0.0 0 0 1.0 0 0 0 0 0 0 0 7 7 1 2 7 8 15 16 23 7 7 1 2 7 8 15 16 23
Frame8: B 9 1 0.0 0.0 0 0 1.0 0 0 0 0 0 0 0 8 8 1 2 3 8 9 16 17 24 8 8 1 2 3 8 9 16 17 24
FrameOnlyConstraintFlag : 0
FieldCoding : 1 # (0: Frame based coding, 1: Field based coding)
TopFieldFirst : 1 # Field parity order (1: Top field first, 0: Bottom field first)
ConformanceMode : 1
SEIFrameFieldInfo : 1
IntraPeriod : 32 # Period of I-Frame ( -1 = only first)
GOPSize : 16 # GOP Size (number of B slice = GOPSize-1)
# Type POC QPoffset QPOffsetModelOff QPOffsetModelScale CbQPoffset CrQPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 CbTcOffsetDiv2 CbBetaOffsetDiv2 CrTcOffsetDiv2 CrBetaOffsetDiv2 temporal_id #ref_pics_active_L0 #ref_pics_L0 reference_pictures_L0 #ref_pics_active_L1 #ref_pics_L1 reference_pictures_L1
Frame1: B 17 1 0.0 0.0 0 0 0.442 0 0 0 0 0 0 0 4 4 16 17 20 21 4 4 16 17 20 21
Frame2: B 16 1 0.0 0.0 0 0 0.442 0 0 0 0 0 0 0 3 3 15 16 -1 3 3 -1 15 16
Frame3: B 8 2 0.0 0.0 0 0 0.3536 0 0 0 0 0 0 1 2 4 7 8 -8 -9 2 4 -8 -9 7 8
Frame4: B 9 2 0.0 0.0 0 0 0.3536 0 0 0 0 0 0 1 2 5 1 8 9 -7 -8 2 5 -7 -8 1 8 9
Frame5: B 4 3 0.0 0.0 0 0 0.3536 0 0 0 0 0 0 2 2 4 3 4 -4 -5 2 4 -4 -5 -12 -13
Frame6: B 5 3 0.0 0.0 0 0 0.3536 0 0 0 0 0 0 2 2 5 1 4 5 -3 -4 2 4 -3 -4 -11 -12
Frame7: B 2 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 4 1 2 -2 -3 2 6 -2 -3 -6 -7 -14 -15
Frame8: B 3 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 4 1 2 -1 -2 2 6 -1 -2 -5 -6 -13 -14
Frame9: B 6 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 4 1 2 -2 -3 2 4 -2 -3 -10 -11
Frame10: B 7 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 5 1 2 3 -1 -2 2 4 -1 -2 -9 -10
Frame11: B 12 3 0.0 0.0 0 0 0.3536 0 0 0 0 0 0 2 2 4 3 4 -4 -5 2 4 -4 -5 3 4
Frame12: B 13 3 0.0 0.0 0 0 0.3536 0 0 0 0 0 0 2 2 5 1 4 5 -3 -4 2 5 -3 -4 1 4 5
Frame13: B 10 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 4 1 2 -2 -3 2 4 -2 -3 -6 -7
Frame14: B 11 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 5 1 2 3 -1 -2 2 4 -1 -2 -5 -6
Frame15: B 14 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 5 1 2 5 -2 -3 2 4 -2 -3 1 2
Frame16: B 15 4 0.0 0.0 0 0 0.68 0 0 0 0 0 0 3 2 4 1 2 3 6 2 4 -1 -2 1 2
This diff is collapsed.
InternalBitDepth: 12
MaxBitDepthConstraint: 12
\ No newline at end of file
InternalBitDepth: 16
MaxBitDepthConstraint: 16
\ No newline at end of file
BDPCM: 1
MaxBTLumaISlice: 16
MaxBTNonISlice: 16
MaxTTLumaISlice: 16
MaxTTNonISlice: 16
LFNST: 0
TemporalFilter: 0
Profile: auto
#Updates for JVET-U2018
LMCSEnable: 0
BCW: 0
MMVD: 0
SMVD: 0
Geo: 0
BIO: 0
DMVR: 0
Affine: 0
ISP: 0
TSRCRicePresent: 1
ExtendedPrecision: 1
ExtendedRiceRRC : 1
GolombRiceParameterAdaptation : 1
ReverseLastSigCoeff : 1
CostMode : lossless
BDPCM : 1
ChromaTS : 1
BDPCM : 1
DepQuant : 0
RDOQ : 0
RDOQTS : 0
SBT : 0
LMCSEnable : 0
ISP : 0
MTS : 0
LFNST : 0
JointCbCr : 0
DeblockingFilterDisable : 1
SAO : 0
ALF : 0
CCALF : 0
DMVR : 0
BIO : 0
PROF : 0
Log2MaxTbSize : 5
InternalBitDepth : 0
TSRCdisableLL : 1
IBC : 1
HashME : 1
PLT : 1
IBC : 1
HashME : 1
PLT : 1
ColorTransform : 1
CostMode : lossless
BDPCM : 1
ChromaTS : 1
BDPCM : 1
DepQuant : 0
RDOQ : 1
RDOQTS : 1
SBT : 0
LMCSEnable : 0
ISP : 0
MTS : 0
LFNST : 0
JointCbCr : 0
DeblockingFilterDisable : 0
SAO : 1
ALF : 1
CCALF : 0
DMVR : 0
BIO : 0
PROF : 0
Log2MaxTbSize : 5
InternalBitDepth : 0
TSRCdisableLL : 1
# Configuration to achieve mixed-lossy lossless coding
QP : 55 # Quantization parameter for lossy slices
CbQpOffset : 0
CrQpOffset : 0
SliceLevelDblk : 1
SliceLevelAlf : 1
SliceLevelSao : 1
SignHideFlag : 0
MixedLossyLossless : 1
SliceLosslessArray : 1 2 # slices with index 1 and 2 are lossless coded
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 3 3 3 3 3 3 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 3 3 3 3 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 1 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 1 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
DisableLoopFilterAcrossTiles : 1 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 1 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
#======== Layers ===============
MaxLayers : 2
MaxSublayers : 7
DefaultPtlDpbHrdMaxTidFlag : 0
AllIndependentLayersFlag : 0
#======== OLSs ===============
EachLayerIsAnOlsFlag : 0
OlsModeIdc : 2
NumOutputLayerSets : 2
OlsOutputLayer1 : 1 0
NumPTLsInVPS : 2
#======== Layer-0 ===============
LayerId0 : 0
#======== Layer-1 ===============
LayerId1 : 1
NumRefLayers1 : 1
RefLayerIdx1 : 0
#======== OLS-0 ===============
OlsPTLIdx0 : 0
#======== OLS-1 ===============
LevelPTL1 : 6.2
OlsPTLIdx1 : 1
#======== Layers ===============
MaxLayers : 2
MaxSublayers : 1
DefaultPtlDpbHrdMaxTidFlag : 0
AllIndependentLayersFlag : 0
AllowablePredDirection : 1 1 1 1 1 # equal to 0 specifies the picture in the i-th temporal layer is allowed to use both inter-layer and intra-layer preditions
# equal to 1 specifies the picture in the i-th temporal layer is allowed to use inter-layer predition only
# equal to 2 specifies the picture in the i-th temporal layer is allowed to use intra-layer predition only
#======== OLSs ===============
EachLayerIsAnOlsFlag : 0
OlsModeIdc : 2
NumOutputLayerSets : 2
OlsOutputLayer1 : 1 0
NumPTLsInVPS : 2
#======== Layer-0 ===============
LayerId0 : 0
#======== Layer-1 ===============
LayerId1 : 1
NumRefLayers1 : 1
RefLayerIdx1 : 0
#======== OLS-0 ===============
OlsPTLIdx0 : 0
#======== OLS-1 ===============
LevelPTL1 : 6.2
OlsPTLIdx1 : 1
#======== Layers ===============
MaxLayers : 2
MaxSublayers : 7
DefaultPtlDpbHrdMaxTidFlag : 0
AllIndependentLayersFlag : 1
#======== OLSs ===============
EachLayerIsAnOlsFlag : 1
NumOutputLayerSets : 2
OlsOutputLayer1 : 1
NumPTLsInVPS : 2
#======== Layer-0 ===============
LayerId0 : 0
#======== Layer-1 ===============
LayerId1 : 1
#======== OLS-0 ===============
OlsPTLIdx0 : 0
#======== OLS-1 ===============
OlsPTLIdx1 : 0
# example config file for MaxTidILRefPicsPlus1
# combines with random-access GOP config file
#======== Layers ===============
MaxLayers : 2
MaxSublayers : 7 # allow up to 7 temporal layers
DefaultPtlDpbHrdMaxTidFlag : 0
AllIndependentLayersFlag : 0
#======== OLSs ===============
EachLayerIsAnOlsFlag : 0
OlsModeIdc : 2
NumOutputLayerSets : 2
OlsOutputLayer1 : 1 # only one output layer in OLS #1
NumPTLsInVPS : 2
#======== Layer-0 ===============
LayerId0 : 0
#======== Layer-1 ===============
LayerId1 : 1
NumRefLayers1 : 1
RefLayerIdx1 : 0
MaxTidILRefPicsPlusOneLayerId1 : 3 # don't use pictures with temoporal_id > 2 for inter-layer reference
#======== OLS-0 ===============
OlsPTLIdx0 : 0
#======== OLS-1 ===============
LevelPTL1 : 6.2
OlsPTLIdx1 : 1
#======== Layers ===============
MaxLayers : 2
MaxSublayers : 7
DefaultPtlDpbHrdMaxTidFlag : 0
AllIndependentLayersFlag : 0
#======== OLSs ===============
EachLayerIsAnOlsFlag : 0
OlsModeIdc : 2
NumOutputLayerSets : 2
OlsOutputLayer1 : 1 0
NumPTLsInVPS : 2
PtPresentInPTL1 : 1
#======== Layer-0 ===============
LayerId0 : 0
#======== Layer-1 ===============
LayerId1 : 1
NumRefLayers1 : 1
RefLayerIdx1 : 0
#======== OLS-0 ===============
OlsPTLIdx0 : 0
#======== OLS-1 ===============
OlsPTLIdx1 : 1
LevelPTL1 : 6.2
#======== File I/O ===============
InputFile : BasketballDrillText_832x480_50.yuv
InputBitDepth : 8 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 832 # Input frame width
SourceHeight : 480 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 3.1
#============ Subpictures ==================
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, and split to 4 rectangular slices, each slice include one tile.
# example 2 subpictures in a 832x480 picture:
#----------
#| | |
#| | |
#|----|---|--> horizontally divided into 2 subpicture, each subpicture contains two slices
#| | |
#| | |
#----------
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 2 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 0 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 2 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 7 7 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 2 2 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
# 24 tiles and 6 rectangular slices
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 2 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 1 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 1 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
DisableLoopFilterAcrossTiles : 1 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 1 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
WaveFrontSynchro : 1 # Enable entropy coding synchronization, a.k.a. wavefront parallel processing (WPP) (0: entropy coding sync disabled; 1 entropy coding sync enabled)
# example configuration file for raster scan slices
# to be used in combination with a CTC and sequence configuration file
# contains 12 tiles and 3 raster-scan slices
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 6 6 6 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 3 3 3 3 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 1 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RasterSliceSizes : 2 5 5 # Raster-scan slice sizes in units of tiles. Last slice size will be repeated uniformly to cover any remaining tiles in the picture
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example configuration file for raster scan slices with a single slice per tile
# to be used in combination with a CTC and sequence configuration file
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 1 2 3 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 1 2 3 4 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 1 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RasterSliceSizes : 1 # Raster-scan slice sizes in units of tiles. Last slice size will be repeated uniformly to cover any remaining tiles in the picture
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example configuration file for rectangular slices
# to be used in combination with a CTC and sequence configuration file
# contains 4 tiles and 4 rectangular slices
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 7 8 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 4 5 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSlicePositions : 0 126 7 29 37 59 67 134 # Rectangular slice positions. List containing pairs of top-left CTU RS address followed by bottom-right CTU RS address
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example configuration file for rectangular slices
# to be used in combination with a CTC and sequence configuration file
# contains 24 tiles and 6 rectangular slices
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 3 3 3 3 3 3 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 3 3 3 3 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 2 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 2 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example config file for a corner test case:
# set single_slice_per_subpic_flag equal to 1, while subpicture_info_present_flag is equal to 0
# requires special handling, when RPR is enabled (which is allowed because subpicture_info_present_flag is equal to 0) and tiles are present
#
# example command line:
# ./EncoderApp -c ../cfg/encoder_randomaccess_vtm.cfg -c ../cfg/per-sequence/RaceHorses.cfg -q 42 -f 5 --SEIDecodedPictureHash=1 -c ../cfg/partitioning/rpr_no_subpic_single_slice_per_subpic.cfg
ScalingRatioHor : 2.0 # enable horizontal scaling
ScalingRatioVer : 2.0 # enable vertical scaling
UpscaledOutput : 1 # upscale output
EnablePicPartitioning : 1 # enable signalling of picture partitioning
SingleSlicePerSubpic : 1 # single_slice_per_subpic_flag equal to 1
RasterScanSlices : 0 # rectangular slices
TileColumnWidthArray : 2 # two tiles horizontally
TileRowHeightArray : 2 # two tiles vertically
Level : 6 # level increase required for small tiles (because of subsampling)
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, and split to 2 tiles, with two tile columns and one tile row.
# example 2 tiles, 3 subpictures in a 832x480 picture:
#----------
#| | |
#| | |
#| |---|
#| | |
#| | |
#----------
# |
# v
# vertically divided into 2 tile, the second tile include two subpicture/slices
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 3 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 4 4 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 0 2 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 4 3 3 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 4 2 2 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 1 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 4 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 0 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 0 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSlicePositions : 0 24 4 13 18 27
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, and split to 2 tiles, with two tile columns and one tile row.
# example 2 tiles, 3 subpictures (and each subpicture is a slice) in a 832x480 picture:
#----------
#| | |
#| | |
#| |---|
#| | |
#| | |
#----------
# |
# v
# vertically divided into 2 tile, the second tile include two subpicture/slices
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 3 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 4 4 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 0 2 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 4 3 3 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 4 2 2 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
SingleSlicePerSubpic : 1
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 4 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 0 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 0 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSlicePositions : 0 24 4 13 18 27
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, and split to 4 rectangular slices, each slice include one tile.
# example 2 subpictures in a 832x480 picture:
#----------
#| | |
#| | |
#|----|---|--> horizontally divided into 2 subpicture, each subpicture contains two slices
#| | |
#| | |
#----------
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 2 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 0 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 2 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 7 7 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 2 2 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
# 24 tiles and 6 rectangular slices
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 2 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 1 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 1 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
DisableLoopFilterAcrossTiles : 1 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 1 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, split to 4 rectangular slices, each slice include one tile,and set sps_subpic_same_size_flag equal to 1
# example 2 subpictures in a 832x480 picture:
#----------
#| | |
#| | |
#|----|---|--> horizontally divided into 2 subpicture, each subpicture contains two slices
#| | |
#| | |
#----------
#
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 2 # number of subpictures in a picture
SubPicSameSizeFlag : 1 # subpicture same size flag (1: all subpictures are same size)
SubPicWidth : 7 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 2 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
# 24 tiles and 6 rectangular slices
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 2 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 1 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 1 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
DisableLoopFilterAcrossTiles : 1 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 1 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, and split to 2 tiles, with two tile columns and one tile row.
# example 2 tiles, 4 subpictures (and each subpicture is a slice) in a 832x480 picture:
#----------
#| | |
#| | |
#|----|---|
#| | |
#| | |
#----------
# |
# v
# vertically divided into 2 tile, each tile includes two subpictures/slices
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 4 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 0 4 4 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 2 0 2 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 4 4 3 3 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 2 2 2 2 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 4 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 0 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 0 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSlicePositions : 0 10 14 24 4 13 18 27
DisableLoopFilterAcrossTiles : 1 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 1 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example cfg file, assuming an 832x480 input sequence with CTU size = 128x128, and split to 4 rectangular slices, each slice include one tile.
# example 2 subpictures in a 832x480 picture:
#----------
#| | |
#| | |
#|----|---|
#| | |
#| | |
#----------
# |
# v
# vertically divided into 2 subpicture, each subpicture contains two slices
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 2 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 4 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 0 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 4 3 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 4 4 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
SubPicIdMappingInSpsFlag : 0 # specifies that subpicture ID mapping is signalled in the SPS(0: OFF, 1: ON)
SubPicIdLen : 0 # the number of bits used to represent the syntax element sps_subpic_id[ i ]
SubPicId : 0 # subpicture ID of the i-th subpicture
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
# 24 tiles and 6 rectangular slices
TileColumnWidthArray : 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 2 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 0 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 0 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSlicePositions : 0 10 14 24 4 13 18 27
DisableLoopFilterAcrossTiles : 0 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 0 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
# example cfg file, assuming an 1920x1080 input sequence with CTU size = 128x128, and split to 8 rectangular slices, 12 tiles and 2 subpictures
SubPicInfoPresentFlag : 1 # subpicture information present flag(0: OFF, 1: ON)
NumSubPics : 2 # number of subpictures in a picture
SubPicCtuTopLeftX : 0 11 # specifies horizontal position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicCtuTopLeftY : 0 0 # specifies vertical position of top left CTU of i-th subpicture in unit of CtbSizeY
SubPicWidth : 11 4 # specifies the width of the i-th subpicture in units of CtbSizeY
SubPicHeight : 9 9 # specifies the height of the i-th subpicture in units of CtbSizeY
SubPicTreatedAsPicFlag : 1 1 # equal to 1 specifies that the i-th subpicture of each coded picture in the CLVS is treated as a picture in the decoding process excluding in-loop filtering operations
LoopFilterAcrossSubpicEnabledFlag : 0 0 # equal to 1 specifies that in-loop filtering operations may be performed across the boundaries of the i-th subpicture in each coded picture in the CLVS
SubPicIdMappingExplicitlySignalledFlag : 0 # equal to 1 specifies that the subpicture ID mapping is explicitly signalled, either in the SPS or in the PPSs
#============ Tiles / Slices ================
EnablePicPartitioning : 1 # Enable picture partitioning (0: single tile, single slice, 1: multiple tiles/slices can be used)
# 24 tiles and 6 rectangular slices
TileColumnWidthArray : 3 4 # Tile column widths in units of CTUs. Last column width will be repeated uniformly to cover any remaining picture width
TileRowHeightArray : 3 # Tile row heights in units of CTUs. Last row height will be repeated uniformly to cover any remaining picture height
RasterScanSlices : 0 # Raster-scan or rectangular slices (0: rectangular, 1: raster-scan)
RectSliceFixedWidth : 0 # Fixed rectangular slice width in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSliceFixedHeight : 0 # Fixed rectangular slice height in units of tiles (0: disable this feature and use RectSlicePositions instead)
RectSlicePositions : 0 17 30 32 45 62 75 77 3 85 90 130 11 89 101 134 # Rectangular slices positions - list containing pairs of top-left CTU index and bottom-right CTU index
DisableLoopFilterAcrossTiles : 1 # Loop filtering (DBLK/SAO/ALF) applied across tile boundaries or not (0: filter across tile boundaries 1: do not filter across tile boundaries)
DisableLoopFilterAcrossSlices : 1 # Loop filtering (DBLK/SAO/ALF) applied across slice boundaries or not (0: filter across slice boundaries 1: do not filter across slice boundaries)
IBC : 1
HashME : 1
BDPCM: 1
TemporalFilter : 0
# ======== Luma adaptive QP ==========
LumaLevelToDeltaQPMode : 0 # Change luma delta QP based on average luma
isSDR : 0 # 1: SDR in PQ container, 0: HDR
# ======= LMCS =======================
LMCSEnable : 1 # turned on in HDR CTC
LMCSSignalType : 1 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSOffset : 1 # chroma residual scaling offset
#======== Chroma QP scale ============
WCGPPSEnable : 0 # enable WCG Chroma scale
CbQpOffset : 0
CrQpOffset : 0
SameCQPTablesForAllChroma : 0
QpInValCb : 13 20 36 38 43 54
QpOutValCb : 13 21 29 29 32 37
QpInValCr : 13 20 37 41 44 54
QpOutValCr : 13 21 27 29 32 37
QpInValCbCr : 12 21 41 43 54
QpOutValCbCr : 12 22 30 32 37
VerCollocatedChroma : 1
#======== HDR Metrics ============
CalculateHdrMetrics : 1 # Calculate HDR metrics for Class H1 (PQ) content
PrintWPSNR : 1
\ No newline at end of file
# ======== Luma adaptive QP ========
LumaLevelToDeltaQPMode : 0 # Change luma delta QP based on average luma
# ======= LMCS =======================
LMCSEnable : 1 # turned on in HLG CTC
LMCSSignalType : 2 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSOffset : 0 # chroma residual scaling offset
#======== Chroma QP scale ============
WCGPPSEnable : 0 # enable WCG Chroma scale
CbQpOffset : 0
CrQpOffset : 0
SameCQPTablesForAllChroma : 1
QpInValCb : 9 23 33 42
QpOutValCb : 9 24 33 37
VerCollocatedChroma : 1
IBC : 1
HashME : 1
BDPCM: 1
PLT: 1
DualITree: 0
\ No newline at end of file
ColorTransform : 1
Log2MaxTbSize : 5
DualITree: 0
LMCSEnable : 0
InputColourSpaceConvert : RGBtoGBR # Non-normative colour space conversion to apply to input video
SNRInternalColourSpace : 1 # Evaluate SNRs in GBR order
OutputInternalColourSpace : 0 # Convert recon output back to RGB order. Use --OutputColourSpaceConvert GBRtoRGB on decoder to produce a matching output file.
ColorTransform : 1
Log2MaxTbSize : 5
DualITree: 0
LMCSEnable : 0
#======== File I/O ===============
InputFile : CrowdRun_1920x1080_50_16bit_444.rgb
InputBitDepth : 16 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
InputColourSpaceConvert : RGBtoGBR # Non-normative colour space conversion to apply to input video
SNRInternalColourSpace : 1 # Evaluate SNRs in GBR order
OutputInternalColourSpace : 0 # Convert recon output back to RGB order. Use --OutputColourSpaceConvert GBRtoRGB on decoder to produce a matching output file.
Level : 4.1
#======== File I/O ===============
InputFile : DucksTakeOff_1920x1080_50_16bit_444.rgb
InputBitDepth : 16 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
InputColourSpaceConvert : RGBtoGBR # Non-normative colour space conversion to apply to input video
SNRInternalColourSpace : 1 # Evaluate SNRs in GBR order
OutputInternalColourSpace : 0 # Convert recon output back to RGB order. Use --OutputColourSpaceConvert GBRtoRGB on decoder to produce a matching output file.
Level : 4.1
#======== File I/O ===============
InputFile : BalloonFestival_1920x1080p_24_12b_pq_709_ct2020_420.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 24 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 240 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : BalloonFestival_1920x1080p_24_12b_pq_709_ct2020_422.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 24 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 240 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : BalloonFestival_1920x1080p_24_12b_pq_709_ct2020_444.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 24 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 240 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : FireEater2Clip4000r1_1920x1080p_25_12b_pq_709_ct2020_420.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 25 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 200 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : FireEater2Clip4000r1_1920x1080p_25_12b_pq_709_ct2020_422.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 25 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 200 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : FireEater2Clip4000r1_1920x1080p_25_12b_pq_709_ct2020_444.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 25 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 200 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : EBU_04_Hurdles_1920x1080p_50_12b_pq_709_ct2020_420.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : EBU_04_Hurdles_1920x1080p_50_12b_pq_709_ct2020_422.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : EBU_04_Hurdles_1920x1080p_50_12b_pq_709_ct2020_444.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : Market3Clip4000r2_1920x1080p_50_12b_pq_709_ct2020_420.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 400 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : Market3Clip4000r2_1920x1080p_50_12b_pq_709_ct2020_422.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 400 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : Market3Clip4000r2_1920x1080p_50_12b_pq_709_ct2020_444.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 400 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : EBU_06_Starting_1920x1080p_50_12b_pq_709_ct2020_420.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : EBU_06_Starting_1920x1080p_50_12b_pq_709_ct2020_422.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : EBU_06_Starting_1920x1080p_50_12b_pq_709_ct2020_444.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : DayStreet_1920x1080_60p_12bit_420_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : DayStreet_1920x1080_60p_12bit_422_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : DayStreet_1920x1080_60p_12bit_444_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : NightStreet_1920x1080_60p_12bit_420_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : NightStreet_1920x1080_60p_12bit_422_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : NightStreet_1920x1080_60p_12bit_444_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : PeopleInShoppingCenter_1920x1080_60p_12bit_420_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : PeopleInShoppingCenter_1920x1080_60p_12bit_422_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : PeopleInShoppingCenter_1920x1080_60p_12bit_444_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : StainedGlass_1920x1080_60p_12bit_420_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : StainedGlass_1920x1080_60p_12bit_422_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 422 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : StainedGlass_1920x1080_60p_12bit_444_hlg.yuv
InputBitDepth : 12 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 600 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : InToTree_1920x1080_50_16bit_444.rgb
InputBitDepth : 16 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
InputColourSpaceConvert : RGBtoGBR # Non-normative colour space conversion to apply to input video
SNRInternalColourSpace : 1 # Evaluate SNRs in GBR order
OutputInternalColourSpace : 0 # Convert recon output back to RGB order. Use --OutputColourSpaceConvert GBRtoRGB on decoder to produce a matching output file.
Level : 4.1
#======== File I/O ===============
InputFile : OldTownCross_1920x1080_50_16bit_444.rgb
InputBitDepth : 16 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
InputColourSpaceConvert : RGBtoGBR # Non-normative colour space conversion to apply to input video
SNRInternalColourSpace : 1 # Evaluate SNRs in GBR order
OutputInternalColourSpace : 0 # Convert recon output back to RGB order. Use --OutputColourSpaceConvert GBRtoRGB on decoder to produce a matching output file.
Level : 4.1
#======== File I/O ===============
InputFile : ParkJoy_1920x1080_50_16bit_444.rgb
InputBitDepth : 16 # Input bitdepth
InputChromaFormat : 444 # Ratio of luminance to chrominance samples
FrameRate : 50 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 500 # Number of frames to be coded
InputColourSpaceConvert : RGBtoGBR # Non-normative colour space conversion to apply to input video
SNRInternalColourSpace : 1 # Evaluate SNRs in GBR order
OutputInternalColourSpace : 0 # Convert recon output back to RGB order. Use --OutputColourSpaceConvert GBRtoRGB on decoder to produce a matching output file.
Level : 4.1
#======== File I/O ===============
InputFile : H05_BalloonFestival_1920x1080p_25_10b_pq_709_ct2020_420.yuv
InputBitDepth : 10 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 24 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 1080 # Input frame height
FramesToBeEncoded : 240 # Number of frames to be coded
Level : 4.1
#======== File I/O ===============
InputFile : H08_Cosmos1_1920x856_BT2100_PQ_24fps_420.yuv
InputBitDepth : 10 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 24 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 1920 # Input frame width
SourceHeight : 856 # Input frame height
FramesToBeEncoded : 240 # Number of frames to be coded
Level : 4.1
#======== Chroma QP scale =============
WCGPPSCbQpScale : 1.04 # Scale factor depending on capture and representation color space
WCGPPSCrQpScale : 1.39 # Scale factor depending on capture and representation color space
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment