VideoHelp Forum
+ Reply to Thread
Results 1 to 2 of 2
Thread
  1. Hi, I have been trying to use a encoder to encode foreman.yuv video file using a configuration file.
    this is the error I have been getting no matter how I try to adjust the parameters:

    HM software: Encoder Version [16.6] (including RExt)[Windows][VS 1800][64 bit]

    Error: A bitstream file name must be specified (BitstreamFile)
    Error: Frame rate must be more than 1
    Error: Total Number Of Frames encoded must be more than 0
    Error: QuadtreeTULog2MaxSize must be 5 or smaller.

    Error: found fewer Reference Picture Sets than GOPSize
    Error: Invalid GOP structure given


    and the configuration file details are as follows:

    #======== File I/O =====================
    BitstreamFile : foreman_cif.yuv
    ReconFile : foreman_cif.yuv

    FrameRate : 24 # Frame Rate per second
    FrameSkip : 0 # Number of frames to be skipped in input
    SourceWidth : 352 # Input frame width
    SourceHeight : 288 # Input frame height
    FramesToBeEncoded : 10 # Number of frames to be coded

    #======== 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 : 4 # 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 : -1 # Period of I-Frame ( -1 = only first)
    DecodingRefreshType : 0 # Random Accesss 0:none, 1:CDR, 2:IDR
    GOPSize : 4 # GOP Size (number of B slice = GOPSize-1)
    # Type POC QPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 temporal_id #ref_pics_active #ref_pics reference pictures predict deltaRPS #ref_idcs reference idcs
    Frame1: B 1 3 0.4624 0 0 0 4 4 -1 -5 -9 -13 0
    Frame2: B 2 2 0.4624 0 0 0 4 4 -1 -2 -6 -10 1 -1 5 1 1 1 0 1
    Frame3: B 3 3 0.4624 0 0 0 4 4 -1 -3 -7 -11 1 -1 5 0 1 1 1 1
    Frame4: B 4 1 0.578 0 0 0 4 4 -1 -4 -8 -12 1 -1 5 0 1 1 1 1
    ListCombination : 1 # Use combined list for uni-prediction in B-slices

    #=========== 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
    MaxCuDQPDepth : 0 # Max depth of a minimum CuDQP for sub-LCU-level delta QP
    DeltaQpRD : 0 # Slice-based multi-QP optimization
    RDOQ : 1 # RDOQ
    RDOQTS : 1 # RDOQ for transform skip

    #=========== Deblock Filter ============
    DeblockingFilterControlPresent: 0 # Dbl control params present (0=not present, 1=present)
    LoopFilterOffsetInPPS : 0 # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
    LoopFilterDisable : 0 # Disable deblocking filter (0=Filter, 1=No Filter)
    LoopFilterBetaOffset_div2 : 0 # base_param: -13 ~ 13
    LoopFilterTcOffset_div2 : 0 # base_param: -13 ~ 13

    #=========== Misc. ============
    InternalBitDepth : 8 # codec operating bit-depth

    #=========== Coding Tools =================
    SAO : 1 # Sample adaptive offset (0: OFF, 1: ON)
    AMP : 1 # Asymmetric motion partitions (0: OFF, 1: ON)
    TransformSkip : 1 # Transform skipping (0: OFF, 1: ON)
    TransformSkipFast : 1 # Fast Transform skipping (0: OFF, 1: ON)
    SAOLcuBoundary : 0 # SAOLcuBoundary using non-deblocked pixels (0: OFF, 1: ON)

    #============ Slices ================
    SliceMode : 0 # 0: Disable all slice options.
    # 1: Enforce maximum number of LCU in an slice,
    # 2: Enforce maximum number of bytes in an 'slice'
    # 3: Enforce maximum number of tiles in a slice
    SliceArgument : 1500 # Argument for 'SliceMode'.
    # If SliceMode==1 it represents max. SliceGranularity-sized blocks per slice.
    # If SliceMode==2 it represents max. bytes per slice.
    # If SliceMode==3 it represents max. tiles per slice.

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

    #============ PCM ================
    PCMEnabledFlag : 0 # 0: No PCM mode
    PCMLog2MaxSize : 5 # Log2 of maximum PCM block size.
    PCMLog2MinSize : 3 # Log2 of minimum PCM block size.
    PCMInputBitDepthFlag : 1 # 0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth.
    PCMFilterDisableFlag : 0 # 0: Enable loop filtering on I_PCM samples. 1: Disable loop filtering on I_PCM samples.

    #============ Tiles ================
    UniformSpacingIdc : 0 # 0: the column boundaries are indicated by ColumnWidth array, the row boundaries are indicated by RowHeight array
    # 1: the column and row boundaries are distributed uniformly
    NumTileColumnsMinus1 : 0 # Number of columns in a picture minus 1
    ColumnWidthArray : 2 3 # Array containing ColumnWidth values in units of LCU (from left to right in picture)
    NumTileRowsMinus1 : 0 # Number of rows in a picture minus 1
    RowHeightArray : 2 # Array containing RowHeight values in units of LCU (from top to bottom in picture)

    LFCrossTileBoundaryFlag : 1 # In-loop filtering is across or not across tile boundary.
    # 0:not across, 1: across

    #============ WaveFront ================
    WaveFrontSynchro : 0 # 0: No WaveFront synchronisation (WaveFrontSubstreams must be 1 in this case).
    # >0: WaveFront synchronises with the LCU above and to the right by this many LCUs.

    #=========== Quantization Matrix =================
    ScalingList : 0 # ScalingList 0 : off, 1 : default, 2 : file read
    ScalingListFile : scaling_list.txt # Scaling List file name. If file is not exist, use Default Matrix.

    #============ Lossless ================
    TransquantBypassEnableFlag: 0 # Value of PPS flag.
    CUTransquantBypassFlagValue: 0 # Constant lossless-value signaling per CU, if TransquantBypassEnableFlag is 1.

    #============ Rate Control ======================
    RateControl : 0 # Rate control: enable rate control
    TargetBitrate : 1000000 # Rate control: target bitrate, in bps
    KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm
    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

    ### DO NOT ADD ANYTHING BELOW THIS LINE ###
    ### DO NOT DELETE THE EMPTY LINE BELOW ###
    Would be very grateful if anyone can help me answer my doubts
    Last edited by ironurn; 16th Jul 2015 at 03:35.
    Quote Quote  
  2. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    You should possibly wrap your quoted configuration rather in a CODE than in a B block (bbCode) ...

    I don't really know the HM encoder; but I believe that the "bitstream file" should be the name of the HEVC encoded output?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!