Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

/home/slang/XVision2/src/Devices/Mpeg.h

00001 /*                                                                -*-c++-*-
00002     Copyright (C) 1996-1997 Gregory D. Hager, Kinh Tieu
00003     Computer Science Robotics and Vision Laboratory)
00004 
00005     Permission is granted to any individual or institution to use, copy, 
00006     modify, and distribute this software, provided that this complete 
00007     copyright and permission notice is maintained, intact, in all copies 
00008     and supporting documentation.  Authors of papers that describe software 
00009     systems using this software package are asked to acknowledge such use
00010     by a brief statement in the paper.
00011 
00012     Gregory D. Hager provides this software "as is" without express or
00013     implied warranty.
00014 
00015 */
00016 //-----------------------------------------------------------------------------
00017 //
00018 //  MPEG.hh
00019 //
00020 //  Declaration of the MPEG class.
00021 //
00022 //  10/21/96 Kinh Tieu, using
00023 //
00024 //                        The MPEG Library
00025 // 
00026 //                  Version 1.2 - 17 October, 1995
00027 // 
00028 // MPEG decoding engine (c) 1992 The Regents of the University of California
00029 // Front end (c) 1994-95 Gregory P. Ward (greg@bic.mni.mcgill.ca)
00030 //
00031 // Copyright (c) 1994-95 by Gregory P. Ward.
00032 // All rights reserved.
00033 // 
00034 // IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT,
00035 // INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
00036 // OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE
00037 // UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
00038 // SUCH DAMAGE.
00039 //
00040 // THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
00041 // NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
00042 // FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER
00043 // IS ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATION TO PROVIDE
00044 // MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.  
00045 //
00046 //  and modeled on code for IMG_SEQ by Greg Hager and Jonathan Wang.
00047 //
00048 //-----------------------------------------------------------------------------
00049 
00050 #ifndef MPEG_h
00051 #define MPEG_h
00052 
00053 #define DEF_MPEG_NUM   4
00054 
00055 #include <stdio.h>
00056 
00057 
00058 #include "XVImageRGB.h"
00059 #include "Video.h"
00060 
00061 
00062 //-----------------------------------------------------------------------------
00063 //  Class : MPEG
00064 // 
00065 //* Class MPEG provides an interface between tracking and MPEG files,
00066 //* allowing users to use MPEG sequences as a source of video sequences.
00067 //*
00068 //* See also, Class Image_SequenceMono (in files IMG_SEQ.*).
00069 //-----------------------------------------------------------------------------
00070 
00071 template <class T>
00072 class MPEG : public Video<T>
00073 {
00074   FILE *fd;
00075   XVImageRGB<XV_RGBA32> *work_img;
00076   int               convers_active;
00077 public:
00078 
00079   MPEG (const char *fname = "mpeg_file.mpg",
00080                     const char *parm_string=NULL);
00081 
00082   virtual int open(const char *filename);
00083   void close();
00084   virtual int  initiate_acquire(int buffernum);
00085   virtual int  wait_for_completion(int buffernum);
00086 
00087   int set_params(char *params) {return 1;};
00088 
00089 };
00090 
00091 
00092 //-----------------------------------------------------------------------------
00093 #endif

Generated at Thu Mar 29 22:37:28 2001 for XVision by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000