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  

mtypes.h

Go to the documentation of this file.
00001 /*===========================================================================*
00002  * mtypes.h                                                                  *
00003  *                                                                           *
00004  *      MPEG data types                                                      *
00005  *                                                                           *
00006  *===========================================================================*/
00007 
00008 /*
00009  * Copyright (c) 1995 The Regents of the University of California.
00010  * All rights reserved.
00011  *
00012  * Permission to use, copy, modify, and distribute this software and its
00013  * documentation for any purpose, without fee, and without written agreement is
00014  * hereby granted, provided that the above copyright notice and the following
00015  * two paragraphs appear in all copies of this software.
00016  *
00017  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
00018  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
00019  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
00020  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00021  *
00022  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
00023  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
00024  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
00025  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
00026  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
00027  */
00028 
00029 /*  
00030  *  $Header: /misc/elrond0/share/cvs/AFNI/src/mpeg_encodedir/headers/mtypes.h,v 1.4 2004/04/02 15:12:41 rwcox Exp $
00031  *  $Log: mtypes.h,v $
00032  *  Revision 1.4  2004/04/02 15:12:41  rwcox
00033  *  Cput
00034  *
00035  *  Revision 1.3  2003/12/23 13:50:09  rwcox
00036  *  Cput
00037  *
00038  *  Revision 1.2  2003/12/03 14:46:15  rwcox
00039  *  Cput
00040  *
00041  *  Revision 1.1  2001/12/17 18:25:45  rwcox
00042  *  Cadd
00043  *
00044  * Revision 1.12  1995/04/14  23:12:11  smoot
00045  * added ChromBlock for future color MV searches
00046  *
00047  * Revision 1.11  1995/01/19  23:55:05  eyhung
00048  * Changed copyrights
00049  *
00050  * Revision 1.10  1994/11/14  22:48:57  smoot
00051  * added defines for Specifics operation
00052  *
00053  * Revision 1.9  1994/11/12  02:12:52  keving
00054  * nothing
00055  *
00056  * Revision 1.8  1993/07/22  22:24:23  keving
00057  * nothing
00058  *
00059  * Revision 1.7  1993/07/09  00:17:23  keving
00060  * nothing
00061  *
00062  * Revision 1.6  1993/06/03  21:08:53  keving
00063  * nothing
00064  *
00065  * Revision 1.5  1993/02/17  23:18:20  dwallach
00066  * checkin prior to keving's joining the project
00067  *
00068  * Revision 1.4  1993/01/18  10:20:02  dwallach
00069  * *** empty log message ***
00070  *
00071  * Revision 1.3  1993/01/18  10:17:29  dwallach
00072  * RCS headers installed, code indented uniformly
00073  *
00074  * Revision 1.3  1993/01/18  10:17:29  dwallach
00075  * RCS headers installed, code indented uniformly
00076  *
00077  */
00078 
00079 
00080 #ifndef MTYPES_INCLUDED
00081 #define MTYPES_INCLUDED
00082 
00083 
00084 /*==============*
00085  * HEADER FILES *
00086  *==============*/
00087 
00088 #include "general.h"
00089 #include "dct.h"
00090 
00091 
00092 /*===========*
00093  * CONSTANTS *
00094  *===========*/
00095 
00096 #define TYPE_BOGUS      0   /* for the header of the circular list */
00097 #define TYPE_VIRGIN     1
00098 
00099 #define STATUS_EMPTY    0
00100 #define STATUS_LOADED   1
00101 #define STATUS_WRITTEN  2
00102 
00103 
00104 /*==================*
00105  * TYPE DEFINITIONS *
00106  *==================*/
00107 
00108 /*  
00109  *  your basic Block type
00110  */
00111 typedef int16 Block[DCTSIZE][DCTSIZE];
00112 typedef int16 FlatBlock[DCTSIZE_SQ];
00113 typedef     int32   LumBlock[2*DCTSIZE][2*DCTSIZE];
00114 typedef     int32   ChromBlock[DCTSIZE][DCTSIZE];
00115 
00116 /*========*
00117  * MACROS *
00118  *========*/
00119 
00120 #ifdef ABS
00121 #undef ABS
00122 #endif
00123 
00124 #define ABS(x) (((x)<0)?-(x):(x))
00125 
00126 #ifdef HEINOUS_DEBUG_MODE
00127 #define DBG_PRINT(x) {printf x; fflush(stdout);}
00128 #else
00129 #define DBG_PRINT(x)
00130 #endif
00131 
00132 #define ERRCHK(bool, str) {if(!(bool)) {perror(str); exit(1);}}
00133 
00134 /* For Specifics */
00135 typedef struct detalmv_def {
00136   int typ,fx,fy,bx,by;
00137 } BlockMV;
00138 #define TYP_SKIP 0
00139 #define TYP_FORW 1
00140 #define TYP_BACK 2
00141 #define TYP_BOTH 3
00142 
00143 
00144 #endif /* MTYPES_INCLUDED */
00145 
00146 
 

Powered by Plone

This site conforms to the following standards: