Valkka  1.6.1
OpenSource Video Management
Public Member Functions | List of all members
AVRGBFrame Class Reference

Decoded YUV frame in a non-planar format (thus "NP") More...

#include <frame.h>

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

Public Member Functions

 frame_essentials (FrameClass::avrgb, AVRGBFrame)
 
 frame_clone (FrameClass::avrgb, AVRGBFrame)
 
virtual void reserve (int width, int height)
 Reserve RGB image with width & height.
 
virtual std::string dumpPayload ()
 Dumps internal payload data.
 
virtual void print (std::ostream &os) const
 How to print this frame to output stream.
 
- Public Member Functions inherited from AVBitmapFrame
 AVBitmapFrame ()
 Default ctor.
 
virtual ~AVBitmapFrame ()
 Default virtual dtor.
 
 frame_essentials (FrameClass::avbitmap, AVBitmapFrame)
 
 frame_clone (FrameClass::avbitmap, AVBitmapFrame)
 
virtual void reset ()
 Reset the internal data.
 
virtual void copyPayloadFrom (AVBitmapFrame *frame)
 
virtual void updateAux ()
 Uses AVBitmapFrame::av_frame width and height and AVBitmapFrame::av_pixel_format to calculate AVBitmapFrame::bmpars.
 
virtual void update ()
 Update helper points (call always)
 
- Public Member Functions inherited from AVMediaFrame
 AVMediaFrame ()
 Default ctor.
 
virtual ~AVMediaFrame ()
 Default virtual dtor.
 
- 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 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.
 

Additional Inherited Members

- Public Attributes inherited from AVBitmapFrame
AVPixelFormat av_pixel_format
 From AVCodecContext .. this class implies YUV420P so this is not really required ..
 
BitmapPars bmpars
 Calculated bitmap plane dimensions, data sizes, etc.
 
uint8_t * y_payload
 shortcut to AVMediaFrame::av_frame->data[0]
 
uint8_t * u_payload
 shortcut to AVMediaFrame::av_frame->data[1]
 
uint8_t * v_payload
 shortcut to AVMediaFrame::av_frame->data[2]
 
- Public Attributes inherited from AVMediaFrame
AVMediaType media_type
 helper object: media type
 
AVCodecID codec_id
 helper object: codec id
 
AVFrame * av_frame
 The decoded frame.
 
- 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.
 
- Protected Attributes inherited from Frame
FrameClass frameclass
 Declares frametype for correct typecast. Used by Frame::getFrameClass()
 

Detailed Description

Decoded YUV frame in a non-planar format (thus "NP")

For example, the YUYV422 format (AV_PIX_FMT_YUYV422), where the data layout looks like this: YUYV YUYV YUYV YUYV YUYV YUYV

here we could optimize and copy from YUYV422 directly to YUV420 on the GPU like in YUVFrame::fromAVBitmapFrame maybe someday ..

class AVBitmapFrameNP : public AVMediaFrame {

public: AVBitmapFrameNP(); ///< Default ctor virtual ~AVBitmapFrameNP(); ///< Default virtual dtor frame_essentials(FrameClass::avbitmap_np, AVBitmapFrameNP); frame_clone(FrameClass::avbitmap_np, AVBitmapFrameNP); // TODO: think about this!

public: // redefined virtual virtual std::string dumpPayload(); virtual void print(std::ostream& os) const; ///< How to print this frame to output stream virtual void reset(); ///< Reset the internal data virtual void update(); ///< Uses AVBitmapFrame::av_frame width and height and AVBitmapFrame::av_pixel_format to calculate AVBitmapFrame::bmpars

public: // helper objects AVPixelFormat av_pixel_format; ///< From AVCodecContext .. this class implies YUV422P so this is not really required .. BitmapPars bmpars; ///< Reference parameters for corresponding YUV420P frame uint8_t* payload; ///< shortcut to the non-planar data }; Decoded RGB frame in FFMpeg format

Copiable/Queable : yes


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