You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/mpeglib/lib/mpegplay/picture.h

83 lines
2.5 KiB

/*
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