diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2006-08-19 03:12:28 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2006-08-19 03:12:28 +0000 |
commit | 1fd361a1ea06e44286c213ca1f814f49306fdc43 (patch) | |
tree | 64c8c96cf54d8718847339a403e5e67b922e8c3f /converter/ppm/ppmtompeg/headers/opts.h | |
download | netpbm-mirror-1fd361a1ea06e44286c213ca1f814f49306fdc43.tar.gz netpbm-mirror-1fd361a1ea06e44286c213ca1f814f49306fdc43.tar.xz netpbm-mirror-1fd361a1ea06e44286c213ca1f814f49306fdc43.zip |
Create Subversion repository
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/ppm/ppmtompeg/headers/opts.h')
-rw-r--r-- | converter/ppm/ppmtompeg/headers/opts.h | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/converter/ppm/ppmtompeg/headers/opts.h b/converter/ppm/ppmtompeg/headers/opts.h new file mode 100644 index 00000000..5901a677 --- /dev/null +++ b/converter/ppm/ppmtompeg/headers/opts.h @@ -0,0 +1,125 @@ +/* + * opts.h - set optional parameters + */ + +/* + * Copyright (c) 1995 The Regents of the University of California. + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement is + * hereby granted, provided that the above copyright notice and the following + * two paragraphs appear in all copies of this software. + * + * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT + * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF + * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + */ + +/* + * $Header: /n/picasso/project/mpeg/mpeg_dist/mpeg_encode/headers/RCS/opts.h,v 1.3 1995/08/15 23:43:43 smoot Exp $ + * $Log: opts.h,v $ + * Revision 1.3 1995/08/15 23:43:43 smoot + * *** empty log message *** + * + * Revision 1.2 1995/05/02 22:00:51 smoot + * added TUNEing stuff + * + * Revision 1.1 1995/04/14 23:12:53 smoot + * Initial revision + * + */ + +#include "general.h" +#include "ansi.h" +#include "mtypes.h" + +/* + TUNE b [limit] lower limit on how different a block must be to be DCT coded + TUNE c [file [color-diff]] Collect statistics on Quantization + TUNE d [RateScale DistortionScale] Do a DCT in the P search, not just DIFF + TUNE k [breakpt end [slope]] Squash small lum values + TUNE l Figure out Laplacian distrib and use them to dequantize and do snr calc + TUNE n Dont consider DC differenece in DCT searches + TUNE q Do MSE for distortion measure, not MAD + TUNE s [Max] | [LumMax ChromMax] Squash small differences in successive frames + TUNE u disallow skip blocks in B frames + TUNE w filename [c] Write I block distortion numbers to file [with bit-rates] + TUNE z Zaps Intra blocks in P/B frames. + + [ Note k and s make -snr numbers a lie, by playing with input ] + [ Note d n and q are contradictory (can only use one) ] + [ Note c will not work on parallel encodings ] +*/ + +extern boolean tuneingOn; + +/* Smash to no-change a motion block DCT with MAD less than: */ +/* DETAL b value */ +extern int block_bound; + +/* Collect info on quantization */ +extern boolean collect_quant; +extern int collect_quant_detailed; +extern FILE *collect_quant_fp; + +/* Nuke dim areas */ +extern int kill_dim, kill_dim_break, kill_dim_end; +extern float kill_dim_slope; + + +/* Stuff to control MV search comparisons */ +#define DEFAULT_SEARCH 0 +#define LOCAL_DCT 1 /* Do DCT in search (SLOW!!!!) */ +#define NO_DC_SEARCH 2 /* Dont consider DC component in motion searches */ +#define DO_Mean_Squared_Distortion 3 /* Do Squared distortion, not ABS */ + +/* Parameters for special searches */ +/* LOCAL_DCT */ +extern float LocalDCTRateScale, LocalDCTDistortScale; + +/* Search Type Variable */ +extern int SearchCompareMode; + +/* squash small differences */ +extern boolean squash_small_differences; +extern int SquashMaxLum, SquashMaxChr; + +/* Disallows Intra blocks in P/B code */ +extern boolean IntraPBAllowed; + +/* Write out distortion numbers */ +extern boolean WriteDistortionNumbers; +extern int collect_distortion_detailed; +extern FILE *distortion_fp; +extern FILE *fp_table_rate[31], *fp_table_dist[31]; + +/* Laplacian Distrib */ +extern boolean DoLaplace; +extern double **L1, **L2, **Lambdas; +extern int LaplaceNum, LaplaceCnum; + +/* Turn on/off skipping in B frames */ +extern boolean BSkipBlocks; + +/* Procedures Prototypes */ +int GetIQScale _ANSI_ARGS_((void)); +int GetPQScale _ANSI_ARGS_((void)); +int GetBQScale _ANSI_ARGS_((void)); +void Tune_Init _ANSI_ARGS_((void)); +int CalcRLEHuffLength _ANSI_ARGS_((FlatBlock in)); +void ParseTuneParam(const char * const charPtr); +int mse _ANSI_ARGS_((Block blk1, Block blk2)); +void Mpost_UnQuantZigBlockLaplace _ANSI_ARGS_((FlatBlock in, Block out, int qscale, boolean iblock)); +extern void CalcLambdas(void); + + + + |