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