00001
00002
00003
00004
00005 #ifndef _VIDEO_CODEC_H_
00006 #define _VIDEO_CODEC_H_
00007
00008 #include <sys/types.h>
00009 #include "Convert.h"
00010 #include "Codec.h"
00011 #include "V_Format.h"
00012 #include "VideoFrame.h"
00013
00014
00015 class V_Track;
00016
00021 class V_Codec: public Codec, public V_Format {
00022 public:
00023 V_Codec( V_Track *Track );
00024
00025 virtual ~V_Codec();
00026
00029 virtual bool ColorModel( int cmodel );
00030
00031
00032
00033
00034
00035 virtual int encodeVideo( VideoFrame *bild );
00036
00041 virtual int decodeVideo( VideoFrame *bild );
00042
00045 virtual int SeekFrame( long bild );
00046
00049 virtual int SeekTime( double seconds );
00050
00056 virtual int CopyFrame( void );
00057
00060 V_Track *Track( void ) { return track; }
00061
00062 protected:
00063 V_Track *track;
00064
00068 virtual int encode( VideoFrame *bild );
00069
00073 virtual int decode( VideoFrame *bild );
00074
00080 virtual bool ColorModel_intern( int cmodel );
00081
00082 int color_model;
00083 int color_model_intern;
00084
00085
00086
00087
00088
00089
00090
00091 VideoFrame *enc_frame_puffer;
00092 };
00093
00094 #endif