# Random-access, high-efficiency, dQp level 1, Slice granularity = 3

#======== File I/O =====================
InputFile :  BQMall_p832x480_60fps_420pl_200fr.yuv
FrameRate  : 60
FrameSkip                     : 0           # Number of frames to be skipped in input
SourceWidth : 832 
SourceHeight : 480 
FrameToBeEncoded : 200 

#======== File I/O =====================
BitstreamFile : BQMall/outputs/BQMall_QP22_FR60_IP64_test.bin
ReconFile  : /dev/null 

#======== Unit definition ================
MaxCUWidth                    : 64          # Maximum coding unit width in pixel
MaxCUHeight                   : 64          # Maximum coding unit height in pixel
MaxPartitionDepth             : 4           # Maximum coding unit depth
QuadtreeTULog2MaxSize         : 5           # Log2 of maximum transform size for 
                                            # quadtree-based TU coding (2...6)
QuadtreeTULog2MinSize         : 2           # Log2 of minimum transform size for 
                                            # quadtree-based TU coding (2...6)
QuadtreeTUMaxDepthInter       : 3
QuadtreeTUMaxDepthIntra       : 3

#======== Coding Structure =============
IntraPeriod : 64 
DecodingRefreshType           : 1           # Random Accesss 0:none, 1:CDR, 2:IDR
GOPSize                       : 8           # GOP Size (number of B slice = GOPSize-1)
RateGOPSize                   : 8           # GOP size used for QP assignment
NumOfReference                : 4           # Number of reference frames
NumOfReferenceB_L0            : 2           # Number of reference frames for L0 for B-slices
NumOfReferenceB_L1            : 2           # Number of reference frames for L1 for B-slices
HierarchicalCoding            : 1           # Hierarchical B coding ON/OFF
LowDelayCoding                : 0           # Low-delay coding structure
GPB                           : 1           # Replace P-slice by B-slice using two same directions
NRF                           : 1           # Mark non-reference for highest temporal layer
BQP                           : 0           # Use hier-B style QP assignment for hier-P structure
ListCombination               : 1           # Use combined list for uni-prediction in B-slices

#=========== Motion Search =============
FastSearch                    : 1           # 0:Full search  1:EPZS 
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

#======== Quantization =============
QP : 22
MaxDeltaQP                    : 1 # 5       # CU-based multi-QP optimization
MaxCuDQPDepth                 : 1           # Max depth of a minimum CuDQP for sub-LCU-level delta QP
DeltaQpRD                     : 0           # Slice-based multi-QP optimization
RDOQ                          : 1           # RDOQ

#=========== Entropy Coding ============
SymbolMode                    : 1           # 0:CAVLC, 1:CABAC 

#=========== Deblock Filter ============
LoopFilterDisable             : 0           # Disable loop filter in slice header (0=Filter, 1=No Filter)
LoopFilterAlphaC0Offset       : 0           # Range: -26 ~ 26
LoopFilterBetaOffset          : 0           # Range: -26 ~ 26

#=========== Misc. ============
InternalBitDepth              : 10          # internal bit-depth = BitDepth + BitIncrement
SEIpictureDigest              : 1

#=========== Coding Tools =================
MRG                           : 1           # Merge mode                      (0: OFF, 1: ON)
ALF                           : 1           # Adaptive loop filter  (0: OFF, 1: ON)
ALFEncodePassReduction        : 0           # Reduce ALF encoding passes (0:Original 16-pass, 1: 1-pass, 2: 2-pass encoding)
LMChroma                      : 1           # Luma-based chroma intra-prediction

#============ Slices ================
SliceGranularity         : 3                # Slice granularity relative the LCU size
SliceMode                : 2                # 0: Disable all slice options. 
                                            # 1: Enforce maximum number of LCU in an slice, 
                                            # 2: Enforce maximum number of bytes in an 'slice'
SliceArgument            : 3000             # Argument for 'SliceMode'. 
                                            # If SliceMode==1 it represents max. LCU per slice. 
                                            # If SliceMode==2 it represents max. bytes per slice.

LFCrossSliceBoundaryFlag : 1                # In-loop filtering, including ALF and DB, is across or not across slice boundary.
                                            # 0:not across, 1: across                                            

EntropySliceMode         : 2                # 0: Disable all entropy slice options.       
                                            # 1: Enforce maximum number of LCU in an entropy slice, 
                                            # 2: Enforce maximum number of bins/bits in an 'entropy slice'
EntropySliceArgument     : 18000            # Argument for 'EntropySliceMode'.    
                                            # If EntropySliceMode==1 it represents max. LCU per entropy slice. 
                                            # If EntropySliceMode==2 it represents max. bins per entropy slice.
                                            