Valkka  1.6.1
OpenSource Video Management
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
YUVFrame Class Reference

A GPU YUV frame. More...

#include <frame.h>

Inheritance diagram for YUVFrame:
Inheritance graph
[legend]
Collaboration diagram for YUVFrame:
Collaboration graph
[legend]

Public Member Functions

 YUVFrame (BitmapPars bmpars)
 Default ctor.
 
virtual ~YUVFrame ()
 Default virtual dtor.
 
 frame_essentials (FrameClass::yuv, YUVFrame)
 
virtual std::string dumpPayload ()
 Dumps internal payload data.
 
virtual void print (std::ostream &os) const
 How to print this frame to output stream.
 
virtual void reset ()
 Reset the internal data.
 
void fromAVBitmapFrame (AVBitmapFrame *f)
 Copies data to the GPU from AVBitmapFrame. More...
 
- Public Member Functions inherited from Frame
 Frame ()
 Default ctor.
 
virtual ~Frame ()
 Default virtual dtor.
 
 frame_essentials (FrameClass::none, Frame)
 
 frame_clone (FrameClass::none, Frame)
 
virtual void dumpPayloadToFile (std::ofstream &fout)
 Dumps internal payload data into a file.
 
virtual void updateAux ()
 Update internal auxiliary state variables.
 
virtual void update ()
 Update helper points (call always)
 
virtual bool isSeekable ()
 Can we seek to this frame? (e.g. is it a key-frame .. for H264 sps packets are used as seek markers)
 
void copyMetaFrom (Frame *f)
 Copy metadata (slot, subsession index, timestamp) to this frame.
 

Public Attributes

BitmapPars bmpars
 
BitmapPars source_bmpars
 
GLuint y_index
 internal OpenGL/GPU index
 
GLuint u_index
 internal OpenGL/GPU index
 
GLuint v_index
 internal OpenGL/GPU index
 
- Public Attributes inherited from Frame
SlotNumber n_slot
 Slot number identifying the media source.
 
int subsession_index
 Media subsession index.
 
long int mstimestamp
 Presentation time stamp (PTS) in milliseconds.
 

Private Member Functions

void reserve ()
 Reserve data on the GPU. Used by the constructor only.
 
void release ()
 Releases data on the GPU. Used by the destructor only.
 

Private Attributes

GLubyte * y_payload
 direct memory access memory address, returned by GPU
 
GLubyte * u_payload
 direct memory access memory address, returned by GPU
 
GLubyte * v_payload
 direct memory access memory address, returned by GPU
 

Additional Inherited Members

- Protected Attributes inherited from Frame
FrameClass frameclass
 Declares frametype for correct typecast. Used by Frame::getFrameClass()
 

Detailed Description

A GPU YUV frame.

The payload is at the GPU. YUVFrame instances are constructed/destructed by the OpenGLThread.

Copiable/Queable : no

Instances of this frame are not copiable when crossing thread borders, however, instances of this frame are used internally by OpenGLThread and OpenGLFrameFifo, and they are being queued and recycled.

For more details, see OpenGLFrameFifo and OpenGLFrameFifo::prepareAVBitmapFrame

Member Function Documentation

◆ fromAVBitmapFrame()

void YUVFrame::fromAVBitmapFrame ( AVBitmapFrame f)

Copies data to the GPU from AVBitmapFrame.


The documentation for this class was generated from the following files: