# New Input File Format is as follows
# <ParameterName> = <ParameterValue> # Comment
#
# See configfile.h for a list of supported ParameterNames
#
# Known bug: Empty strings, i.e. to signal a non-existent trace file must be coded as ""
#


##########################################################################################
# Files
##########################################################################################
InputFile             = "D:\seq\qcif\foreman.qcif"       # Input sequence, YUV 4:2:0
InputHeaderLength     = 0      # If the inputfile has a header, state it's length in byte here 
FramesToBeEncoded     = 2      # Number of frames to be coded
SourceWidth           = 176    # Image width in Pels, must be multiple of 16
SourceHeight          = 144    # Image height in Pels, must be multiple of 16
TraceFile             = "trace.txt"
ReconFile             = "test.qcif"
OutputFile            = "test.26l"

##########################################################################################
# Sequence information
##########################################################################################
TRModulus             = 256 # Modulus for TR, not yet used, MUST be 256
PicIdModulus          = 256 # Modulus for the PictureID (used for RPS), not yet used, MUST be 256

# PictureTypeSequence = PBB # A string that defines the picture types, not yet used
# Here more sequence header info

##########################################################################################
# Encoder Control
##########################################################################################

IntraPeriod          =  0  # Period of I-Frames (0=only first)
QPFirstFrame         = 15  # Quant. param for first frame (intra) (0-31)
QPRemainingFrame     = 16  # Quant. param for remaining frames (0-31)
FrameSkip            =  1  # Number of frames to be skipped in input (e.g 2 will code every third frame)
MVResolution         =  0  # Motion Vector Resolution: 0: 1/4-pel, 1: 1/8-pel
UseHadamard          =  1  # Hadamard transform (0=not used, 1=used)
SearchRange          = 16  # Max search range
NumberReferenceFrames =  2  # Number of previous frames used for inter motion search (1-5)
MbLineIntraUpdate    =  0  # Error robustness(extra intra macro block updates)(0=off, N: One GOB every N frames are intra coded)
InterSearch16x16     =  1  # Inter block search 16x16 (0=disable, 1=enable)
InterSearch16x8      =  1  # Inter block search 16x8  (0=disable, 1=enable)
InterSearch8x16      =  1  # Inter block search  8x16 (0=disable, 1=enable)
InterSearch8x8       =  1  # Inter block search  8x8  (0=disable, 1=enable)
InterSearch8x4       =  1  # Inter block search  8x4  (0=disable, 1=enable)
InterSearch4x8       =  1  # Inter block search  4x8  (0=disable, 1=enable)
InterSearch4x4       =  1  # Inter block search  4x4  (0=disable, 1=enable)

##########################################################################################
# Error Resilience / Slices
##########################################################################################

SliceMode            = 0   # Slice mode (0=off 1=fixed #mb in slice 2=fixed #bytes in slice 3=use callback)
SliceArgument        = 15  # Slice argument (Arguments to modes 1 and 2 above)


##########################################################################################
# B Frames
##########################################################################################

NumberBFrames        =  1  # Number of B frames inserted (0=not used)  
QPBPicture           = 17  # Quant. param for B frames (0-31)

##########################################################################################
# SP Frames
##########################################################################################

SPPicturePeriodicity =  0  # SP-Picture Periodicity (0=not used)
QPSPPicture          = 16  # Quant. param of SP-Pictures for Prediction Error (0-31)
QPSP2Picture         = 15  # Quant. param of SP-Pictures for Predicted Blocks (0-31)


##########################################################################################
# Output Control, NALs
##########################################################################################

SymbolMode           =  1  # Symbol mode (Entropy coding method: 0=UVLC, 1=CABAC)
OutFileMode          =  2  # Output file mode, 0:Bitstream, 1:RTP, 2:Interim File Format
PartitionMode        =  0  # Partition Mode, 0: no DP, 1: 3 Partitions per Slice (3 Partitions not yet supported)
SequenceHeaderType   =  0  # Type of Sequence HeaderType (0:none, 1:MiniBinary)

##########################################################################################
# Search Range Restriction / RD Optimization 
##########################################################################################

RestrictSearchRange  =  2  # restriction for (0: blocks and ref, 1: ref, 2: no restrictions)
RDOptimization       =  1  # rd-optimized mode decision (0:off, 1:on, 2: with losses)
LossRateA            = 10  # expected packet loss rate of the channel for the first partition, only valid if RDOptimization = 2
LossRateB            =  0  # expected packet loss rate of the channel for the second partition, only valid if RDOptimization = 2
LossRateC            =  0  # expected packet loss rate of the channel for the third partition, only valid if RDOptimization = 2
NumberOfDecoders     = 30  # Numbers of decoders used to simulate the channel, only valid if RDOptimization = 2
RestrictRefFrames    =  0  # Doesnt allow reference to areas that have been intra updated in a later frame.

##########################################################################################
# Additional Stuff
#########################################################################################

UseConstrainedIntraPred  =  0  # If 1, Inter pixels are not used for Intra macroblock prediction.
LastFrameNumber          =  0  # Last frame number that have to be coded (0: no effect)
ChangeQPP                = 16  # QP (P-frame) for second part of sequence
ChangeQPB                = 18  # QP (B-frame) for second part of sequence
ChangeQPStart            =  0  # Frame no. for second part of sequence (0: no second part)
AdditionalReferenceFrame =  0  # Additional ref. frame to check (news_a: 16; news_b,c: 24)

NumberofLeakyBuckets     =  8                      # Number of Leaky Bucket values
LeakyBucketRateFile      =  "leakybucketrate.cfg"  # File from which encoder derives rate values
LeakyBucketParamFile     =  "leakybucketparam.cfg" # File where encoder stores leakybucketparams
