00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "fmo.h"
00012
00013 #ifndef _CONFIGFILE_H_
00014 #define _CONFIGFILE_H_
00015
00016 #define DEFAULTCONFIGFILENAME "encoder.cfg"
00017
00018 #define PROFILE_IDC 88
00019 #define LEVEL_IDC 21
00020
00021
00022 typedef struct {
00023 char *TokenName;
00024 void *Place;
00025 int Type;
00026 double Default;
00027 int param_limits;
00028 double min_limit;
00029 double max_limit;
00030 int char_size;
00031 } Mapping;
00032
00033 InputParameters cfgparams;
00034
00035
00036 #ifdef INCLUDED_BY_CONFIGFILE_C
00037
00038
00039
00040
00041
00042 Mapping Map[] = {
00043 {"ProfileIDC", &cfgparams.ProfileIDC, 0, (double) PROFILE_IDC, 0, 0.0, 0.0, },
00044 {"IntraProfile", &cfgparams.IntraProfile, 0, 0.0, 1, 0.0, 1.0, },
00045 {"LevelIDC", &cfgparams.LevelIDC, 0, (double) LEVEL_IDC, 0, 0.0, 0.0, },
00046 {"FrameRate", &cfgparams.source.frame_rate, 2, (double) INIT_FRAME_RATE, 1, 0.0, 100.0, },
00047 {"ResendSPS", &cfgparams.ResendSPS, 0, 0.0, 1, 0.0, 3.0, },
00048 {"StartFrame", &cfgparams.start_frame, 0, 0.0, 2, 0.0, 0.0, },
00049 {"IntraPeriod", &cfgparams.intra_period, 0, 0.0, 2, 0.0, 0.0, },
00050 {"IDRPeriod", &cfgparams.idr_period, 0, 0.0, 2, 0.0, 0.0, },
00051 {"IntraDelay", &cfgparams.intra_delay, 0, 0.0, 2, 0.0, 0.0, },
00052 {"AdaptiveIntraPeriod", &cfgparams.adaptive_intra_period, 0, 0.0, 1, 0.0, 1.0, },
00053 {"AdaptiveIDRPeriod", &cfgparams.adaptive_idr_period, 0, 0.0, 1, 0.0, 2.0, },
00054 {"EnableOpenGOP", &cfgparams.EnableOpenGOP, 0, 0.0, 1, 0.0, 1.0, },
00055 {"EnableIDRGOP", &cfgparams.EnableIDRGOP, 0, 0.0, 1, 0.0, 1.0, },
00056 {"FramesToBeEncoded", &cfgparams.no_frames, 0, 1.0, 2, -1.0, 0.0, },
00057 {"QPISlice", &cfgparams.qp[0][I_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00058 {"QPPSlice", &cfgparams.qp[0][P_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00059 {"QPBSlice", &cfgparams.qp[0][B_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00060 {"QPSPSlice", &cfgparams.qp[0][SP_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00061 {"QPSISlice", &cfgparams.qp[0][SI_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00062 {"QPSP2Slice", &cfgparams.qpsp[0], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00063 {"FrameSkip", &cfgparams.frame_skip, 0, 0.0, 2, 0.0, 0.0, },
00064 {"DisableSubpelME", &cfgparams.DisableSubpelME, 0, 0.0, 1, 0.0, 1.0, },
00065 {"SearchRange", &cfgparams.search_range, 0, 16.0, 2, 0.0, 0.0, },
00066 {"NumberReferenceFrames", &cfgparams.num_ref_frames, 0, 1.0, 1, 0.0, 16.0, },
00067 {"PList0References", &cfgparams.P_List0_refs, 0, 0.0, 1, 0.0, 16.0, },
00068 {"BList0References", &cfgparams.B_List0_refs, 0, 0.0, 1, 0.0, 16.0, },
00069 {"BList1References", &cfgparams.B_List1_refs, 0, 1.0, 1, 0.0, 16.0, },
00070 {"Log2MaxFNumMinus4", &cfgparams.Log2MaxFNumMinus4, 0, 0.0, 1, -1.0, 12.0, },
00071 {"Log2MaxPOCLsbMinus4", &cfgparams.Log2MaxPOCLsbMinus4, 0, 2.0, 1, -1.0, 12.0, },
00072 {"GenerateMultiplePPS", &cfgparams.GenerateMultiplePPS, 0, 0.0, 1, 0.0, 1.0, },
00073 {"ResendPPS", &cfgparams.ResendPPS, 0, 0.0, 1, 0.0, 1.0, },
00074 {"SendAUD", &cfgparams.SendAUD, 0, 0.0, 1, 0.0, 1.0, },
00075 {"SourceWidth", &cfgparams.source.width, 0, 176.0, 2, 0.0, 0.0, },
00076 {"SourceHeight", &cfgparams.source.height, 0, 144.0, 2, 0.0, 0.0, },
00077 {"SourceResize", &cfgparams.src_resize, 0, 0.0, 1, 0.0, 1.0, },
00078 {"OutputWidth", &cfgparams.output.width, 0, 176.0, 2, 16.0, 0.0, },
00079 {"OutputHeight", &cfgparams.output.height, 0, 144.0, 2, 16.0, 0.0, },
00080 {"Grayscale", &cfgparams.grayscale, 0, 0.0, 0, 0.0, 1.0, },
00081 {"MbLineIntraUpdate", &cfgparams.intra_upd, 0, 0.0, 1, 0.0, 1.0, },
00082 {"SliceMode", &cfgparams.slice_mode, 0, 0.0, 1, 0.0, 3.0, },
00083 {"SliceArgument", &cfgparams.slice_argument, 0, 1.0, 2, 1.0, 1.0, },
00084 {"UseConstrainedIntraPred", &cfgparams.UseConstrainedIntraPred, 0, 0.0, 1, 0.0, 1.0, },
00085 {"InputFile1", &cfgparams.input_file1.fname, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00086 {"InputFile", &cfgparams.input_file1.fname, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00087 {"InputHeaderLength", &cfgparams.infile_header, 0, 0.0, 2, 0.0, 1.0, },
00088 {"OutputFile", &cfgparams.outfile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00089 {"ReconFile", &cfgparams.ReconFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00090 {"TraceFile", &cfgparams.TraceFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00091 {"StatsFile", &cfgparams.StatsFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00092 {"DisposableP", &cfgparams.DisposableP, 0, 0.0, 1, 0.0, 1.0, },
00093 {"SetFirstAsLongTerm", &cfgparams.SetFirstAsLongTerm, 0, 0.0, 1, 0.0, 1.0, },
00094 {"MultiSourceData", &cfgparams.MultiSourceData, 0, 0.0, 0, 0.0, 2.0, },
00095 {"InputFile2", &cfgparams.input_file2.fname, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00096 {"InputFile3", &cfgparams.input_file3.fname, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00097
00098 {"ProcessInput", &cfgparams.ProcessInput, 0, 0.0, 1, 0.0, 4.0, },
00099 {"DispPQPOffset", &cfgparams.DispPQPOffset, 0, 0.0, 0,-51.0, 51.0, },
00100 {"NumberBFrames", &cfgparams.NumberBFrames, 0, 0.0, 2, 0.0, 0.0, },
00101 {"PReplaceBSlice", &cfgparams.PReplaceBSlice, 0, 0.0, 1, 0.0, 1.0, },
00102 {"BRefPicQPOffset", &cfgparams.qpBRSOffset[0], 0, 0.0, 0,-51.0, 51.0, },
00103 {"DirectModeType", &cfgparams.direct_spatial_mv_pred_flag, 0, 0.0, 1, 0.0, 1.0, },
00104 {"DirectInferenceFlag", &cfgparams.directInferenceFlag, 0, 1.0, 1, 0.0, 1.0, },
00105 {"SPPicturePeriodicity", &cfgparams.sp_periodicity, 0, 0.0, 2, 0.0, 0.0, },
00106 {"SI_FRAMES", &cfgparams.si_frame_indicator, 0, 0.0, 1, 0.0, 1.0, },
00107 {"SP_output", &cfgparams.sp_output_indicator, 0, 0.0, 1, 0.0, 1.0, },
00108 {"SP_output_name", &cfgparams.sp_output_filename, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00109 {"SP2_FRAMES", &cfgparams.sp2_frame_indicator, 0, 0.0, 1, 0.0, 1.0, },
00110 {"SP2_input_name1", &cfgparams.sp2_input_filename1, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00111 {"SP2_input_name2", &cfgparams.sp2_input_filename2, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00112 {"SymbolMode", &cfgparams.symbol_mode, 0, 0.0, 1, (double) CAVLC, (double) CABAC, },
00113 {"OutFileMode", &cfgparams.of_mode, 0, 0.0, 1, 0.0, 1.0, },
00114 {"PartitionMode", &cfgparams.partition_mode, 0, 0.0, 1, 0.0, 1.0, },
00115 {"PSliceSkip", &cfgparams.InterSearch[0][0], 0, 1.0, 1, 0.0, 1.0, },
00116 {"PSliceSearch16x16", &cfgparams.InterSearch[0][1], 0, 1.0, 1, 0.0, 1.0, },
00117 {"PSliceSearch16x8", &cfgparams.InterSearch[0][2], 0, 1.0, 1, 0.0, 1.0, },
00118 {"PSliceSearch8x16", &cfgparams.InterSearch[0][3], 0, 1.0, 1, 0.0, 1.0, },
00119 {"PSliceSearch8x8", &cfgparams.InterSearch[0][4], 0, 1.0, 1, 0.0, 1.0, },
00120 {"PSliceSearch8x4", &cfgparams.InterSearch[0][5], 0, 1.0, 1, 0.0, 1.0, },
00121 {"PSliceSearch4x8", &cfgparams.InterSearch[0][6], 0, 1.0, 1, 0.0, 1.0, },
00122 {"PSliceSearch4x4", &cfgparams.InterSearch[0][7], 0, 1.0, 1, 0.0, 1.0, },
00123
00124 {"BSliceDirect", &cfgparams.InterSearch[1][0], 0, 1.0, 1, 0.0, 1.0, },
00125 {"BSliceSearch16x16", &cfgparams.InterSearch[1][1], 0, 1.0, 1, 0.0, 1.0, },
00126 {"BSliceSearch16x8", &cfgparams.InterSearch[1][2], 0, 1.0, 1, 0.0, 1.0, },
00127 {"BSliceSearch8x16", &cfgparams.InterSearch[1][3], 0, 1.0, 1, 0.0, 1.0, },
00128 {"BSliceSearch8x8", &cfgparams.InterSearch[1][4], 0, 1.0, 1, 0.0, 1.0, },
00129 {"BSliceSearch8x4", &cfgparams.InterSearch[1][5], 0, 1.0, 1, 0.0, 1.0, },
00130 {"BSliceSearch4x8", &cfgparams.InterSearch[1][6], 0, 1.0, 1, 0.0, 1.0, },
00131 {"BSliceSearch4x4", &cfgparams.InterSearch[1][7], 0, 1.0, 1, 0.0, 1.0, },
00132
00133 {"BiPredMotionEstimation", &cfgparams.BiPredMotionEstimation, 0, 0.0, 1, 0.0, 1.0, },
00134 {"BiPredSearch16x16", &cfgparams.BiPredSearch[0], 0, 1.0, 1, 0.0, 1.0, },
00135 {"BiPredSearch16x8", &cfgparams.BiPredSearch[1], 0, 0.0, 1, 0.0, 1.0, },
00136 {"BiPredSearch8x16", &cfgparams.BiPredSearch[2], 0, 0.0, 1, 0.0, 1.0, },
00137 {"BiPredSearch8x8", &cfgparams.BiPredSearch[3], 0, 0.0, 1, 0.0, 1.0, },
00138
00139 {"BiPredMERefinements", &cfgparams.BiPredMERefinements, 0, 0.0, 1, 0.0, 5.0, },
00140 {"BiPredMESearchRange", &cfgparams.BiPredMESearchRange, 0, 8.0, 2, 0.0, 0.0, },
00141 {"BiPredMESubPel", &cfgparams.BiPredMESubPel, 0, 1.0, 1, 0.0, 2.0, },
00142
00143 {"DisableIntraInInter", &cfgparams.DisableIntraInInter, 0, 0.0, 1, 0.0, 1.0, },
00144 {"IntraDisableInterOnly", &cfgparams.IntraDisableInterOnly, 0, 0.0, 1, 0.0, 1.0, },
00145 {"DisableIntra4x4", &cfgparams.DisableIntra4x4, 0, 0.0, 1, 0.0, 1.0, },
00146 {"DisableIntra16x16", &cfgparams.DisableIntra16x16, 0, 0.0, 1, 0.0, 1.0, },
00147 {"Intra4x4ParDisable", &cfgparams.Intra4x4ParDisable, 0, 0.0, 1, 0.0, 1.0, },
00148 {"Intra4x4DiagDisable", &cfgparams.Intra4x4DiagDisable, 0, 0.0, 1, 0.0, 1.0, },
00149 {"Intra4x4DirDisable", &cfgparams.Intra4x4DirDisable, 0, 0.0, 1, 0.0, 1.0, },
00150 {"Intra16x16ParDisable", &cfgparams.Intra16x16ParDisable, 0, 0.0, 1, 0.0, 1.0, },
00151 {"Intra16x16PlaneDisable", &cfgparams.Intra16x16PlaneDisable, 0, 0.0, 1, 0.0, 1.0, },
00152 {"EnableIPCM", &cfgparams.EnableIPCM, 0, 0.0, 1, 0.0, 1.0, },
00153 {"ChromaIntraDisable", &cfgparams.ChromaIntraDisable, 0, 0.0, 1, 0.0, 1.0, },
00154 {"FastMDEnable", &cfgparams.FastMDEnable, 0, 0.0, 1, 0.0, 1.0, },
00155 {"FastIntraMD", &cfgparams.FastIntraMD, 0, 0.0, 1, 0.0, 5.0, },
00156 {"FastIntra4x4", &cfgparams.FastIntra4x4, 0, 0.0, 1, 0.0, 6.0, },
00157 {"FastIntra16x16", &cfgparams.FastIntra16x16, 0, 0.0, 1, 0.0, 2.0, },
00158 {"FastIntra8x8", &cfgparams.FastIntra8x8, 0, 0.0, 1, 0.0, 6.0, },
00159 {"FastIntraChroma", &cfgparams.FastIntraChroma, 0, 0.0, 1, 0.0, 1.0, },
00160 {"ChangeQPStart", &cfgparams.qp2start, 0, 0.0, 2, 0.0, 0.0, },
00161 {"ChangeQPI", &cfgparams.qp[1][I_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00162 {"ChangeQPP", &cfgparams.qp[1][P_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00163 {"ChangeQPB", &cfgparams.qp[1][B_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00164 {"ChangeQPSP", &cfgparams.qp[1][SP_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00165 {"ChangeQPSI", &cfgparams.qp[1][SI_SLICE], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00166 {"ChangeQPSP2", &cfgparams.qpsp[1], 0, 24.0, 3, (double) MIN_QP, (double) MAX_QP, },
00167 {"ChangeQPBSRefOffset", &cfgparams.qpBRSOffset[1], 0, 0.0, 1,-51.0, 51.0, },
00168
00169 {"RDOptimization", &cfgparams.rdopt, 0, 0.0, 1, 0.0, 3.0, },
00170 {"SubMBCodingState", &cfgparams.subMBCodingState, 0, 2.0, 1, 0.0, 2.0, },
00171 {"I16RDOpt", &cfgparams.I16rdo, 0, 0.0, 1, 0.0, 1.0, },
00172 {"DistortionSSIM", &cfgparams.Distortion[SSIM], 0, 0.0, 1, 0.0, 1.0, },
00173 {"DistortionMS_SSIM", &cfgparams.Distortion[MS_SSIM], 0, 0.0, 1, 0.0, 1.0, },
00174 {"SSIMOverlapSize", &cfgparams.SSIMOverlapSize, 0, 1.0, 2, 1.0, 1.0, },
00175 {"DistortionYUVtoRGB", &cfgparams.DistortionYUVtoRGB, 0, 0.0, 1, 0.0, 1.0, },
00176 {"CtxAdptLagrangeMult", &cfgparams.CtxAdptLagrangeMult, 0, 0.0, 1, 0.0, 1.0, },
00177 {"FastCrIntraDecision", &cfgparams.FastCrIntraDecision, 0, 0.0, 1, 0.0, 1.0, },
00178 {"DisableThresholding", &cfgparams.disthres, 0, 0.0, 1, 0.0, 1.0, },
00179 {"DisableBSkipRDO", &cfgparams.nobskip, 0, 0.0, 1, 0.0, 1.0, },
00180 {"ForceTrueRateRDO", &cfgparams.ForceTrueRateRDO, 0, 0.0, 1, 0.0, 2.0, },
00181 {"LossRateA", &cfgparams.LossRateA, 0, 0.0, 2, 0.0, 0.0, },
00182 {"LossRateB", &cfgparams.LossRateB, 0, 0.0, 2, 0.0, 0.0, },
00183 {"LossRateC", &cfgparams.LossRateC, 0, 0.0, 2, 0.0, 0.0, },
00184 {"NumberOfDecoders", &cfgparams.NoOfDecoders, 0, 0.0, 2, 0.0, 0.0, },
00185 {"ErrorConcealment", &cfgparams.ErrorConcealment, 0, 0.0, 2, 0.0, 0.0, },
00186 {"RestrictRefFrames", &cfgparams.RestrictRef , 0, 0.0, 1, 0.0, 1.0, },
00187 #ifdef _LEAKYBUCKET_
00188 {"NumberofLeakyBuckets", &cfgparams.NumberLeakyBuckets, 0, 2.0, 1, 2.0, 255.0, },
00189 {"LeakyBucketRateFile", &cfgparams.LeakyBucketRateFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00190 {"LeakyBucketParamFile", &cfgparams.LeakyBucketParamFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00191 #endif
00192 {"PicInterlace", &cfgparams.PicInterlace, 0, 0.0, 1, 0.0, 2.0, },
00193 {"MbInterlace", &cfgparams.MbInterlace, 0, 0.0, 1, 0.0, 3.0, },
00194
00195 {"IntraBottom", &cfgparams.IntraBottom, 0, 0.0, 1, 0.0, 1.0, },
00196
00197 {"NumFramesInELayerSubSeq", &cfgparams.NumFramesInELSubSeq, 0, 0.0, 2, 0.0, 0.0, },
00198 {"RandomIntraMBRefresh", &cfgparams.RandomIntraMBRefresh, 0, 0.0, 2, 0.0, 0.0, },
00199 {"WeightedPrediction", &cfgparams.WeightedPrediction, 0, 0.0, 1, 0.0, 1.0, },
00200 {"WeightedBiprediction", &cfgparams.WeightedBiprediction, 0, 0.0, 1, 0.0, 2.0, },
00201 {"WPMethod", &cfgparams.WPMethod, 0, 0.0, 1, 0.0, 1.0, },
00202 {"WPIterMC", &cfgparams.WPIterMC, 0, 0.0, 1, 0.0, 1.0, },
00203 {"ChromaWeightSupport", &cfgparams.ChromaWeightSupport, 0, 0.0, 1, 0.0, 1.0, },
00204 {"EnhancedBWeightSupport", &cfgparams.EnhancedBWeightSupport, 0, 0.0, 1, 0.0, 1.0, },
00205 {"UseWeightedReferenceME", &cfgparams.UseWeightedReferenceME, 0, 0.0, 1, 0.0, 1.0, },
00206 {"RDPictureDecision", &cfgparams.RDPictureDecision, 0, 0.0, 1, 0.0, 1.0, },
00207 {"RDPictureIntra", &cfgparams.RDPictureIntra, 0, 0.0, 1, 0.0, 1.0, },
00208 {"RDPSliceWeightOnly", &cfgparams.RDPSliceWeightOnly, 0, 1.0, 1, 0.0, 2.0, },
00209 {"RDPSliceBTest", &cfgparams.RDPSliceBTest, 0, 0.0, 1, 0.0, 1.0, },
00210 {"RDBSliceWeightOnly", &cfgparams.RDBSliceWeightOnly, 0, 0.0, 1, 0.0, 2.0, },
00211
00212 {"SkipIntraInInterSlices", &cfgparams.SkipIntraInInterSlices, 0, 0.0, 1, 0.0, 1.0, },
00213 {"BReferencePictures", &cfgparams.BRefPictures, 0, 0.0, 1, 0.0, 2.0, },
00214 {"HierarchicalCoding", &cfgparams.HierarchicalCoding, 0, 0.0, 1, 0.0, 3.0, },
00215 {"HierarchyLevelQPEnable", &cfgparams.HierarchyLevelQPEnable, 0, 0.0, 1, 0.0, 1.0, },
00216 {"ExplicitHierarchyFormat", &cfgparams.ExplicitHierarchyFormat, 1, 0.0, 0, 0.0, 0.0, INPUT_TEXT_SIZE,},
00217 {"ExplicitSeqCoding", &cfgparams.ExplicitSeqCoding, 0, 0.0, 1, 0.0, 3.0, },
00218 {"ExplicitSeqFile", &cfgparams.ExplicitSeqFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00219 {"ReferenceReorder", &cfgparams.ReferenceReorder, 0, 0.0, 1, 0.0, 3.0, },
00220 {"PocMemoryManagement", &cfgparams.PocMemoryManagement, 0, 0.0, 1, 0.0, 1.0, },
00221
00222 {"DFParametersFlag", &cfgparams.DFSendParameters, 0, 0.0, 1, 0.0, 1.0, },
00223 {"DFDisableRefISlice", &cfgparams.DFDisableIdc[1][I_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00224 {"DFDisableNRefISlice", &cfgparams.DFDisableIdc[0][I_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00225 {"DFDisableRefPSlice", &cfgparams.DFDisableIdc[1][P_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00226 {"DFDisableNRefPSlice", &cfgparams.DFDisableIdc[0][P_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00227 {"DFDisableRefBSlice", &cfgparams.DFDisableIdc[1][B_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00228 {"DFDisableNRefBSlice", &cfgparams.DFDisableIdc[0][B_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00229 {"DFDisableRefSPSlice", &cfgparams.DFDisableIdc[1][SP_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00230 {"DFDisableNRefSPSlice", &cfgparams.DFDisableIdc[0][SP_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00231 {"DFDisableRefSISlice", &cfgparams.DFDisableIdc[1][SI_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00232 {"DFDisableNRefSISlice", &cfgparams.DFDisableIdc[0][SI_SLICE], 0, 0.0, 1, 0.0, 2.0, },
00233 {"DFAlphaRefISlice", &cfgparams.DFAlpha[1][I_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00234 {"DFAlphaNRefISlice", &cfgparams.DFAlpha[0][I_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00235 {"DFAlphaRefPSlice", &cfgparams.DFAlpha[1][P_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00236 {"DFAlphaNRefPSlice", &cfgparams.DFAlpha[0][P_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00237 {"DFAlphaRefBSlice", &cfgparams.DFAlpha[1][B_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00238 {"DFAlphaNRefBSlice", &cfgparams.DFAlpha[0][B_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00239 {"DFAlphaRefSPSlice", &cfgparams.DFAlpha[1][SP_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00240 {"DFAlphaNRefSPSlice", &cfgparams.DFAlpha[0][SP_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00241 {"DFAlphaRefSISlice", &cfgparams.DFAlpha[1][SI_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00242 {"DFAlphaNRefSISlice", &cfgparams.DFAlpha[0][SI_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00243 {"DFBetaRefISlice", &cfgparams.DFBeta[1][I_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00244 {"DFBetaNRefISlice", &cfgparams.DFBeta[0][I_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00245 {"DFBetaRefPSlice", &cfgparams.DFBeta[1][P_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00246 {"DFBetaNRefPSlice", &cfgparams.DFBeta[0][P_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00247 {"DFBetaRefBSlice", &cfgparams.DFBeta[1][B_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00248 {"DFBetaNRefBSlice", &cfgparams.DFBeta[0][B_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00249 {"DFBetaRefSPSlice", &cfgparams.DFBeta[1][SP_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00250 {"DFBetaNRefSPSlice", &cfgparams.DFBeta[0][SP_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00251 {"DFBetaRefSISlice", &cfgparams.DFBeta[1][SI_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00252 {"DFBetaNRefSISlice", &cfgparams.DFBeta[0][SI_SLICE], 0, 0.0, 1, -6.0, 6.0, },
00253
00254 {"SparePictureOption", &cfgparams.SparePictureOption, 0, 0.0, 1, 0.0, 1.0, },
00255 {"SparePictureDetectionThr", &cfgparams.SPDetectionThreshold, 0, 0.0, 2, 0.0, 0.0, },
00256 {"SparePicturePercentageThr",&cfgparams.SPPercentageThreshold, 0, 0.0, 2, 0.0, 100.0, },
00257
00258 {"num_slice_groups_minus1", &cfgparams.num_slice_groups_minus1, 0, 0.0, 1, 0.0, (double)MAXSLICEGROUPIDS - 1 },
00259 {"slice_group_map_type", &cfgparams.slice_group_map_type, 0, 0.0, 1, 0.0, 6.0, },
00260 {"slice_group_change_direction_flag", &cfgparams.slice_group_change_direction_flag, 0, 0.0, 1, 0.0, 2.0, },
00261 {"slice_group_change_rate_minus1", &cfgparams.slice_group_change_rate_minus1, 0, 0.0, 2, 0.0, 1.0, },
00262 {"SliceGroupConfigFileName", &cfgparams.SliceGroupConfigFileName, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00263
00264 {"UseRedundantPicture", &cfgparams.redundant_pic_flag, 0, 0.0, 1, 0.0, 1.0, },
00265 {"NumRedundantHierarchy", &cfgparams.NumRedundantHierarchy, 0, 0.0, 1, 0.0, 4.0, },
00266 {"PrimaryGOPLength", &cfgparams.PrimaryGOPLength, 0, 1.0, 1, 1.0, 16.0, },
00267 {"NumRefPrimary", &cfgparams.NumRefPrimary, 0, 1.0, 1, 1.0, 16.0, },
00268
00269 {"PicOrderCntType", &cfgparams.pic_order_cnt_type, 0, 0.0, 1, 0.0, 2.0, },
00270
00271 {"ContextInitMethod", &cfgparams.context_init_method, 0, 0.0, 1, 0.0, 1.0, },
00272 {"FixedModelNumber", &cfgparams.model_number, 0, 0.0, 1, 0.0, 2.0, },
00273
00274 {"ReportFrameStats", &cfgparams.ReportFrameStats, 0, 0.0, 1, 0.0, 1.0, },
00275 {"DisplayEncParams", &cfgparams.DisplayEncParams, 0, 0.0, 1, 0.0, 1.0, },
00276 {"Verbose", &cfgparams.Verbose, 0, 1.0, 1, 0.0, 4.0, },
00277 {"SkipGlobalStats", &cfgparams.skip_gl_stats, 0, 0.0, 1, 0.0, 1.0, },
00278 {"ChromaMCBuffer", &cfgparams.ChromaMCBuffer, 0, 0.0, 1, 0.0, 1.0, },
00279 {"ChromaMEEnable", &cfgparams.ChromaMEEnable, 0, 0.0, 1, 0.0, 2.0, },
00280 {"ChromaMEWeight", &cfgparams.ChromaMEWeight, 0, 1.0, 2, 1.0, 0.0, },
00281 {"MEDistortionFPel", &cfgparams.MEErrorMetric[F_PEL], 0, 0.0, 1, 0.0, 3.0, },
00282 {"MEDistortionHPel", &cfgparams.MEErrorMetric[H_PEL], 0, 0.0, 1, 0.0, 3.0, },
00283 {"MEDistortionQPel", &cfgparams.MEErrorMetric[Q_PEL], 0, 0.0, 1, 0.0, 3.0, },
00284 {"MDDistortion", &cfgparams.ModeDecisionMetric, 0, 2.0, 1, 0.0, 2.0, },
00285 {"SkipDeBlockNonRef", &cfgparams.SkipDeBlockNonRef, 0, 0.0, 1, 0.0, 1.0, },
00286
00287
00288 {"RateControlEnable", &cfgparams.RCEnable, 0, 0.0, 1, 0.0, 1.0, },
00289 {"Bitrate", &cfgparams.bit_rate, 0, 0.0, 2, 0.0, 0.0, },
00290 {"InitialQP", &cfgparams.SeinitialQP, 0, 0.0, 3, (double) MIN_QP, (double) MAX_QP, },
00291 {"BasicUnit", &cfgparams.basicunit, 0, 0.0, 2, 0.0, 0.0, },
00292 {"ChannelType", &cfgparams.channel_type, 0, 0.0, 1, 0.0, 1.0, },
00293 {"RCUpdateMode", &cfgparams.RCUpdateMode, 0, 0.0, 1, 0.0, 4.0, },
00294 {"RCISliceBitRatio", &cfgparams.RCISliceBitRatio, 2, 1.0, 1, 0.0, 20.0, },
00295 {"RCBSliceBitRatio0", &cfgparams.RCBSliceBitRatio[0], 2, 0.5, 1, 0.0, 20.0, },
00296 {"RCBSliceBitRatio1", &cfgparams.RCBSliceBitRatio[1], 2, 0.25, 1, 0.0, 20.0, },
00297 {"RCBSliceBitRatio2", &cfgparams.RCBSliceBitRatio[2], 2, 0.25, 1, 0.0, 20.0, },
00298 {"RCBSliceBitRatio3", &cfgparams.RCBSliceBitRatio[3], 2, 0.25, 1, 0.0, 20.0, },
00299 {"RCBSliceBitRatio4", &cfgparams.RCBSliceBitRatio[4], 2, 0.25, 1, 0.0, 20.0, },
00300 {"RCBoverPRatio", &cfgparams.RCBoverPRatio, 2, 0.45, 1, 0.0, 1000.0, },
00301 {"RCIoverPRatio", &cfgparams.RCIoverPRatio, 2, 3.80, 1, 0.0, 1000.0, },
00302 {"RCMinQPPSlice", &cfgparams.RCMinQP[P_SLICE], 0, (double) MIN_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00303 {"RCMaxQPPSlice", &cfgparams.RCMaxQP[P_SLICE], 0, (double) MAX_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00304 {"RCMinQPBSlice", &cfgparams.RCMinQP[B_SLICE], 0, (double) MIN_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00305 {"RCMaxQPBSlice", &cfgparams.RCMaxQP[B_SLICE], 0, (double) MAX_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00306 {"RCMinQPISlice", &cfgparams.RCMinQP[I_SLICE], 0, (double) MIN_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00307 {"RCMaxQPISlice", &cfgparams.RCMaxQP[I_SLICE], 0, (double) MAX_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00308 {"RCMinQPSPSlice", &cfgparams.RCMinQP[SP_SLICE], 0, (double) MIN_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00309 {"RCMaxQPSPSlice", &cfgparams.RCMaxQP[SP_SLICE], 0, (double) MAX_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00310 {"RCMinQPSISlice", &cfgparams.RCMinQP[SI_SLICE], 0, (double) MIN_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00311 {"RCMaxQPSISlice", &cfgparams.RCMaxQP[SI_SLICE], 0, (double) MAX_QP, 3, (double) MIN_QP, (double) MAX_QP, },
00312 {"RCMaxQPChange", &cfgparams.RCMaxQPChange, 0, 4.0, 1, 0.0, 10.0, },
00313
00314
00315 {"QmatrixFile", &cfgparams.QmatrixFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00316 {"ScalingMatrixPresentFlag", &cfgparams.ScalingMatrixPresentFlag, 0, 0.0, 1, 0.0, 3.0, },
00317 {"ScalingListPresentFlag0", &cfgparams.ScalingListPresentFlag[0], 0, 0.0, 1, 0.0, 3.0, },
00318 {"ScalingListPresentFlag1", &cfgparams.ScalingListPresentFlag[1], 0, 0.0, 1, 0.0, 3.0, },
00319 {"ScalingListPresentFlag2", &cfgparams.ScalingListPresentFlag[2], 0, 0.0, 1, 0.0, 3.0, },
00320 {"ScalingListPresentFlag3", &cfgparams.ScalingListPresentFlag[3], 0, 0.0, 1, 0.0, 3.0, },
00321 {"ScalingListPresentFlag4", &cfgparams.ScalingListPresentFlag[4], 0, 0.0, 1, 0.0, 3.0, },
00322 {"ScalingListPresentFlag5", &cfgparams.ScalingListPresentFlag[5], 0, 0.0, 1, 0.0, 3.0, },
00323 {"ScalingListPresentFlag6", &cfgparams.ScalingListPresentFlag[6], 0, 0.0, 1, 0.0, 3.0, },
00324 {"ScalingListPresentFlag7", &cfgparams.ScalingListPresentFlag[7], 0, 0.0, 1, 0.0, 3.0, },
00325 {"ScalingListPresentFlag8", &cfgparams.ScalingListPresentFlag[8], 0, 0.0, 1, 0.0, 3.0, },
00326 {"ScalingListPresentFlag9", &cfgparams.ScalingListPresentFlag[9], 0, 0.0, 1, 0.0, 3.0, },
00327 {"ScalingListPresentFlag10", &cfgparams.ScalingListPresentFlag[10], 0, 0.0, 1, 0.0, 3.0, },
00328 {"ScalingListPresentFlag11", &cfgparams.ScalingListPresentFlag[11], 0, 0.0, 1, 0.0, 3.0, },
00329
00330
00331 {"ChromaQPOffset", &cfgparams.chroma_qp_index_offset, 0, 0.0, 1,-51.0, 51.0, },
00332
00333
00334
00335 {"SourceBitDepthLuma", &cfgparams.source.bit_depth[0], 0, 8.0, 1, 8.0, 14.0, },
00336 {"SourceBitDepthChroma", &cfgparams.source.bit_depth[1], 0, 8.0, 1, 8.0, 14.0, },
00337 {"SourceBitDepthRescale", &cfgparams.src_BitDepthRescale, 0, 0.0, 1, 0.0, 1.0, },
00338
00339 {"OutputBitDepthLuma", &cfgparams.output.bit_depth[0], 0, 8.0, 1, 8.0, 14.0, },
00340 {"OutputBitDepthChroma", &cfgparams.output.bit_depth[1], 0, 8.0, 1, 8.0, 14.0, },
00341
00342 {"YUVFormat", &cfgparams.yuv_format, 0, 1.0, 1, 0.0, 3.0, },
00343 {"RGBInput", &cfgparams.source.color_model, 0, 0.0, 1, 0.0, 1.0, },
00344 {"Interleaved", &cfgparams.input_file1.is_interleaved , 0, 0.0, 1, 0.0, 1.0, },
00345 {"CbQPOffset", &cfgparams.cb_qp_index_offset, 0, 0.0, 1,-51.0, 51.0, },
00346 {"CrQPOffset", &cfgparams.cr_qp_index_offset, 0, 0.0, 1,-51.0, 51.0, },
00347 {"Transform8x8Mode", &cfgparams.Transform8x8Mode, 0, 0.0, 1, 0.0, 2.0, },
00348
00349 {"LosslessCoding", &cfgparams.LosslessCoding, 0, 0.0, 1, 0.0, 1.0, },
00350
00351
00352 {"UseExplicitLambdaParams", &cfgparams.UseExplicitLambdaParams, 0, 0.0, 1, 0.0, 3.0, },
00353 {"UpdateLambdaChromaME", &cfgparams.UpdateLambdaChromaME, 0, 0.0, 1, 0.0, 3.0, },
00354 {"FixedLambdaPSlice", &cfgparams.FixedLambda[P_SLICE], 2, 0.1, 2, 0.0, 0.0, },
00355 {"FixedLambdaBSlice", &cfgparams.FixedLambda[B_SLICE], 2, 0.1, 2, 0.0, 0.0, },
00356 {"FixedLambdaISlice", &cfgparams.FixedLambda[I_SLICE], 2, 0.1, 2, 0.0, 0.0, },
00357 {"FixedLambdaSPSlice", &cfgparams.FixedLambda[SP_SLICE], 2, 0.1, 2, 0.0, 0.0, },
00358 {"FixedLambdaSISlice", &cfgparams.FixedLambda[SI_SLICE], 2, 0.1, 2, 0.0, 0.0, },
00359 {"FixedLambdaRefBSlice", &cfgparams.FixedLambda[5], 2, 0.1, 2, 0.0, 0.0, },
00360 {"LambdaWeightPSlice", &cfgparams.LambdaWeight[P_SLICE], 2, 0.68, 2, 0.0, 0.0, },
00361 {"LambdaWeightBSlice", &cfgparams.LambdaWeight[B_SLICE], 2, 2.00, 2, 0.0, 0.0, },
00362 {"LambdaWeightISlice", &cfgparams.LambdaWeight[I_SLICE], 2, 0.65, 2, 0.0, 0.0, },
00363 {"LambdaWeightSPSlice", &cfgparams.LambdaWeight[SP_SLICE], 2, 1.50, 2, 0.0, 0.0, },
00364 {"LambdaWeightSISlice", &cfgparams.LambdaWeight[SI_SLICE], 2, 0.65, 2, 0.0, 0.0, },
00365 {"LambdaWeightRefBSlice", &cfgparams.LambdaWeight[5], 2, 1.50, 2, 0.0, 0.0, },
00366
00367 {"QOffsetMatrixFile", &cfgparams.QOffsetMatrixFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00368 {"OffsetMatrixPresentFlag", &cfgparams.OffsetMatrixPresentFlag, 0, 0.0, 1, 0.0, 1.0, },
00369
00370
00371 {"AdaptiveRounding", &cfgparams.AdaptiveRounding, 0, 0.0, 1, 0.0, 1.0, },
00372 {"AdaptRoundingFixed", &cfgparams.AdaptRoundingFixed, 0, 1.0, 1, 0.0, 1.0, },
00373 {"AdaptRndPeriod", &cfgparams.AdaptRndPeriod, 0, 16.0, 2, 1.0, 0.0, },
00374 {"AdaptRndChroma", &cfgparams.AdaptRndChroma, 0, 0.0, 1, 0.0, 1.0, },
00375 {"AdaptRndWFactorIRef", &cfgparams.AdaptRndWFactor[1][I_SLICE], 0, 4.0, 1, 0.0, 4096.0, },
00376 {"AdaptRndWFactorPRef", &cfgparams.AdaptRndWFactor[1][P_SLICE], 0, 4.0, 1, 0.0, 4096.0, },
00377 {"AdaptRndWFactorBRef", &cfgparams.AdaptRndWFactor[1][B_SLICE], 0, 4.0, 1, 0.0, 4096.0, },
00378 {"AdaptRndWFactorINRef", &cfgparams.AdaptRndWFactor[0][I_SLICE], 0, 4.0, 1, 0.0, 4096.0, },
00379 {"AdaptRndWFactorPNRef", &cfgparams.AdaptRndWFactor[0][P_SLICE], 0, 4.0, 1, 0.0, 4096.0, },
00380 {"AdaptRndWFactorBNRef", &cfgparams.AdaptRndWFactor[0][B_SLICE], 0, 4.0, 1, 0.0, 4096.0, },
00381
00382 {"AdaptRndCrWFactorIRef", &cfgparams.AdaptRndCrWFactor[1][I_SLICE],0, 4.0, 1, 0.0, 4096.0, },
00383 {"AdaptRndCrWFactorPRef", &cfgparams.AdaptRndCrWFactor[1][P_SLICE],0, 4.0, 1, 0.0, 4096.0, },
00384 {"AdaptRndCrWFactorBRef", &cfgparams.AdaptRndCrWFactor[1][B_SLICE],0, 4.0, 1, 0.0, 4096.0, },
00385 {"AdaptRndCrWFactorINRef", &cfgparams.AdaptRndCrWFactor[0][I_SLICE],0, 4.0, 1, 0.0, 4096.0, },
00386 {"AdaptRndCrWFactorPNRef", &cfgparams.AdaptRndCrWFactor[0][P_SLICE],0, 4.0, 1, 0.0, 4096.0, },
00387 {"AdaptRndCrWFactorBNRef", &cfgparams.AdaptRndCrWFactor[0][B_SLICE],0, 4.0, 1, 0.0, 4096.0, },
00388
00389
00390 {"EarlySkipEnable", &cfgparams.EarlySkipEnable, 0, 0.0, 1, 0.0, 1.0, },
00391 {"SelectiveIntraEnable", &cfgparams.SelectiveIntraEnable, 0, 0.0, 1, 0.0, 1.0, },
00392
00393
00394
00395
00396 {"RestrictSearchRange", &cfgparams.full_search, 0, 2.0, 1, 0.0, 2.0, },
00397
00398 {"UseMVLimits", &cfgparams.UseMVLimits, 0, 0.0, 1, 0.0, 1.0, },
00399 {"SetMVXLimit", &cfgparams.SetMVXLimit, 0, 0.0, 1, 0.0, 2048.0, },
00400 {"SetMVYLimit", &cfgparams.SetMVYLimit, 0, 0.0, 1, 0.0, 512.0, },
00401
00402 {"SearchMode", &cfgparams.SearchMode, 0, 0.0, 1, -1.0, 3.0, },
00403
00404 {"UMHexDSR", &cfgparams.UMHexDSR, 0, 1.0, 1, 0.0, 1.0, },
00405 {"UMHexScale", &cfgparams.UMHexScale, 0, 1.0, 0, 0.0, 0.0, },
00406
00407 {"EPZSPattern", &cfgparams.EPZSPattern, 0, 2.0, 1, 0.0, 5.0, },
00408 {"EPZSDualRefinement", &cfgparams.EPZSDual, 0, 3.0, 1, 0.0, 6.0, },
00409 {"EPZSFixedPredictors", &cfgparams.EPZSFixed, 0, 2.0, 1, 0.0, 2.0, },
00410 {"EPZSTemporal", &cfgparams.EPZSTemporal, 0, 1.0, 1, 0.0, 1.0, },
00411 {"EPZSSpatialMem", &cfgparams.EPZSSpatialMem, 0, 1.0, 1, 0.0, 1.0, },
00412 {"EPZSBlockType", &cfgparams.EPZSBlockType, 0, 1.0, 1, 0.0, 1.0, },
00413 {"EPZSMinThresScale", &cfgparams.EPZSMinThresScale, 0, 0.0, 0, 0.0, 0.0, },
00414 {"EPZSMaxThresScale", &cfgparams.EPZSMaxThresScale, 0, 2.0, 0, 0.0, 0.0, },
00415 {"EPZSMedThresScale", &cfgparams.EPZSMedThresScale, 0, 1.0, 0, 0.0, 0.0, },
00416 {"EPZSSubPelME", &cfgparams.EPZSSubPelME, 0, 1.0, 1, 0.0, 1.0, },
00417 {"EPZSSubPelMEBiPred", &cfgparams.EPZSSubPelMEBiPred, 0, 1.0, 1, 0.0, 1.0, },
00418 {"EPZSSubPelGrid", &cfgparams.EPZSSubPelGrid, 0, 0.0, 1, 0.0, 1.0, },
00419 {"EPZSSubPelThresScale", &cfgparams.EPZSSubPelThresScale, 0, 2.0, 0, 0.0, 0.0, },
00420
00421
00422 {"ToneMappingSEIPresentFlag",&cfgparams.ToneMappingSEIPresentFlag, 0, 0.0, 1, 0.0, 1.0, },
00423 {"ToneMappingFile", &cfgparams.ToneMappingFile, 1, 0.0, 0, 0.0, 0.0, FILE_NAME_SIZE, },
00424
00425 {"SeparateColourPlane", &cfgparams.separate_colour_plane_flag, 0, 0.0, 1, 0.0, 1.0, },
00426 {"WeightY", &cfgparams.WeightY, 2, 1.00, 1, 0.0, 4.0, },
00427 {"WeightCb", &cfgparams.WeightCb, 2, 1.00, 1, 0.0, 4.0, },
00428 {"WeightCr", &cfgparams.WeightCr, 2, 1.00, 1, 0.0, 4.0, },
00429 {"WPMCPrecision", &cfgparams.WPMCPrecision, 0, 0.0, 1, 0.0, 2.0, },
00430 {"WPMCPrecFullRef", &cfgparams.WPMCPrecFullRef, 0, 0.0, 1, 0.0, 1.0, },
00431 {"WPMCPrecBSlice", &cfgparams.WPMCPrecBSlice, 0, 1.0, 1, 0.0, 2.0, },
00432
00433 {"UseRDOQuant", &cfgparams.UseRDOQuant, 0, 0.0, 1, 0.0, 1.0, },
00434 {"RDOQ_DC", &cfgparams.RDOQ_DC, 0, 1.0, 1, 0.0, 1.0, },
00435 {"RDOQ_CR", &cfgparams.RDOQ_CR, 0, 1.0, 1, 0.0, 1.0, },
00436 {"RDOQ_DC_CR", &cfgparams.RDOQ_DC_CR, 0, 1.0, 1, 0.0, 1.0, },
00437 {"RDOQ_QP_Num", &cfgparams.RDOQ_QP_Num, 0, 1.0, 1, 1.0, 9.0, },
00438 {"RDOQ_CP_Mode", &cfgparams.RDOQ_CP_Mode, 0, 0.0, 1, 0.0, 1.0, },
00439 {"RDOQ_CP_MV", &cfgparams.RDOQ_CP_MV, 0, 0.0, 1, 0.0, 1.0, },
00440 {"RDOQ_Fast", &cfgparams.RDOQ_Fast, 0, 0.0, 1, 0.0, 1.0, },
00441
00442 {"GenerateSEIMessage", &cfgparams.GenerateSEIMessage, 0, 0.0, 1, 0.0, 1.0, },
00443 {"EnableVUISupport", &cfgparams.EnableVUISupport, 0, 0.0, 1, 0.0, 1.0, },
00444 {"VUI_aspect_ratio_info_present_flag", &cfgparams.VUI.aspect_ratio_info_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00445 {"VUI_aspect_ratio_idc", &cfgparams.VUI.aspect_ratio_idc, 0, 0.0, 1, 0.0, 255.0, },
00446 {"VUI_sar_width", &cfgparams.VUI.sar_width, 0, 0.0, 2, 0.0, 0.0, },
00447 {"VUI_sar_height", &cfgparams.VUI.sar_height, 0, 0.0, 2, 0.0, 0.0, },
00448 {"VUI_overscan_info_present_flag", &cfgparams.VUI.overscan_info_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00449 {"VUI_overscan_appropriate_flag", &cfgparams.VUI.overscan_appropriate_flag, 0, 0.0, 1, 0.0, 1.0, },
00450 {"VUI_video_signal_type_present_flag", &cfgparams.VUI.video_signal_type_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00451 {"VUI_video_format", &cfgparams.VUI.video_format, 0, 5.0, 1, 0.0, 7.0, },
00452 {"VUI_video_full_range_flag", &cfgparams.VUI.video_full_range_flag, 0, 0.0, 1, 0.0, 1.0, },
00453 {"VUI_colour_description_present_flag", &cfgparams.VUI.colour_description_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00454 {"VUI_colour_primaries", &cfgparams.VUI.colour_primaries, 0, 2.0, 1, 0.0, 255.0, },
00455 {"VUI_transfer_characteristics", &cfgparams.VUI.transfer_characteristics, 0, 2.0, 1, 0.0, 255.0, },
00456 {"VUI_matrix_coefficients", &cfgparams.VUI.matrix_coefficients, 0, 2.0, 1, 0.0, 255.0, },
00457 {"VUI_chroma_location_info_present_flag", &cfgparams.VUI.chroma_location_info_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00458 {"VUI_chroma_sample_loc_type_top_field", &cfgparams.VUI.chroma_sample_loc_type_top_field, 0, 0.0, 1, 0.0, 5.0, },
00459 {"VUI_chroma_sample_loc_type_bottom_field",&cfgparams.VUI.chroma_sample_loc_type_bottom_field,0, 0.0, 1, 0.0, 5.0, },
00460 {"VUI_timing_info_present_flag", &cfgparams.VUI.timing_info_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00461 {"VUI_num_units_in_tick", &cfgparams.VUI.num_units_in_tick, 0,1000.0, 2, 0.0, 0.0, },
00462 {"VUI_time_scale", &cfgparams.VUI.time_scale, 0,60000.0, 2, 0.0, 0.0, },
00463 {"VUI_fixed_frame_rate_flag", &cfgparams.VUI.fixed_frame_rate_flag, 0, 0.0, 1, 0.0, 1.0, },
00464 {"VUI_nal_hrd_parameters_present_flag", &cfgparams.VUI.nal_hrd_parameters_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00465 {"VUI_nal_cpb_cnt_minus1", &cfgparams.VUI.nal_cpb_cnt_minus1, 0, 0.0, 1, 0.0, 31.0, },
00466 {"VUI_nal_bit_rate_scale", &cfgparams.VUI.nal_bit_rate_scale, 0, 0.0, 2, 0.0, 0.0, },
00467 {"VUI_nal_cpb_size_scale", &cfgparams.VUI.nal_cpb_size_scale, 0, 0.0, 2, 0.0, 0.0, },
00468 {"VUI_nal_bit_rate_value_minus1", &cfgparams.VUI.nal_bit_rate_value_minus1, 0, 0.0, 2, 0.0, 0.0, },
00469 {"VUI_nal_cpb_size_value_minus1", &cfgparams.VUI.nal_cpb_size_value_minus1, 0, 0.0, 2, 0.0, 0.0, },
00470 {"VUI_nal_vbr_cbr_flag", &cfgparams.VUI.nal_vbr_cbr_flag, 0, 1.0, 1, 0.0, 1.0, },
00471 {"VUI_nal_initial_cpb_removal_delay_length_minus1", &cfgparams.VUI.nal_initial_cpb_removal_delay_length_minus1, 0, 23.0, 2, 0.0, 0.0, },
00472 {"VUI_nal_cpb_removal_delay_length_minus1",&cfgparams.VUI.nal_cpb_removal_delay_length_minus1,0, 23.0, 2, 0.0, 0.0, },
00473 {"VUI_nal_dpb_output_delay_length_minus1", &cfgparams.VUI.nal_dpb_output_delay_length_minus1, 0, 23.0, 2, 0.0, 0.0, },
00474 {"VUI_nal_time_offset_length", &cfgparams.VUI.nal_time_offset_length, 0, 24.0, 2, 0.0, 0.0, },
00475 {"VUI_vcl_hrd_parameters_present_flag", &cfgparams.VUI.vcl_hrd_parameters_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00476 {"VUI_vcl_cpb_cnt_minus1", &cfgparams.VUI.vcl_cpb_cnt_minus1, 0, 0.0, 1, 0.0, 31.0, },
00477 {"VUI_vcl_bit_rate_scale", &cfgparams.VUI.vcl_bit_rate_scale, 0, 0.0, 2, 0.0, 0.0, },
00478 {"VUI_vcl_cpb_size_scale", &cfgparams.VUI.vcl_cpb_size_scale, 0, 0.0, 2, 0.0, 0.0, },
00479 {"VUI_vcl_bit_rate_value_minus1", &cfgparams.VUI.vcl_bit_rate_value_minus1, 0, 0.0, 2, 0.0, 0.0, },
00480 {"VUI_vcl_cpb_size_value_minus1", &cfgparams.VUI.vcl_cpb_size_value_minus1, 0, 0.0, 2, 0.0, 0.0, },
00481 {"VUI_vcl_vbr_cbr_flag", &cfgparams.VUI.vcl_vbr_cbr_flag, 0, 0.0, 1, 0.0, 1.0, },
00482 {"VUI_vcl_initial_cpb_removal_delay_length_minus1", &cfgparams.VUI.vcl_initial_cpb_removal_delay_length_minus1, 0, 23.0, 2, 0.0, 0.0, },
00483 {"VUI_vcl_cpb_removal_delay_length_minus1",&cfgparams.VUI.vcl_cpb_removal_delay_length_minus1,0, 23.0, 2, 0.0, 0.0, },
00484 {"VUI_vcl_dpb_output_delay_length_minus1", &cfgparams.VUI.vcl_dpb_output_delay_length_minus1, 0, 23.0, 2, 0.0, 0.0, },
00485 {"VUI_vcl_time_offset_length", &cfgparams.VUI.vcl_time_offset_length, 0, 24.0, 2, 0.0, 0.0, },
00486 {"VUI_low_delay_hrd_flag", &cfgparams.VUI.low_delay_hrd_flag, 0, 0.0, 1, 0.0, 1.0, },
00487 {"VUI_pic_struct_present_flag", &cfgparams.VUI.pic_struct_present_flag, 0, 0.0, 1, 0.0, 1.0, },
00488 {"VUI_bitstream_restriction_flag", &cfgparams.VUI.bitstream_restriction_flag, 0, 0.0, 1, 0.0, 1.0, },
00489 {"VUI_motion_vectors_over_pic_boundaries_flag", &cfgparams.VUI.motion_vectors_over_pic_boundaries_flag, 0, 1.0, 1, 0.0, 1.0, },
00490 {"VUI_max_bytes_per_pic_denom", &cfgparams.VUI.max_bytes_per_pic_denom, 0, 2.0, 1, 0.0, 16.0, },
00491 {"VUI_max_bits_per_mb_denom", &cfgparams.VUI.max_bits_per_mb_denom, 0, 1.0, 1, 0.0, 16.0, },
00492 {"VUI_log2_max_mv_length_vertical", &cfgparams.VUI.log2_max_mv_length_vertical, 0, 16.0, 1, 0.0, 16.0, },
00493 {"VUI_log2_max_mv_length_horizontal", &cfgparams.VUI.log2_max_mv_length_horizontal, 0, 16.0, 1, 0.0, 16.0, },
00494 {"VUI_num_reorder_frames", &cfgparams.VUI.num_reorder_frames, 0, 16.0, 1, 0.0, 16.0, },
00495 {"VUI_max_dec_frame_buffering", &cfgparams.VUI.max_dec_frame_buffering, 0, 16.0, 1, 0.0, 16.0, },
00496 {"SEIMessageText", &cfgparams.SEIMessageText, 1, 0.0, 0, 0.0, 0.0, INPUT_TEXT_SIZE,},
00497 {NULL, NULL, -1, 0.0, 0, 0.0, 0.0, },
00498 };
00499
00500
00501 #endif
00502
00503 #ifndef INCLUDED_BY_CONFIGFILE_C
00504 extern Mapping Map[];
00505 #endif
00506
00507 extern void Configure (ImageParameters *p_Img, InputParameters *p_Inp, int ac, char *av[]);
00508 extern void PatchInputNoFrames(InputParameters *p_Inp);
00509
00510 #endif
00511