2
describes a picture in yuv format
3
Copyright (C) 2000 Martin Vogt
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU Library General Public License as published by
7
the Free Software Foundation.
9
For more information look at the file COPYRIGHT in this package
15
#ifndef __YUVPICTURE_H
16
#define __YUVPICTURE_H
24
#include "../timeStamp.h"
26
#define PICTURE_NO_TYPE -1
28
#define PICTURE_YUVMODE_CR_CB 1
29
#define PICTURE_YUVMODE_CB_CR 2
31
#define PICTURE_RGB_FLIPPED 4
32
#define PICTURE_YUVMODE_YUY2 5
33
#define PICTURE_YUVMODE_UYVY 6
37
unsigned char* imagePtr; /* Pointer to complete yuv image */
39
unsigned char* luminance; /* Luminance plane. */
40
unsigned char* Cr; /* Cr plane. */
41
unsigned char* Cb; /* Cb plane. */
52
TimeStamp* startTimeStamp;
60
unsigned char* image_mode; /* start Pointer to complete image */
61
unsigned char* luminance_mode; /* Luminace plane. */
62
unsigned char* Cr_mode; /* Cr plane. */
63
unsigned char* Cb_mode; /* Cb plane. */
66
YUVPicture(int width,int height);
72
inline unsigned char* getLuminancePtr() {return luminance_mode;}
73
inline unsigned char* getCrPtr() {return Cr_mode;}
74
inline unsigned char* getCbPtr() {return Cb_mode;}
77
inline unsigned char* getImagePtr() {return imagePtr;}
79
// use these to swap the image Types
80
inline int getImageType() { return imageType; }
81
void setImageType(int mode);
91
void setPicturePerSecond(float val);
92
float getPicturePerSecond();
95
void setStartTimeStamp(TimeStamp* timeStamp);
96
TimeStamp* getStartTimeStamp();
98
void setWaitTime(TimeStamp* waitTime);
99
TimeStamp* getWaitTime();
101
void setEarylTime(TimeStamp* earlyTime);
102
TimeStamp* getEarlyTime();
104
void setMpegPictureType(int type);
105
int getMpegPictureType();
108
void print(const char* title);