00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef VIDEOFRAME_H
00023
#define VIDEOFRAME_H
00024
00025
#include <qimage.h>
00026
#include <qshared.h>
00027
00028 class CVideoFrame
00029 {
00030
friend class CVideoDevice;
00031
private:
00032
struct VideoDataShared:
public QShared
00033 {
00034
const QImage *RGB;
00035
const QImage *Y, *U, *V;
00036
00037
unsigned long sequence;
00038
unsigned long time_stamp;
00039 } *data;
00040
00041 uint m_Number;
00042
00043
private:
00044 uint GetRefCount()
const;
00045
00046
protected:
00047
CVideoFrame(uint number,
const QImage *rgb,
const QImage *y,
const QImage *u,
const QImage *v);
00048
00049
public:
00050
CVideoFrame(
const CVideoFrame &);
00051
virtual ~CVideoFrame();
00052
00053
CVideoFrame &operator =(
const CVideoFrame &);
00054
00055
const QImage *
GetRGB()
const;
00056
const QImage *
GetY()
const;
00057
const QImage *
GetU()
const;
00058
const QImage *
GetV()
const;
00059
00060 uint
GetNumber()
const ;
00061
void SetSequence(
unsigned long seq);
00062
unsigned long GetSequence()
const;
00063
void SetTimeStamp(
unsigned long stamp);
00064
unsigned long GetTimeStamp()
const;
00065 };
00066
00067
#endif