Valkka
1.6.1
OpenSource Video Management
|
Decoded YUV frame in a non-planar format (thus "NP") More...
#include <frame.h>
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() | |
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