home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / gfx / misc / mpeg_stat_2_2a.lha / mpeg_stat / src / proto.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-21  |  5.1 KB  |  150 lines

  1. /* MPEGSTAT - analyzing tool for MPEG-I video streams
  2.  * 
  3.  *  Copyright (c) 1995 The Regents of the University of California.
  4.  * All rights reserved.
  5.  *
  6.  * Technical University of Berlin, Germany, Dept. of Computer Science
  7.  * Tom Pfeifer - Multimedia systems project - pfeifer@fokus.gmd.de
  8.  *
  9.  * Jens Brettin, Harald Masche, Alexander Schulze, Dirk Schubert
  10.  *
  11.  * This program uses parts of the source code of the Berkeley MPEG player
  12.  *
  13.  * ---------------------------
  14.  *
  15.  * Copyright (c) 1993 Technical University of Berlin, Germany
  16.  *
  17.  * for the parts of the Berkeley player used:
  18.  *
  19.  * Copyright (c) 1992 The Regents of the University of California.
  20.  * All rights reserved.
  21.  *
  22.  * ---------------------------
  23.  *
  24.  * Permission to use, copy, modify, and distribute this software and its
  25.  * documentation for any purpose, without fee, and without written agreement is
  26.  * hereby granted, provided that the above copyright notices and the following
  27.  * two paragraphs appear in all copies of this software.
  28.  * 
  29.  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA 
  30.  * or the Technical University of Berlin BE LIABLE TO ANY PARTY FOR
  31.  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  32.  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  33.  * CALIFORNIA or the Technical University of Berlin HAS BEEN ADVISED OF THE 
  34.  * POSSIBILITY OF SUCH DAMAGE.
  35.  * 
  36.  * THE UNIVERSITY OF CALIFORNIA and the Technical University of Berlin 
  37.  * SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
  38.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  39.  * PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE 
  40.  * UNIVERSITY OF CALIFORNIA and the Technical University of Berlin HAVE NO 
  41.  * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, 
  42.  * OR MODIFICATIONS.
  43.  */
  44. #ifdef __STDC__
  45. # define    P(s) s
  46. #else
  47. # define P(s) ()
  48. #endif
  49.  
  50.  
  51. /* util.c */
  52. void correct_underflow P((void ));
  53. int next_bits P((int num , unsigned int mask ));
  54. char *get_ext_data P((int *size ));
  55. int next_start_code P((void ));
  56. char *get_extra_bit_info P((void ));
  57.  
  58. /* video.c */
  59. void init_stats P((void ));
  60. void PrintAllStats P((void ));
  61. double ReadSysClock P((void ));
  62. void PrintTimeInfo P((void ));
  63. VidStream *NewVidStream P((int bufLength ));
  64. void DestroyVidStream P((VidStream *astream ));
  65. PictImage *NewPictImage P((unsigned int width , unsigned int height ));
  66. void DestroyPictImage P((PictImage *apictimage ));
  67. VidStream *mpegVidRsrc P((TimeStamp time_stamp , VidStream *vid_stream ));
  68.  
  69. /* parseblock.c */
  70. int ParseReconBlock P((int n ));
  71. int ParseAwayBlock P((int n ));
  72.  
  73. /* motionvector.c */
  74. void ComputeForwVector P((int *recon_right_for_ptr , int *recon_down_for_ptr ));
  75. void ComputeBackVector P((int *recon_right_back_ptr , int *recon_down_back_ptr ));
  76.  
  77. /* decoders.c */
  78. void init_tables P((void ));
  79. void decodeDCTDCSizeLum P((unsigned int *value ));
  80. void decodeDCTDCSizeChrom P((unsigned int *value ));
  81. int decodeDCTCoeffFirst P((unsigned int *run , int *level ));
  82. int decodeDCTCoeffNext P((unsigned int *run , int *level ));
  83.  
  84. /* main.c */
  85. #ifndef SIG_ONE_PARAM
  86. void int_handler P((void ));
  87. #else
  88. void int_handler P((int signum ));
  89. #endif
  90. int main P((int argc , char **argv ));
  91. void Usage P((void ));
  92. void DoDitherImage P((unsigned char *l , unsigned char *Cr , unsigned char *Cb , unsigned char *disp , int h , int w ));
  93.  
  94. /* jrevdct.c */
  95. void init_pre_idct P((void ));
  96. void j_rev_dct_sparse P((DCTBLOCK data , int pos ));
  97. void j_rev_dct P((DCTBLOCK data ));
  98. void j_rev_dct_sparse P((DCTBLOCK data , int pos ));
  99. void j_rev_dct P((DCTBLOCK data ));
  100.  
  101.  
  102. /* readfile.c */
  103. int get_more_data P((unsigned int **buf_start , int *max_length , int *length_ptr , unsigned int **buf_ptr ));
  104. void init_read_sys P((void ));
  105. int pure_get_more_data P((unsigned int *buf_start , int max_length , int *length_ptr , unsigned int **buf_ptr, int swap ));
  106. int read_sys P((unsigned int **buf_start , int *max_length , int *length_ptr , unsigned int **buf_ptr, unsigned int start ));
  107. int ReadStartCode P((
  108.    unsigned int *startCode));
  109.  
  110. int ReadPackHeader P((double *systemClockTime,unsigned long *muxRate));
  111.  
  112. int ReadSystemHeader P((void ));
  113.  
  114. int ReadPacket P((unsigned char packetID,unsigned int **bs_ptr, int *max_length, int *length_ptr , unsigned int **buf_ptr ));
  115.  
  116. void ReadTimeStamp P((unsigned char *inputBuffer,unsigned char *hiBit,unsigned long *low4Bytes));
  117.  
  118. void ReadSTD P((unsigned char *inputBuffer,unsigned char *stdBufferScale,unsigned long *stdBufferSize));
  119.  
  120. void ReadRate P((unsigned char *inputBuffer,unsigned long *rate));
  121.  
  122. int MakeFloatClockTime P((unsigned char hiBit,unsigned long low4Bytes,double *floatClockTime));
  123.  
  124. /* Statistics routines in filter.c */
  125. void init_block_struct P((BlockVals *a));
  126. void init_stats P((void));
  127. void PrintAllStats P((void));
  128. void PrintSummaryStat P((int typ));
  129. void CollectStats P((void));
  130. unsigned int bitCountRead P((void));
  131. void StartTime P((void));
  132. void EndTime P((void));
  133. double ReadSysClock P((void));
  134. void PrintTimeInfo P((void));
  135. void PrintQT P((FILE *stream,char *title,int changed,unsigned char *ptr));
  136. void print_binary P(( FILE *fp, char *buf, int size));
  137.  
  138. #undef P
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.