1# New Input File Format is as follows 2# <ParameterName> = <ParameterValue> # Comment 3# 4# See configfile.h for a list of supported ParameterNames 5# 6# For bug reporting and known issues see: 7# https://ipbt.hhi.fraunhofer.de 8 9 10########################################################################################## 11# Files 12########################################################################################## 13InputFile = "foreman_part_qcif.yuv" # Input sequence 14InputHeaderLength = 0 # If the inputfile has a header, state it's length in byte here 15StartFrame = 0 # Start frame for encoding. (0-N) 16FramesToBeEncoded = 3 # Number of frames to be coded 17FrameRate = 30.0 # Frame Rate per second (0.1-100.0) 18Enable32Pulldown = 0 # Enable 'hard' 3:2 pulldown (modifying the inpur data) 19 # 0 = disabled 20 # 1 = A, B, Bt|Cb, Ct|Db, D 21 # 2 = A, B, C, Ct|Db, D 22SEIVUI32Pulldown = 0 # Enable 3:2 pulldown through VUI and SEI metadata signaling. Five methods are supported: 23 # 0 = disabled 24 # 1 = A, Bt|Bb, Bt|Cb, Ct|Cb, D 25 # 2 = A, B, C, C, D 26 # 3 = At|Ab, Bt|Bb, Bt|Cb, Ct|Cb, Dt|Db 27 # 4 = A, Bt|Bb, Bt|Cb, Ct|Db, Dt|Db 28 # 5 = At|Ab, Bt|Bb, Bt|Cb, Ct|Db, Dt|Db 29 30SourceWidth = 176 # Source frame width 31SourceHeight = 144 # Source frame height 32SourceResize = 0 # Resize source size for output 33OutputWidth = 176 # Output frame width 34OutputHeight = 144 # Output frame height 35ProcessInput = 0 # Filter Input Sequence 36Interleaved = 0 # 0: Planar input, 1: Packed input 37PixelFormat = 0 # Pixel Format for 422 packed inputs 38 # 0: UYVY 39 # 1: YUY2/YUYV 40 # 2: YVYU 41 # 3: BGR (Unsupported) 42 # 4: V210 (Video Clarity) 43 44StandardRange = 0 # 0: Standard range 1: Full range (RGB input) 45VideoCode = 1 # Video codes for RGB ==> YUV conversions 46 # 0 = NULL, 47 # 1 = ITU_REC709, 48 # 2 = CCIR_601, 49 # 3 = FCC, 50 # 4 = ITU_REC624BG, 51 # 5 = SMPTE_170M, 52 # 6 = SMPTE_240M, 53 # 7 = SMPTE_260M, 54 # 8 = ITU_REC709_EXACT 55 56TraceFile = "trace_enc.txt" # Trace file 57ReconFile = "test_rec.yuv" # Reconstruction YUV file 58OutputFile = "test.264" # Bitstream 59StatsFile = "stats.dat" # Coding statistics file 60 61NumberOfViews = 1 # Number of views to encode (1=1 view, 2=2 views) 62View1ConfigFile = "encoder_view1.cfg" # Config file name for second view 63########################################################################################## 64# Encoder Control 65########################################################################################## 66Grayscale = 0 # Encode in grayscale (Currently only works for 8 bit YUV 420 input) 67ProfileIDC = 100 # Profile IDC (66=baseline, 77=main, 88=extended; FREXT Profiles: 100=High, 110=High 10, 122=High 4:2:2, 244=High 4:4:4, 44=CAVLC 4:4:4 Intra, 118=Multiview High Profile, 128=Stereo High Profile) 68IntraProfile = 0 # Activate Intra Profile for FRExt (0: false, 1: true) 69 # (e.g. ProfileIDC=110, IntraProfile=1 => High 10 Intra Profile) 70LevelIDC = 40 # Level IDC (e.g. 20 = level 2.0) 71 72IntraPeriod = 0 # Period of I-pictures (0=only first) 73IDRPeriod = 0 # Period of IDR pictures (0=only first) 74AdaptiveIntraPeriod = 1 # Adaptive intra period 75AdaptiveIDRPeriod = 0 # Adaptive IDR period 76IntraDelay = 0 # Intra (IDR) picture delay (i.e. coding structure of PPIPPP... ) 77EnableIDRGOP = 0 # Support for IDR closed GOPs (0: disabled, 1: enabled) 78EnableOpenGOP = 0 # Support for open GOPs (0: disabled, 1: enabled) 79QPISlice = 28 # Quant. param for I Slices (0-51) 80QPPSlice = 28 # Quant. param for P Slices (0-51) 81FrameSkip = 0 # Number of frames to be skipped in input (e.g 2 will code every third frame). 82 # Note that this now excludes intermediate (i.e. B) coded pictures 83ChromaQPOffset = 0 # Chroma QP offset (-51..51) 84 85DisableSubpelME = 0 # Disable Subpixel Motion Estimation (0=off/default, 1=on) 86SearchRange = 32 # Max search range 87MESoftenSSEMetric = 0 # soften lambda criterion for SSE ME 88MEDistortionFPel = 0 # Select error metric for Full-Pel ME (0: SAD, 1: SSE, 2: Hadamard SAD) 89MEDistortionHPel = 2 # Select error metric for Half-Pel ME (0: SAD, 1: SSE, 2: Hadamard SAD) 90MEDistortionQPel = 2 # Select error metric for Quarter-Pel ME (0: SAD, 1: SSE, 2: Hadamard SAD) 91MDDistortion = 2 # Select error metric for Mode Decision (0: SAD, 1: SSE, 2: Hadamard SAD) 92SkipDeBlockNonRef = 0 # Skip Deblocking (regardless of DFParametersFlag) for non-reference frames (0: off, 1: on) 93OnTheFlyFractMCP = 0 # Perform on-the-fly fractional pixel interpolation for Motion Compensation and Motion Estimation 94 # 0: Disable, interpolate & store all positions 95 # 1: Store full pel & interpolated 1/2 pel positions; 1/4 pel positions interpolate on-the-fly 96 # 2: Store only full pell positions; 1/2 & 1/4 pel positions interpolate on-the-fly 97ChromaMCBuffer = 1 # Calculate Color component interpolated values in advance and store them. 98 # Provides a trade-off between memory and computational complexity 99 # (0: disabled/default, 1: enabled) 100ChromaMEEnable = 0 # Take into account Color component information during ME 101 # (0: only first component/default, 102 # 1: All Color components - Integer refinement only 103 # 2: All Color components - All refinements) 104ChromaMEWeight = 0 # Weighting for chroma components. This parameter should have a relationship with color format. 105 106NumberReferenceFrames = 5 # Number of previous frames used for inter motion search (0-16) 107 108PList0References = 0 # P slice List 0 reference override (0 disable, N <= NumberReferenceFrames) 109Log2MaxFNumMinus4 = 0 # Sets log2_max_frame_num_minus4 (-1 : based on FramesToBeEncoded/Auto, >=0 : Log2MaxFNumMinus4) 110Log2MaxPOCLsbMinus4 = -1 # Sets log2_max_pic_order_cnt_lsb_minus4 (-1 : Auto, >=0 : Log2MaxPOCLsbMinus4) 111 112GenerateMultiplePPS = 1 # Transmit multiple parameter sets. Currently parameters basically enable all WP modes (0: diabled, 1: enabled) 113SendAUD = 0 # Send Access Delimiter Unit NALU (for every access unit) 114ResendSPS = 2 # Resend SPS (0: disabled, 1: all Intra pictures, 2: only for IDR, 3: for IDR and OpenGOP I) 115ResendPPS = 0 # Resend PPS (with pic_parameter_set_id 0) for every coded Frame/Field pair (0: disabled, 1: enabled) 116 117MbLineIntraUpdate = 0 # Error robustness(extra intra macro block updates)(0=off, N: One GOB every N frames are intra coded) 118RandomIntraMBRefresh = 0 # Forced intra MBs per picture 119 120########################################################################################## 121# PSlice Mode types 122########################################################################################## 123PSliceSkip = 1 # P-Slice Skip mode consideration (0=disable, 1=enable) 124PSliceSearch16x16 = 1 # P-Slice Inter block search 16x16 (0=disable, 1=enable) 125PSliceSearch16x8 = 1 # P-Slice Inter block search 16x8 (0=disable, 1=enable) 126PSliceSearch8x16 = 1 # P-Slice Inter block search 8x16 (0=disable, 1=enable) 127PSliceSearch8x8 = 1 # P-Slice Inter block search 8x8 (0=disable, 1=enable) 128PSliceSearch8x4 = 1 # P-Slice Inter block search 8x4 (0=disable, 1=enable) 129PSliceSearch4x8 = 1 # P-Slice Inter block search 4x8 (0=disable, 1=enable) 130PSliceSearch4x4 = 1 # P-Slice Inter block search 4x4 (0=disable, 1=enable) 131 132########################################################################################## 133# BSlice Mode types 134########################################################################################## 135 136BSliceDirect = 1 # B-Slice Skip mode consideration (0=disable, 1=enable) 137BSliceSearch16x16 = 1 # B-Slice Inter block search 16x16 (0=disable, 1=enable) 138BSliceSearch16x8 = 1 # B-Slice Inter block search 16x8 (0=disable, 1=enable) 139BSliceSearch8x16 = 1 # B-Slice Inter block search 8x16 (0=disable, 1=enable) 140BSliceSearch8x8 = 1 # B-Slice Inter block search 8x8 (0=disable, 1=enable) 141BSliceSearch8x4 = 1 # B-Slice Inter block search 8x4 (0=disable, 1=enable) 142BSliceSearch4x8 = 1 # B-Slice Inter block search 4x8 (0=disable, 1=enable) 143BSliceSearch4x4 = 1 # B-Slice Inter block search 4x4 (0=disable, 1=enable) 144 145BiPredSearch16x16 = 1 # B-Slice Bi-prediction block search 16x16 (0=disable, 1=enable) 146BiPredSearch16x8 = 1 # B-Slice Bi-prediction block search 16x8 (0=disable, 1=enable) 147BiPredSearch8x16 = 1 # B-Slice Bi-prediction block search 8x16 (0=disable, 1=enable) 148BiPredSearch8x8 = 0 # B-Slice Bi-prediction block search 8x8 (0=disable, 1=enable) 149 150DisableIntra4x4 = 0 # Disable Intra 4x4 modes 151DisableIntra16x16 = 0 # Disable Intra 16x16 modes 152DisableIntraInInter = 0 # Disable Intra modes for inter slices 153IntraDisableInterOnly = 0 # Apply Disabling Intra conditions only to Inter Slices (0:disable/default,1: enable) 154Intra4x4ParDisable = 0 # Disable Vertical & Horizontal 4x4 155Intra4x4DiagDisable = 0 # Disable Diagonal 45degree 4x4 156Intra4x4DirDisable = 0 # Disable Other Diagonal 4x4 157Intra16x16ParDisable = 0 # Disable Vertical & Horizontal 16x16 158Intra16x16PlaneDisable = 0 # Disable Planar 16x16 159ChromaIntraDisable = 0 # Disable Intra Chroma modes other than DC 160EnableIPCM = 1 # Enable IPCM macroblock mode 161 162DisposableP = 0 # Enable Disposable P slices in the primary layer (0: disable/default, 1: enable) 163DispPQPOffset = 0 # Quantizer offset for disposable P slices (0: default) 164 165PreferDispOrder = 1 # Prefer display order when building the prediction structure as opposed to coding order (affects intra and IDR periodic insertion, among others) 166PreferPowerOfTwo = 0 # Prefer prediction structures that have lengths expressed as powers of two 167FrmStructBufferLength = 16 # Length of the frame structure unit buffer; it can be overriden for certain cases 168 169ChangeQPFrame = 0 # Frame in display order from which to apply the Change QP offsets 170ChangeQPI = 0 # Change QP offset value for I_SLICE 171ChangeQPP = 0 # Change QP offset value for P_SLICE 172ChangeQPB = 0 # Change QP offset value for B_SLICE 173ChangeQPSI = 0 # Change QP offset value for SI_SLICE 174ChangeQPSP = 0 # Change QP offset value for SP_SLICE 175 176########################################################################################## 177# B Slices 178########################################################################################## 179 180NumberBFrames = 7 # Number of B coded frames inserted (0=not used) 181PReplaceBSlice = 0 # Replace B-coded slices with P-coded slices when NumberBFrames>0 182QPBSlice = 30 # Quant. param for B slices (0-51) 183BRefPicQPOffset = -1 # Quantization offset for reference B coded pictures (-51..51) 184DirectModeType = 1 # Direct Mode Type (0:Temporal 1:Spatial) 185DirectInferenceFlag = 1 # Direct Inference Flag (0: Disable 1: Enable) 186BList0References = 0 # B slice List 0 reference override (0 disable, N <= NumberReferenceFrames) 187BList1References = 1 # B slice List 1 reference override (0 disable, N <= NumberReferenceFrames) 188 # 1 List1 reference is usually recommended for normal GOP Structures. 189 # A larger value is usually more appropriate if a more flexible 190 # structure is used (i.e. using HierarchicalCoding) 191 192BReferencePictures = 0 # Referenced B coded pictures (0=off, 1=B references for secondary layer, 2=B references for primary layer) 193 194HierarchicalCoding = 3 # B hierarchical coding (0= off, 1= 2 layers, 2= 2 full hierarchy, 3 = explicit) 195HierarchyLevelQPEnable = 1 # Adjust QP based on hierarchy level (in increments of 1). Overrides BRefPicQPOffset behavior.(0=off, 1=on) 196ExplicitHierarchyFormat = "b3r0b1r1b0e2b2e2b5r1b4e2b6e2" # Explicit Enhancement GOP. Format is {FrameDisplay_orderReferenceQP}. 197 # Valid values for reference type is r:reference, e:non reference. 198ExplicitSeqCoding = 0 # Enable support for explicit sequence coding 199ExplicitSeqFile = "explicit_seq.cfg" 200LowDelay = 0 # Apply HierarchicalCoding without delay (i.e., encode in the captured/display order) 201ReferenceReorder = 1 # Reorder References according to Poc distance for HierarchicalCoding (0=off, 1=enable, 2=use when LowDelay is set) 202UseDistortionReorder = 0 # Enable Distortion based reordering, when ReferenceReorder is set to 1 203PocMemoryManagement = 1 # Memory management based on Poc Distances for HierarchicalCoding (0=off, 1=on, 2=use when LowDelay is set) 204SetFirstAsLongTerm = 0 # Set first frame as long term 205 206BiPredMotionEstimation = 1 # Enable Bipredictive based Motion Estimation (0:disabled, 1:enabled) 207BiPredMERefinements = 3 # Bipredictive ME extra refinements (0: single, N: N extra refinements (1 default) 208BiPredMESearchRange = 16 # Bipredictive ME Search range (8 default). Note that range is halved for every extra refinement. 209BiPredMESubPel = 2 # Bipredictive ME Subpixel Consideration (0: disabled, 1: single level, 2: dual level) 210 211########################################################################################## 212# HM like coding structures 213########################################################################################## 214 215BLevel0MoreRef = 0 # 0: Use the same number of reference pictures as the other B pictures 216 # 1: Use more reference frame pictures for B pictures at level 0 217BIdenticalList = 0 # 0: not used; 1: used for B pictures at level 0; 2: used for all B pictures 218 # 1 and 2 need to set ReferenceReorder to 1 219CRA = 0 # 0: do not use CRA like random access support; 1 use CRA like random access support 220 # only used for random access cases, LowDelay != 1 221HM50RefStructure = 0 # 0: do not use HM-5.0 like referencing structure; 1 use HM-5.0 like referencing structure for random access 222LDRefSetting = 0 # 0: use nearest pictures as reference frames 223 # 1: use one nearest + POC%4==0 pictures as reference frames, as JCTVC-F701 224 # Only low delay is supported, please do not use it for a different coding structure 225 226########################################################################################## 227# SP Frames 228########################################################################################## 229 230SPPicturePeriodicity = 0 # SP-Picture Periodicity (0=not used) 231SPSwitchPeriod = 0 # Switch period (in terms of switching SP/SI frames) between bitstream 1 and bitstream 2 232QPSPSlice = 36 # Quant. param of SP-Slices for Prediction Error (0-51) 233QPSISlice = 36 # Quant. param of SI-Slices for Prediction Error (0-51) 234QPSP2Slice = 35 # Quant. param of SP/SI-Slices for Predicted Blocks (0-51) 235SI_FRAMES = 0 # SI frame encoding flag (0=not used, 1=used) 236SP_output = 0 # Controls whether coefficients will be output to encode switching SP frames (0=no, 1=yes) 237SP_output_name = "low_quality.dat" # Filename for SP output coefficients 238SP2_FRAMES = 0 # switching SP frame encoding flag (0=not used, 1=used) 239SP2_input_name1 = "high_quality.dat" # Filename for the first swithed bitstream coefficients 240SP2_input_name2 = "low_quality.dat" # Filename for the second switched bitstream coefficients 241 242########################################################################################## 243# Output Control, NALs 244########################################################################################## 245 246SymbolMode = 1 # Symbol mode (Entropy coding method: 0=UVLC, 1=CABAC) 247OutFileMode = 0 # Output file mode, 0:Annex B, 1:RTP 248PartitionMode = 0 # Partition Mode, 0: no DP, 1: 3 Partitions per Slice 249 250########################################################################################## 251# CABAC context initialization 252########################################################################################## 253 254ContextInitMethod = 1 # Context init (0: fixed, 1: adaptive) 255FixedModelNumber = 0 # model number for fixed decision for inter slices ( 0, 1, or 2 ) 256 257########################################################################################## 258# Interlace Handling 259######################################################################################### 260 261PicInterlace = 0 # Picture AFF (0: frame coding, 1: field coding, 2:adaptive frame/field coding) 262MbInterlace = 0 # Macroblock AFF (0: frame coding, 1: field coding, 2:adaptive frame/field coding, 3: frame MB-only AFF) 263IntraBottom = 0 # Force Intra Bottom at GOP Period 264 265########################################################################################## 266# Weighted Prediction 267######################################################################################### 268 269WeightedPrediction = 0 # P picture Weighted Prediction (0=off, 1=explicit mode) 270WeightedBiprediction = 0 # B picture Weighted Prediciton (0=off, 1=explicit mode, 2=implicit mode) 271ChromaWeightSupport = 1 # Enable consideration of weights for Chroma components 272UseWeightedReferenceME = 1 # Use weighted reference for ME (0=off, 1=on) 273WPMethod = 1 # WP method (0: DC based, 1: LMS based) 274WPIterMC = 0 # Iterative Motion compensated based weighted prediction method 275EnhancedBWeightSupport = 0 # Enhanced B Weight support (needs revisit if we wish to merge with WPMethod) 276WPMCPrecision = 0 # Improved Motion Compensation Precision using WP based methods. 277 # Clones WP references with slightly modified rounding offsets (Requires RDPictureDecision and GenerateMultiplePPS) : 278 # 0: disabled (default) 279 # 1: Up to one additional coding pass. Ref0 is 0, ref1 is 0 with a -1 offset 280 # 2: Up to two additional coding passes. (1) Ref0 is 0, ref1 is 0 with a -1 offset, (1) Ref0 is 0 with a -1 offset, ref1 is 0 281WPMCPrecFullRef = 0 # Increases the number of references in the reference picture lists to account 282 # for the lost reference slot when reordering is used during a coding pass in WPMCPrecision for reference replication. 283 # The number of references in non-reordered passes stays unchanged 284WPMCPrecBSlice = 1 # 2: Apply rounding on every B slice. This efectively disables the evaluation of alternative QPs during RDPictureDecision. 285 # 1: Disable rounding for non-reference B slices. Non-reference B slices are evaluated for alternative QPs during RDPictureDecision. 286 # 0: Disable rounding for B slices. 287 288########################################################################################## 289# Picture based Multi-pass encoding 290######################################################################################### 291 292RDPictureDecision = 0 # Perform multiple pass coding and make RD optimal decision among them 293RDPSliceBTest = 0 # Perform Slice level RD decision between P and B slices. 294RDPSliceITest = 1 # Perform Slice level RD decision between P and I slices. Default value is 1 (enabled). 295RDPictureMaxPassISlice = 1 # Max number of coding passes for I slices, valid values [1,3], default is 1 296RDPictureMaxPassPSlice = 2 # Max number of coding passes for P slices, valid values [1,6], default is 2 297RDPictureMaxPassBSlice = 3 # Max number of coding passes for B slices, valid values [1,6], default is 3 298RDPictureFrameQPPSlice = 0 # Perform additional frame level QP check (QP+/-1) for P slices, 0: disabled (default), 1: enabled 299RDPictureFrameQPBSlice = 0 # Perform additional frame level QP check (QP+/-1) for B slices, 0: disabled, 1: enabled (default) 300RDPictureDeblocking = 0 # Perform another coding pass to check non-deblocked picture, 0: disabled (default), 1: enabled 301RDPictureDirectMode = 0 # Perform another coding pass to check the alternative direct mode for B slices, , 0: disabled (default), 1: enabled 302 303########################################################################################## 304# Deblocking filter parameters 305########################################################################################## 306 307DFParametersFlag = 0 # Configure deblocking filter (0=parameters below ignored, 1=parameters sent) 308 # Note that for pictures with multiple slice types, 309 # only the type of the first slice will be considered. 310DFDisableRefISlice = 0 # Disable deblocking filter in reference I coded pictures (0=Filter, 1=No Filter). 311DFAlphaRefISlice = 0 # Reference I coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6} 312DFBetaRefISlice = 0 # Reference I coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6} 313DFDisableNRefISlice = 0 # Disable deblocking filter in non reference I coded pictures (0=Filter, 1=No Filter). 314DFAlphaNRefISlice = 0 # Non Reference I coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6} 315DFBetaNRefISlice = 0 # Non Reference I coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6} 316DFDisableRefPSlice = 0 # Disable deblocking filter in reference P coded pictures (0=Filter, 1=No Filter). 317DFAlphaRefPSlice = 0 # Reference P coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6} 318DFBetaRefPSlice = 0 # Reference P coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6} 319DFDisableNRefPSlice = 0 # Disable deblocking filter in non reference P coded pictures (0=Filter, 1=No Filter). 320DFAlphaNRefPSlice = 0 # Non Reference P coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6} 321DFBetaNRefPSlice = 0 # Non Reference P coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6} 322DFDisableRefBSlice = 0 # Disable deblocking filter in reference B coded pictures (0=Filter, 1=No Filter). 323DFAlphaRefBSlice = 0 # Reference B coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6} 324DFBetaRefBSlice = 0 # Reference B coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6} 325DFDisableNRefBSlice = 0 # Disable deblocking filter in non reference B coded pictures (0=Filter, 1=No Filter). 326DFAlphaNRefBSlice = 0 # Non Reference B coded pictures Alpha offset div. 2, {-6, -5, ... 0, +1, .. +6} 327DFBetaNRefBSlice = 0 # Non Reference B coded pictures Beta offset div. 2, {-6, -5, ... 0, +1, .. +6} 328 329########################################################################################## 330# Error Resilience / Slices 331########################################################################################## 332 333SliceMode = 0 # Slice mode (0=off 1=fixed #mb in slice 2=fixed #bytes in slice 3=use callback) 334SliceArgument = 50 # Slice argument (Arguments to modes 1 and 2 above) 335 336num_slice_groups_minus1 = 0 # Number of Slice Groups Minus 1, 0 == no FMO, 1 == two slice groups, etc. 337slice_group_map_type = 0 # 0: Interleave, 1: Dispersed, 2: Foreground with left-over, 338 # 3: Box-out, 4: Raster Scan 5: Wipe 339 # 6: Explicit, slice_group_id read from SliceGroupConfigFileName 340slice_group_change_direction_flag = 0 # 0: box-out clockwise, raster scan or wipe right, 341 # 1: box-out counter clockwise, reverse raster scan or wipe left 342slice_group_change_rate_minus1 = 85 # 343SliceGroupConfigFileName = "sg0conf.cfg" # Used for slice_group_map_type 0, 2, 6 344 345UseRedundantPicture = 0 # 0: not used, 1: enabled 346NumRedundantHierarchy = 1 # 0-4 347PrimaryGOPLength = 10 # GOP length for redundant allocation (1-16) 348 # NumberReferenceFrames must be no less than PrimaryGOPLength when redundant slice enabled 349NumRefPrimary = 1 # Actually used number of references for primary slices (1-16) 350 351########################################################################################## 352# Search Range Restriction / RD Optimization 353########################################################################################## 354 355RestrictSearchRange = 2 # restriction for (0: blocks and ref, 1: ref, 2: no restrictions) 356RDOptimization = 1 # rd-optimized mode decision 357 # 0: RD-off (Low complexity mode) 358 # 1: RD-on (High complexity mode) 359 # 2: RD-on (Fast high complexity mode - not work in FREX Profiles) 360 # 3: with losses 361 # 4: RD-on (High complexity mode) with negative skip bias 362I16RDOpt = 1 # perform rd-optimized mode decision for Intra 16x16 MB 363 # 0: SAD-based mode decision for Intra 16x16 MB 364 # 1: RD-based mode decision for Intra 16x16 MB 365SubMBCodingState = 1 # submacroblock coding state 366 # 0: lowest complexity, do not store or reset coding state during sub-MB mode decision 367 # 1: medium complexity, reset to master coding state (for current mode) during sub-MB mode decision 368 # 2: highest complexity, store and reset coding state during sub-MB mode decision 369DistortionSSIM = 0 # Compute SSIM distortion. (0: disabled/default, 1: enabled) 370DistortionMS_SSIM = 0 # Compute Multiscale SSIM distortion. (0: disabled/default, 1: enabled) 371SSIMOverlapSize = 8 # Overlap size to calculate SSIM distortion (1: pixel by pixel, 8: no overlap) 372DistortionYUVtoRGB = 0 # Calculate distortion in RGB domain after conversion from YCbCr (0:off, 1:on) 373CtxAdptLagrangeMult = 0 # Context Adaptive Lagrange Multiplier 374 # 0: disabled (default) 375 # 1: enabled (works best when RDOptimization=0) 376FastCrIntraDecision = 1 # Fast Chroma intra mode decision (0:off, 1:on) 377DisableThresholding = 1 # Disable Thresholding of Transform Coefficients (0:off, 1:on) 378DisableBSkipRDO = 0 # Disable B Skip Mode consideration from RDO Mode decision (0:off, 1:on) 379BiasSkipRDO = 0 # Negative Bias for Skip/DirectSkip modes (0: off, 1: on) 380ForceTrueRateRDO = 0 # Force true rate (even zero values) during RDO process 381SkipIntraInInterSlices = 0 # Skips Intra mode checking in inter slices if certain mode decisions are satisfied (0: off, 1: on) 382PSliceSkipDecisionMethod = 0 # Enable/Control consideration of Skip mode in P slices based on the characteristics of inter modes. 383 # Used in combination with RDOptimization = 4. 384 # 0: Enable always 385 # 1: Enable only when best mode is 16x16 with skip motion vectors and no residual (natural mode) 386 # 2: Enable only when best mode is 16x16 with skip motion vectors 387 # 3: Enable only when best mode is 16x16 and mvs are close to skip motion vectors (+-8) 388 # 4: Enable only when best mode is inter with no residual 389 # 5: Enable only when best mode is inter with no residual or 16x16 with mvs close to skip (+-8) 390 391WeightY = 1 # Luma weight for RDO 392WeightCb = 1 # Cb weight for RDO 393WeightCr = 1 # Cr weight for RDO 394 395########################################################################################## 396# Explicit Lambda Usage 397########################################################################################## 398UseExplicitLambdaParams = 0 # Use explicit lambda scaling parameters (0:disabled, 1:enable lambda weight, 2: use explicit lambda value) 399DisableDistanceLambdaScale = 0 # Disable Distance based lambda scaling 400UpdateLambdaChromaME = 0 # Update lambda given Chroma ME consideration 401FixedLambdaISlice = 0.1 # Fixed Lambda value for I slices 402FixedLambdaPSlice = 0.1 # Fixed Lambda value for P slices 403FixedLambdaBSlice = 0.1 # Fixed Lambda value for B slices 404FixedLambdaRefBSlice = 0.1 # Fixed Lambda value for Referenced B slices 405FixedLambdaSPSlice = 0.1 # Fixed Lambda value for SP slices 406FixedLambdaSISlice = 0.1 # Fixed Lambda value for SI slices 407 408LambdaWeightISlice = 0.65 # scaling param for I slices. This will be used as a multiplier i.e. lambda=LambdaWeightISlice * 2^((QP-12)/3) 409LambdaWeightPSlice = 0.68 # scaling param for P slices. This will be used as a multiplier i.e. lambda=LambdaWeightPSlice * 2^((QP-12)/3) 410LambdaWeightBSlice = 0.68 # scaling param for B slices. This will be used as a multiplier i.e. lambda=LambdaWeightBSlice * 2^((QP-12)/3) 411LambdaWeightRefBSlice = 0.68 # scaling param for Referenced B slices. This will be used as a multiplier i.e. lambda=LambdaWeightRefBSlice * 2^((QP-12)/3) 412LambdaWeightSPSlice = 0.68 # scaling param for SP slices. This will be used as a multiplier i.e. lambda=LambdaWeightSPSlice * 2^((QP-12)/3) 413LambdaWeightSISlice = 0.65 # scaling param for SI slices. This will be used as a multiplier i.e. lambda=LambdaWeightSISlice * 2^((QP-12)/3) 414 415LossRateA = 5 # expected packet loss rate of the channel for the first partition, only valid if RDOptimization = 3 416LossRateB = 0 # expected packet loss rate of the channel for the second partition, only valid if RDOptimization = 3 417LossRateC = 0 # expected packet loss rate of the channel for the third partition, only valid if RDOptimization = 3 418FirstFrameCorrect = 0 # If 1, the first frame is encoded under the assumption that it is always correctly received. 419NumberOfDecoders = 30 # Numbers of decoders used to simulate the channel, only valid if RDOptimization = 3 420RestrictRefFrames = 0 # Doesnt allow reference to areas that have been intra updated in a later frame. 421 422########################################################################################## 423# Additional Stuff 424######################################################################################### 425 426UseConstrainedIntraPred = 0 # If 1, Inter pixels are not used for Intra macroblock prediction. 427 428NumberofLeakyBuckets = 8 # Number of Leaky Bucket values 429LeakyBucketRateFile = "leakybucketrate.cfg" # File from which encoder derives rate values 430LeakyBucketParamFile = "leakybucketparam.cfg" # File where encoder stores leakybucketparams 431 432NumFramesInELayerSubSeq = 0 # number of frames in the Enhanced Scalability Layer(0: no Enhanced Layer) 433 434SparePictureOption = 0 # (0: no spare picture info, 1: spare picture available) 435SparePictureDetectionThr = 6 # Threshold for spare reference pictures detection 436SparePicturePercentageThr = 92 # Threshold for the spare macroblock percentage 437 438PicOrderCntType = 0 # (0: POC mode 0, 1: POC mode 1, 2: POC mode 2) 439 440######################################################################################## 441#Rate control 442######################################################################################## 443 444RateControlEnable = 0 # 0 Disable, 1 Enable 445Bitrate = 45020 # Bitrate(bps) 446InitialQP = 0 # Initial Quantization Parameter for the first I frame 447 # InitialQp depends on two values: Bits Per Picture, 448 # and the GOP length 449BasicUnit = 0 # Number of MBs in the basic unit 450 # should be a fraction of the total number 451 # of MBs in a frame ("0" sets a BU equal to a frame) 452ChannelType = 0 # type of channel( 1=time varying channel; 0=Constant channel) 453RCUpdateMode = 0 # Rate Control type. Modes supported : 454 # 0 = original JM rate control, 455 # 1 = rate control that is applied to all frames regardless of the slice type, 456 # 2 = original plus intelligent QP selection for I and B slices (including Hierarchical), 457 # 3 = original + hybrid quadratic rate control for I and B slice using bit rate statistics 458 # 459RCISliceBitRatio = 1.0 # target ratio of bits for I-coded pictures compared to P-coded Pictures (for RCUpdateMode=3) 460RCBSliceBitRatio0 = 0.5 # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 0 (for RCUpdateMode=3) 461RCBSliceBitRatio1 = 0.25 # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 1 (for RCUpdateMode=3) 462RCBSliceBitRatio2 = 0.25 # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 2 (for RCUpdateMode=3) 463RCBSliceBitRatio3 = 0.25 # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 3 (for RCUpdateMode=3) 464RCBSliceBitRatio4 = 0.25 # target ratio of bits for B-coded pictures compared to P-coded Pictures - temporal level 4 (for RCUpdateMode=3) 465RCBoverPRatio = 0.45 # ratio of bit rate usage of a B-coded picture over a P-coded picture for the SAME QP (for RCUpdateMode=3) 466RCIoverPRatio = 3.80 # ratio of bit rate usage of an I-coded picture over a P-coded picture for the SAME QP (for RCUpdateMode=3) 467RCMinQPPSlice = 8 # minimum P Slice QP value for rate control 468RCMaxQPPSlice = 42 # maximum P Slice QP value for rate control 469RCMinQPBSlice = 8 # minimum B Slice QP value for rate control 470RCMaxQPBSlice = 42 # maximum B Slice QP value for rate control 471RCMinQPISlice = 8 # minimum I Slice QP value for rate control 472RCMaxQPISlice = 42 # maximum I Slice QP value for rate control 473RCMinQPSPSlice = 8 # minimum SP Slice QP value for rate control 474RCMaxQPSPSlice = 40 # maximum SP Slice QP value for rate control 475RCMinQPSISlice = 8 # minimum SI Slice QP value for rate control 476RCMaxQPSISlice = 42 # maximum SI Slice QP value for rate control 477RCMaxQPChange = 4 # maximum QP change for frames of the base layer 478 479######################################################################################## 480#Fast Mode Decision 481######################################################################################## 482EarlySkipEnable = 0 # Early skip detection (0: Disable 1: Enable) 483SelectiveIntraEnable = 0 # Selective Intra mode decision (0: Disable 1: Enable) 484 485######################################################################################## 486#FREXT stuff 487######################################################################################## 488 489YUVFormat = 1 # YUV format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4) 490RGBInput = 0 # 1=RGB input, 0=GBR or YUV input 491SeparateColourPlane = 0 # 4:4:4 coding: 0=Common mode, 1=Independent mode 492SourceBitDepthLuma = 8 # Source Bit Depth for Luma color component (8...14 bits) 493SourceBitDepthChroma = 8 # Source Bit Depth for Chroma color components (8...14 bits) 494SourceBitDepthRescale = 0 # Rescale bit depth of source for output (0: Disable 1: Enable) 495OutputBitDepthLuma = 8 # Output Bit Depth for Luma color component (8...14 bits) 496OutputBitDepthChroma = 8 # Output Bit Depth for Chroma color components (8...14 bits) 497 498CbQPOffset = 0 # Chroma QP offset for Cb-part (-51..51) 499CrQPOffset = 0 # Chroma QP offset for Cr-part (-51..51) 500Transform8x8Mode = 1 # (0: only 4x4 transform, 1: allow using 8x8 transform additionally, 2: only 8x8 transform) 501ReportFrameStats = 0 # (0:Disable Frame Statistics 1: Enable) 502DisplayEncParams = 0 # (0:Disable Display of Encoder Params 1: Enable) 503Verbose = 1 # level of display verboseness 504 # 0: short, 1: normal (default), 2: detailed, 3: detailed/nvb 505SkipGlobalStats = 0 # Disable global stat accumulation (Set to 1 to avoid bipred core dump) 506 507######################################################################################## 508#Q-Matrix (FREXT) 509######################################################################################## 510QmatrixFile = "q_matrix.cfg" 511 512ScalingMatrixPresentFlag = 0 # Enable Q_Matrix (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 513ScalingListPresentFlag0 = 3 # Intra4x4_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 514ScalingListPresentFlag1 = 3 # Intra4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 515ScalingListPresentFlag2 = 3 # Intra4x4_chromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 516ScalingListPresentFlag3 = 3 # Inter4x4_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 517ScalingListPresentFlag4 = 3 # Inter4x4_ChromaU (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 518ScalingListPresentFlag5 = 3 # Inter4x4_ChromaV (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 519ScalingListPresentFlag6 = 3 # Intra8x8_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 520ScalingListPresentFlag7 = 3 # Inter8x8_Luma (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 521ScalingListPresentFlag8 = 3 # Intra8x8_ChromaU for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 522ScalingListPresentFlag9 = 3 # Inter8x8_ChromaU for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 523ScalingListPresentFlag10 = 3 # Intra8x8_ChromaV for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 524ScalingListPresentFlag11 = 3 # Inter8x8_ChromaV for 4:4:4 (0 Not present, 1 Present in SPS, 2 Present in PPS, 3 Present in both SPS & PPS) 525 526######################################################################################## 527#Rounding Offset control 528######################################################################################## 529 530OffsetMatrixPresentFlag = 0 # Enable Explicit Offset Quantization Matrices (0: disable 1: enable) 531QOffsetMatrixFile = "q_offset.cfg" # Explicit Quantization Matrices file 532OffsetMatrixFlat = 0 # 0: use default initialization offsets (1/3 intra, 1/6 inter) 533 # 1: offsets initialized to 0.5 534 # 2: offsets initialized to 0.5 for chroma intra, otherwise uses default values 535 536AdaptiveRounding = 1 # Enable Adaptive Rounding based on JVT-N011 (0: disable, 1: enable) 537AdaptRoundingFixed = 0 # Enable Global Adaptive rounding for all qps (0: disable, 1: enable - default/old) 538AdaptRndPeriod = 16 # Period in terms of MBs for updating rounding offsets. 539 # 0 performs update at the picture level. Default is 16. 1 is as in JVT-N011. 540AdaptRndChroma = 1 # Enables coefficient rounding adaptation for chroma 541 542AdaptRndWFactorIRef = 8 # Adaptive Rounding Weight for I/SI slices in reference pictures /4096 543AdaptRndWFactorPRef = 8 # Adaptive Rounding Weight for P/SP slices in reference pictures /4096 544AdaptRndWFactorBRef = 8 # Adaptive Rounding Weight for B slices in reference pictures /4096 545AdaptRndWFactorINRef = 8 # Adaptive Rounding Weight for I/SI slices in non reference pictures /4096 546AdaptRndWFactorPNRef = 8 # Adaptive Rounding Weight for P/SP slices in non reference pictures /4096 547AdaptRndWFactorBNRef = 8 # Adaptive Rounding Weight for B slices in non reference pictures /4096 548 549AdaptRndCrWFactorIRef = 8 # Chroma Adaptive Rounding Weight for I/SI slices in reference pictures /4096 550AdaptRndCrWFactorPRef = 8 # Chroma Adaptive Rounding Weight for P/SP slices in reference pictures /4096 551AdaptRndCrWFactorBRef = 8 # Chroma Adaptive Rounding Weight for B slices in reference pictures /4096 552AdaptRndCrWFactorINRef = 8 # Chroma Adaptive Rounding Weight for I/SI slices in non reference pictures /4096 553AdaptRndCrWFactorPNRef = 8 # Chroma Adaptive Rounding Weight for P/SP slices in non reference pictures /4096 554AdaptRndCrWFactorBNRef = 8 # Chroma Adaptive Rounding Weight for B slices in non reference pictures /4096 555 556################################################################ 557# Rate Distortion Optimized Quantization 558################################################################ 559UseRDOQuant = 0 # Use Rate Distortion Optimized Quantization (0=disable, 1=enable) 560RDOQ_DC = 1 # Enable Rate Distortion Optimized Quantization for DC components (0=disable, 1=enable) 561RDOQ_CR = 1 # Enable Rate Distortion Optimized Quantization for Chroma components (0=disable, 1=enable) 562RDOQ_DC_CR = 1 # Enable Rate Distortion Optimized Quantization for Chroma DC components (0=disable, 1=enable) 563RDOQ_QP_Num = 5 # 1-9: Number of QP tested in RDO_Q (I/P/B slice) 564RDOQ_CP_Mode = 0 # copy Mode from first QP tested 565RDOQ_CP_MV = 0 # copy MV from first QP tested 566RDOQ_Fast = 0 # Fast RDOQ decision method for multiple QPs 567 568######################################################################################## 569#Lossless Coding (FREXT) 570######################################################################################## 571 572LosslessCoding = 0 # Enable lossless coding when qpprime_y is zero (0 Disabled, 1 Enabled) 573 574######################################################################################## 575#Fast Motion Estimation Control Parameters 576######################################################################################## 577 578SearchMode = 3 # Motion estimation mode 579 # -1 = Full Search 580 # 0 = Fast Full Search (default) 581 # 1 = UMHexagon Search 582 # 2 = Simplified UMHexagon Search 583 # 3 = Enhanced Predictive Zonal Search (EPZS) 584 585UMHexDSR = 1 # Use Search Range Prediction. Only for UMHexagonS method 586 # (0:disable, 1:enabled/default) 587UMHexScale = 3 # Use Scale_factor for different image sizes. Only for UMHexagonS method 588 # (0:disable, 3:/default) 589 # Increasing value can speed up Motion Search. 590 591EPZSPattern = 2 # Select EPZS primary refinement pattern. 592 # (0: small diamond, 1: square, 2: extended diamond/default, 593 # 3: large diamond, 4: SBP Large Diamond, 594 # 5: PMVFAST ) 595EPZSDualRefinement = 3 # Enables secondary refinement pattern. 596 # (0:disabled, 1: small diamond, 2: square, 597 # 3: extended diamond/default, 4: large diamond, 598 # 5: SBP Large Diamond, 6: PMVFAST ) 599EPZSFixedPredictors = 3 # Enables Window based predictors 600 # (0:disabled, 1: P only, 2: P and B, 3: Pic Boundary + P and B/default) 601EPZSAggressiveWindow = 0 # Use Aggressive Window pattern for EPZS (0: disabled, 1: enabled) 602EPZSTemporal = 1 # Enables temporal predictors 603 # (0: disabled, 1: enabled/default) 604EPZSSpatialMem = 1 # Enables spatial memory predictors 605 # (0: disabled, 1: enabled/default) 606EPZSBlockType = 1 # Enables block type Predictors 607 # (0: disabled, 1: enabled/default) 608EPZSMinThresScale = 0 # Scaler for EPZS minimum threshold (0 default). 609 # Increasing value can speed up encoding. 610EPZSMedThresScale = 1 # Scaler for EPZS median threshold (1 default). 611 # Increasing value can speed up encoding. 612EPZSMaxThresScale = 2 # Scaler for EPZS maximum threshold (1 default). 613 # Increasing value can speed up encoding. 614EPZSSubPelME = 1 # EPZS Subpel ME consideration 615EPZSSubPelMEBiPred = 1 # EPZS Subpel ME consideration for BiPred partitions 616EPZSSubPelThresScale = 1 # EPZS Subpel ME Threshold scaler 617EPZSSubPelGrid = 1 # Perform EPZS using a subpixel grid 618HMEEnable = 1 # Enable Hierarchical Motion Estimation consideration with EPZS (does not work with other ME Engines) 619EPZSUseHMEPredictors = 1 # Use HME motion vectors during EPZS refinement 620UseDistortionReorder = 1 # Use Distortion based reordering. If HME is enabled, then HME results are used, otherwise zero motion distortion is computed. 621 622######################################################################################## 623# SEI Parameters 624######################################################################################## 625 626ToneMappingSEIPresentFlag = 0 # Enable Tone mapping SEI (0 Not present, 1 Present) 627ToneMappingFile = "ToneMapping.cfg" 628 629GenerateSEIMessage = 0 # Generate an SEI Text Message 630SEIMessageText = "H.264/AVC Encoder" # Text SEI Message 631 632SEIFPAType = -1 # Set frame packing arrangement type 633 # -1 = disabled 634 # 0 = checkerboard 635 # 1 = columns alternate 636 # 2 = lines alternate 637 # 3 = side by side 638 # 4 = top and bottom 639 # 5 = frame alternate 640 # 6 = 2D 641 # 7 = tile 642 643UseMVLimits = 0 # Use MV Limits 644SetMVXLimit = 512 # Horizontal MV Limit (in integer units) 645SetMVYLimit = 512 # Vertical MV Limit (in integer units) 646 647######################################################################################## 648# VUI Parameters 649######################################################################################## 650# the variables below do not affect encoding and decoding 651# (many are dummy variables but others can be useful when supported by the decoder) 652 653EnableVUISupport = 0 # Enable VUI Parameters 654 655# display parameters 656VUI_aspect_ratio_info_present_flag = 0 657VUI_aspect_ratio_idc = 1 658VUI_sar_width = 0 659VUI_sar_height = 0 660VUI_overscan_info_present_flag = 0 661VUI_overscan_appropriate_flag = 0 662VUI_video_signal_type_present_flag = 0 663VUI_video_format = 5 664VUI_video_full_range_flag = 0 665VUI_colour_description_present_flag = 0 666VUI_colour_primaries = 2 667VUI_transfer_characteristics = 2 668VUI_matrix_coefficients = 2 669VUI_chroma_location_info_present_flag = 0 670VUI_chroma_sample_loc_type_top_field = 0 671VUI_chroma_sample_loc_type_bottom_field = 0 672VUI_timing_info_present_flag = 0 673VUI_num_units_in_tick = 1000 674VUI_time_scale = 60000 675VUI_fixed_frame_rate_flag = 0 676 677# nal hrd parameters 678VUI_nal_hrd_parameters_present_flag = 0 679VUI_nal_cpb_cnt_minus1 = 0 680VUI_nal_bit_rate_scale = 0 681VUI_nal_cpb_size_scale = 0 682VUI_nal_bit_rate_value_minus1 = 0 683VUI_nal_cpb_size_value_minus1 = 0 684VUI_nal_vbr_cbr_flag = 0 685VUI_nal_initial_cpb_removal_delay_length_minus1 = 23 686VUI_nal_cpb_removal_delay_length_minus1 = 23 687VUI_nal_dpb_output_delay_length_minus1 = 23 688VUI_nal_time_offset_length = 24 689 690# vlc hrd parameters 691VUI_vcl_hrd_parameters_present_flag = 0 692VUI_vcl_cpb_cnt_minus1 = 0 693VUI_vcl_bit_rate_scale = 0 694VUI_vcl_cpb_size_scale = 0 695VUI_vcl_bit_rate_value_minus1 = 0 696VUI_vcl_cpb_size_value_minus1 = 0 697VUI_vcl_vbr_cbr_flag = 0 698VUI_vcl_initial_cpb_removal_delay_length_minus1 = 23 699VUI_vcl_cpb_removal_delay_length_minus1 = 23 700VUI_vcl_dpb_output_delay_length_minus1 = 23 701VUI_vcl_time_offset_length = 24 702VUI_low_delay_hrd_flag = 0 703 704# other parameters (i.e. bitsream restrictions) 705VUI_pic_struct_present_flag = 0 706VUI_bitstream_restriction_flag = 0 707VUI_motion_vectors_over_pic_boundaries_flag = 1 708VUI_max_bytes_per_pic_denom = 0 709VUI_max_bits_per_mb_denom = 0 710VUI_log2_max_mv_length_vertical = 16 711VUI_log2_max_mv_length_horizontal = 16 712VUI_num_reorder_frames = 16 713VUI_max_dec_frame_buffering = 16 714 715