00001 /************************************************************************ 00002 * 00003 * vid_config.h, part of tmn (TMN encoder) 00004 * Copyright (C) 1995, 1996 Telenor R&D, Norway 00005 * Karl Olav Lillevold <Karl.Lillevold@nta.no> 00006 * 00007 * Contacts: 00008 * Karl Olav Lillevold <Karl.Lillevold@nta.no>, or 00009 * Robert Danielsen <Robert.Danielsen@nta.no> 00010 * 00011 * Telenor Research and Development http://www.nta.no/brukere/DVC/ 00012 * P.O.Box 83 tel.: +47 63 84 84 00 00013 * N-2007 Kjeller, Norway fax.: +47 63 81 00 76 00014 * 00015 ************************************************************************/ 00016 00017 /* 00018 * Disclaimer of Warranty 00019 * 00020 * These software programs are available to the user without any 00021 * license fee or royalty on an "as is" basis. Telenor Research and 00022 * Development disclaims any and all warranties, whether express, 00023 * implied, or statuary, including any implied warranties or 00024 * merchantability or of fitness for a particular purpose. In no 00025 * event shall the copyright-holder be liable for any incidental, 00026 * punitive, or consequential damages of any kind whatsoever arising 00027 * from the use of these programs. 00028 * 00029 * This disclaimer of warranty extends to the user of these programs 00030 * and user's customers, employees, agents, transferees, successors, 00031 * and assigns. 00032 * 00033 * Telenor Research and Development does not represent or warrant that 00034 * the programs furnished hereunder are free of infringement of any 00035 * third-party patents. 00036 * 00037 * Commercial implementations of H.263, including shareware, are 00038 * subject to royalty fees to patent holders. Many of these patents 00039 * are general enough such that they are unavoidable regardless of 00040 * implementation design. 00041 * */ 00042 00043 00044 #define YES 1 00045 #define NO 0 00046 00047 /*************************************************************************/ 00048 00049 /* Default modes */ 00050 /* see http://www.nta.no/brukere/DVC/h263_options.html */ 00051 00052 /* use Unrestricted Motion Vector mode as default (also option "-D") */ 00053 #define DEF_UMV_MODE NO 00054 00055 /* use Syntax-based Arithmetic Coding mode as default (also option "-E") */ 00056 #define DEF_SAC_MODE NO 00057 00058 /* use Advanced Prediction mode as default (also option "-F") */ 00059 #define DEF_ADV_MODE NO 00060 00061 /* use PB-frames mode as default (also option "-G") */ 00062 #define DEF_PBF_MODE NO 00063 00064 /*************************************************************************/ 00065 00066 /* default coding format 00067 choose one of SF_SQCIF, SF_QCIF, SF_CIF, SF_4CIF, SF_16CIF */ 00068 #define DEF_CODING_FORMAT SF_QCIF 00069 00070 /*************************************************************************/ 00071 00072 00073 /* Default filenames */ 00074 00075 #define DEF_VID_INPUT_FILE "./carphone.qcif" 00076 00077 /* default output bitstream filename (also option "-B <filename>") */ 00078 #define DEF_STREAMNAME "./carphone.263" 00079 00080 /* default filename for reconstructed sequence 00081 (also option "-o <filename>") */ 00082 #define DEF_OUTFILENAME "./carphone.rec" 00083 00084 /* write difference image to file (also option "-w") */ 00085 #define DEF_WRITE_DIFF NO 00086 00087 /* default filename for difference images if "-w" is used */ 00088 #define DEF_DIFFILENAME "./carphone.diff" 00089 00090 /*************************************************************************/ 00091 00092 00093 /* Frame rate parameters */ 00094 00095 /* default reference frame rate, 25 or 30 Hz 00096 * (also option "-Z <n>") */ 00097 #define DEF_REF_FRAME_RATE 30.0 00098 00099 /* default number of skipped frames in original sequence compared to */ 00100 /* the reference picture rate ( also option "-O <n>" ) */ 00101 /* 3 means that the original sequence is grabbed at 6.25/7.5 Hz */ 00102 /* 0 means that the original sequence is grabbed at 25.0/30.0 Hz */ 00103 #define DEF_ORIG_SKIP 0 00104 00105 /* default skipped frames between encoded frames (P or B) */ 00106 /* reference is original sequence */ 00107 /* 2 means 8.33/10.0 fps encoded frame rate with 25.0/30.0 fps original */ 00108 /* 0 means 8.33/10.0 fps encoded frame rate with 8.33/10.0 fps original */ 00109 #define DEF_FRAMESKIP 2 00110 00111 /*************************************************************************/ 00112 00113 /* Search windows */ 00114 00115 00116 /* default integer pel search seek distance ( also option "-s <n> " ) */ 00117 #define DEF_SEEK_DIST 15 00118 00119 /* default integer search window for 8x8 search centered 00120 around 16x16 vector. When it is zero only half pel estimation 00121 around the integer 16x16 vector will be performed */ 00122 /* for best performance, keep this small, preferably zero, 00123 but do your own simulations if you want to try something else */ 00124 #define DEF_8X8_WIN 0 00125 00126 /* default search window for PB delta vectors */ 00127 /* keep this small also */ 00128 #define DEF_PBDELTA_WIN 2 00129 00130 /*************************************************************************/ 00131 00132 00133 /* Frame numbers to start and stop encoding at */ 00134 00135 /* default frame number to start at (also option "-a <n>") */ 00136 #define DEF_START_FRAME 0 00137 00138 /* default frame number to stop at (also option "-b <n>") */ 00139 #define DEF_STOP_FRAME 0 00140 00141 /*************************************************************************/ 00142 00143 00144 /* Quantization parameters */ 00145 00146 /* default inter quantization parameter (also option "-q <n>") */ 00147 #define DEF_INTER_QUANT 10 00148 00149 /* default intra quantization parameter (also option "-I <n>") */ 00150 #define DEF_INTRA_QUANT 10 00151 00152 /* BQUANT parameter for PB-frame coding 00153 * (n * QP / 4 ) 00154 * 00155 * BQUANT n 00156 * 0 5 00157 * 1 6 00158 * 2 7 00159 * 3 8 00160 * ( also option "-Q <BQUANT>" ) */ 00161 #define DEF_BQUANT 2 00162 00163 00164 /*************************************************************************/ 00165 00166 /* Miscellaneous */ 00167 00168 /* write repeated reconstructed frames to disk (useful for variable 00169 * framerate, since sequence will be saved at 25 Hz) 00170 * Can be changed at run-time with option "-m" */ 00171 #define DEF_WRITE_REPEATED NO 00172 00173 /* write bitstream trace to files trace.intra / trace 00174 * (also option "-t") */ 00175 #define DEF_WRITE_TRACE NO 00176 00177 #ifdef OFFLINE_RATE_CONTROL 00178 /* start rate control after DEF_START_RATE_CONTROL % of sequence 00179 * has been encoded. Can be changed at run-time with option "-R <n>" */ 00180 #define DEF_START_RATE_CONTROL 0 00181 #else 00182 /* default target frame rate when rate control is used */ 00183 #define DEF_TARGET_FRAME_RATE 10.0 00184 #endif 00185 00186 00187 /* Mine */ 00188 00189 #define DEF_TARGET_BITRATE 20000 00190 00191 00192 00193 /* headerlength on concatenated 4:1:1 YUV input file 00194 * Can be changed at run-time with option -e <headerlength> */ 00195 #define DEF_HEADERLENGTH 0 00196 00197 /* insert sync after each DEF_INSERT_SYNC for increased error robustness 00198 * 0 means do not insert extra syncs */ 00199 #define DEF_INSERT_SYNC 0 00200 00201 /*************************************************************************/ 00202 00203 00204 00205