diff options
Diffstat (limited to 'mpeglib/lib/mpegplay/picture.h')
-rw-r--r-- | mpeglib/lib/mpegplay/picture.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/mpeglib/lib/mpegplay/picture.h b/mpeglib/lib/mpegplay/picture.h new file mode 100644 index 00000000..7be35ab7 --- /dev/null +++ b/mpeglib/lib/mpegplay/picture.h @@ -0,0 +1,82 @@ +/* + mpeg video picture + Copyright (C) 2000 Martin Vogt + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation. + + For more information look at the file COPYRIGHT in this package + + */ + + + + + +#ifndef __PICTURE_H +#define __PICTURE_H + + +#include "mpegExtension.h" + + +class Picture { + +/* Picture structure. */ + + unsigned int temp_ref; /* Temporal reference. */ + unsigned int code_type; /* Frame type: P, B, I */ + unsigned int vbv_delay; /* Buffer delay. */ + int full_pel_forw_vector; /* Forw. vectors specified in full + pixel values flag. */ + unsigned int forw_r_size; /* Used for vector decoding. */ + unsigned int forw_f; /* Used for vector decoding. */ + int full_pel_back_vector; /* Back vectors specified in full + pixel values flag. */ + unsigned int back_r_size; /* Used in decoding. */ + unsigned int back_f; /* Used in decoding. */ + + + // MPEG 2 [START] + + + MpegExtension* extension; + // sync info + class TimeStamp* startOfPicStamp; + + // MPEG 2 things + int extraBit; + + public: + Picture(); + ~Picture(); + + int processPicture(class MpegVideoStream* mpegVideoStream); + int processPictureCodingExtension(class MpegVideoStream* mpegVideoStream); + + + inline unsigned int getCodeType() { return code_type; } + inline unsigned int getForw_f() { return forw_f;} + inline unsigned int getBack_f() { return back_f;} + inline void setForw_f(unsigned int f) { forw_f=f;} + inline void setBack_f(unsigned int f) { back_f=f;} + + inline int getExtraBit() { return extraBit; } + + inline TimeStamp* getStartOfPicStamp() { return startOfPicStamp;} + inline unsigned int getFull_pel_forw_vector() {return full_pel_forw_vector;} + inline unsigned int getFull_pel_back_vector() {return full_pel_back_vector;} + + inline void setFull_pel_forw_vector(unsigned int v) {full_pel_forw_vector=v;} + inline void setFull_pel_back_vector(unsigned int v) {full_pel_back_vector=v;} + + unsigned int geth_back_r(class MpegVideoStream* mpegVideoStream); + unsigned int getv_back_r(class MpegVideoStream* mpegVideoStream); + + unsigned int geth_forw_r(class MpegVideoStream* mpegVideoStream); + unsigned int getv_forw_r(class MpegVideoStream* mpegVideoStream); + + +}; +#endif |