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.
83 lines
2.5 KiB
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
|