|
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