home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 9 / CD_ASCQ_09_1193.iso / news / 4441 / mpegcode / src / headers / prototyp.h < prev    next >
C/C++ Source or Header  |  1993-09-27  |  4KB  |  98 lines

  1. /*===========================================================================*
  2.  * prototypes.h                                     *
  3.  *                                         *
  4.  *    miscellaneous prototypes                         *
  5.  *                                         *
  6.  *===========================================================================*/
  7.  
  8. /*
  9.  * Copyright (c) 1993 The Regents of the University of California.
  10.  * All rights reserved.
  11.  *
  12.  * Permission to use, copy, modify, and distribute this software and its
  13.  * documentation for any purpose, without fee, and without written agreement is
  14.  * hereby granted, provided that the above copyright notice and the following
  15.  * two paragraphs appear in all copies of this software.
  16.  *
  17.  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
  18.  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  19.  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  20.  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  21.  *
  22.  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  23.  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  24.  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  25.  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  26.  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  27.  */
  28.  
  29. /*  
  30.  *  $Header: /n/picasso/users/keving/encode/src/headers/RCS/prototypes.h,v 1.2 1993/07/22 22:24:23 keving Exp keving $
  31.  *  $Log: prototypes.h,v $
  32.  * Revision 1.2  1993/07/22  22:24:23  keving
  33.  * nothing
  34.  *
  35.  * Revision 1.1  1993/07/09  00:17:23  keving
  36.  * nothing
  37.  *
  38.  */
  39.  
  40.  
  41. /*==============*
  42.  * HEADER FILES *
  43.  *==============*/
  44.  
  45. #include "general.h"
  46. #include "ansi.h"
  47. #include "frame.h"
  48.  
  49.  
  50. /*===============================*
  51.  * EXTERNAL PROCEDURE prototypes *
  52.  *===============================*/
  53.  
  54. int    GetBQScale _ANSI_ARGS_((void));
  55. int    GetPQScale _ANSI_ARGS_((void));
  56. void    ResetBFrameStats _ANSI_ARGS_((void));
  57. void    ResetPFrameStats _ANSI_ARGS_((void));
  58. void    SetSearchRange _ANSI_ARGS_((int pixels));
  59. void    ResetIFrameStats _ANSI_ARGS_((void));
  60. void    SetPixelSearch _ANSI_ARGS_((char *searchType));
  61. void    SetIQScale _ANSI_ARGS_((int qI));
  62. void    SetPQScale _ANSI_ARGS_((int qP));
  63. void    SetBQScale _ANSI_ARGS_((int qB));
  64. float    EstimateSecondsPerIFrame _ANSI_ARGS_((void));
  65. float    EstimateSecondsPerPFrame _ANSI_ARGS_((void));
  66. float    EstimateSecondsPerBFrame _ANSI_ARGS_((void));
  67. void    SetGOPSize _ANSI_ARGS_((int size));
  68. void    SetStatFileName _ANSI_ARGS_((char *fileName));
  69. void    SetSlicesPerFrame _ANSI_ARGS_((int number));
  70. void    SetBlocksPerSlice _ANSI_ARGS_((void));
  71.  
  72.  
  73. void DCTFrame _ANSI_ARGS_((MpegFrame * mf));
  74.  
  75. void PPMtoYCC _ANSI_ARGS_((MpegFrame * mf));
  76.  
  77. void    MotionSearchPreComputation _ANSI_ARGS_((MpegFrame *frame));
  78. boolean    PMotionSearch _ANSI_ARGS_((LumBlock currentBlock, MpegFrame *prev,
  79.                    int by, int bx, int *motionY, int *motionX));
  80. void    ComputeHalfPixelData _ANSI_ARGS_((MpegFrame *frame));
  81. void mp_validate_size _ANSI_ARGS_((int *x, int *y));
  82.  
  83. /* block.c */
  84. void    BlockToData _ANSI_ARGS_((uint8 **data, Block block, int by, int bx));
  85. void    AddMotionBlock _ANSI_ARGS_((Block block, uint8 **prev, int by, int bx,
  86.                int my, int mx));
  87. void    AddBMotionBlock _ANSI_ARGS_((Block block, uint8 **prev, uint8 **next,
  88.                      int by, int bx, int mode,
  89.                      int fmy, int fmx, int bmy, int bmx));
  90.  
  91. void    BlockifyFrame _ANSI_ARGS_((MpegFrame *frame));
  92.  
  93.  
  94.  
  95. extern void    SetFCode _ANSI_ARGS_((void));
  96.  
  97.  
  98.