Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

opts.h

Go to the documentation of this file.
00001 /*
00002  * opts.h - set optional parameters
00003  */
00004 
00005 /*
00006  * Copyright (c) 1995 The Regents of the University of California.
00007  * All rights reserved.
00008  *
00009  * Permission to use, copy, modify, and distribute this software and its
00010  * documentation for any purpose, without fee, and without written agreement is
00011  * hereby granted, provided that the above copyright notice and the following
00012  * two paragraphs appear in all copies of this software.
00013  *
00014  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
00015  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
00016  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
00017  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00018  *
00019  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
00020  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
00021  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
00022  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
00023  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
00024  */
00025 
00026 /*  
00027  *  $Header: /misc/elrond0/share/cvs/AFNI/src/mpeg_encodedir/headers/opts.h,v 1.4 2004/04/02 15:12:41 rwcox Exp $
00028  *  $Log: opts.h,v $
00029  *  Revision 1.4  2004/04/02 15:12:41  rwcox
00030  *  Cput
00031  *
00032  *  Revision 1.3  2003/12/23 13:50:09  rwcox
00033  *  Cput
00034  *
00035  *  Revision 1.2  2003/12/03 14:46:15  rwcox
00036  *  Cput
00037  *
00038  *  Revision 1.1  2001/12/17 18:25:45  rwcox
00039  *  Cadd
00040  *
00041  *  Revision 1.3  1995/08/15 23:43:43  smoot
00042  *  *** empty log message ***
00043  *
00044  * Revision 1.2  1995/05/02  22:00:51  smoot
00045  * added TUNEing stuff
00046  *
00047  * Revision 1.1  1995/04/14  23:12:53  smoot
00048  * Initial revision
00049  *
00050  */
00051 
00052 #include "general.h"
00053 #include "ansi.h"
00054 #include "mtypes.h"
00055 
00056 /*
00057  TUNE b [limit] lower limit on how different a block must be to be DCT coded
00058  TUNE c [file [color-diff]] Collect statistics on Quantization
00059  TUNE d [RateScale DistortionScale] Do a DCT in the P search, not just DIFF
00060  TUNE k [breakpt end [slope]] Squash small lum values
00061  TUNE l Figure out Laplacian distrib and use them to dequantize and do snr calc
00062  TUNE n Dont consider DC differenece in DCT searches
00063  TUNE q Do MSE for distortion measure, not MAD
00064  TUNE s [Max] | [LumMax ChromMax] Squash small differences in successive frames
00065  TUNE u disallow skip blocks in B frames
00066  TUNE w filename [c]  Write I block distortion numbers to file [with bit-rates]
00067  TUNE z Zaps Intra blocks in P/B frames.
00068 
00069  [ Note k and s make -snr numbers a lie, by playing with input ]
00070  [ Note d n and q are contradictory (can only use one)         ]
00071  [ Note c will not work on parallel encodings                  ]
00072 */
00073 
00074 extern boolean tuneingOn;
00075 
00076 /* Smash to no-change a motion block DCT with MAD less than: */
00077 /* DETAL b value               */
00078 extern int block_bound;
00079 
00080 /* Collect info on quantization */
00081 extern boolean collect_quant;
00082 extern int collect_quant_detailed;
00083 extern FILE   *collect_quant_fp;
00084 
00085 /* Nuke dim areas */
00086 extern int kill_dim, kill_dim_break, kill_dim_end;
00087 extern float kill_dim_slope;
00088 
00089 
00090 /* Stuff to control MV search comparisons */
00091 #define DEFAULT_SEARCH 0
00092 #define LOCAL_DCT  1 /* Do DCT in search (SLOW!!!!) */
00093 #define NO_DC_SEARCH  2  /* Dont consider DC component in motion searches */
00094 #define DO_Mean_Squared_Distortion  3 /* Do Squared distortion, not ABS */
00095 
00096 /* Parameters for special searches */
00097 /* LOCAL_DCT */
00098 extern float LocalDCTRateScale, LocalDCTDistortScale;
00099 
00100 /* Search Type Variable */
00101 extern int SearchCompareMode;
00102 
00103 /* squash small differences */
00104 extern boolean squash_small_differences;
00105 extern int SquashMaxLum, SquashMaxChr;
00106 
00107 /* Disallows Intra blocks in P/B code */
00108 extern boolean IntraPBAllowed;
00109 
00110 /* Write out distortion numbers */
00111 extern boolean WriteDistortionNumbers;
00112 extern int collect_distortion_detailed;
00113 extern FILE *distortion_fp;
00114 extern FILE *fp_table_rate[31], *fp_table_dist[31];
00115 
00116 /* Laplacian Distrib */
00117 extern boolean DoLaplace;
00118 extern double **L1, **L2, **Lambdas;
00119 extern int LaplaceNum, LaplaceCnum;
00120 
00121 /* Turn on/off skipping in B frames */
00122 extern boolean BSkipBlocks;
00123 
00124 /* Procedures Prototypes */
00125 int     GetIQScale _ANSI_ARGS_((void));
00126 int     GetPQScale _ANSI_ARGS_((void));
00127 int     GetBQScale _ANSI_ARGS_((void));
00128 void    Tune_Init _ANSI_ARGS_((void));
00129 char    *SkipSpacesTabs _ANSI_ARGS_((char *start));
00130 int     CalcRLEHuffLength _ANSI_ARGS_((FlatBlock in));
00131 void    ParseTuneParam _ANSI_ARGS_((char *charPtr));
00132 int     mse _ANSI_ARGS_((Block blk1, Block blk2));
00133 
00134 
00135 
00136 
 

Powered by Plone

This site conforms to the following standards: