class dlstreamer::FFmpegFrame#

#include <frame.h>

class FFmpegFrame: public dlstreamer::BaseFrame {
public:
    // construction

    FFmpegFrame();

    FFmpegFrame(
        AVFrame* frame,
        bool take_ownership = false,
        ContextPtr context = nullptr
    );

    FFmpegFrame(
        const std::vector<AVFrame*>& batched_frames,
        bool take_ownership = false,
        ContextPtr context = nullptr
    );

    FFmpegFrame(
        AVFrame* frame,
        bool take_ownership,
        const FrameInfo& info,
        ContextPtr context = nullptr
    );

    // methods

    void init(
        const std::vector<AVFrame*>& frames,
        const FrameInfo& info,
        ContextPtr context
    );

    AVFrame* avframe();
};

Inherited Members#

public:
    // typedefs

    typedef std::vector<TensorPtr>::iterator iterator;

    // methods

    Frame& operator = (const Frame&);
    virtual MediaType media_type() const = 0;
    virtual Format format() const = 0;
    virtual MemoryType memory_type() const = 0;
    virtual iterator begin() = 0;
    virtual iterator end() = 0;
    virtual TensorPtr tensor(int index = -1) = 0;
    virtual size_t num_tensors() const = 0;
    virtual Metadata& metadata() = 0;
    const Metadata& metadata() const;
    virtual FramePtr parent() const = 0;
    virtual std::vector<FramePtr> regions() const = 0;
    virtual size_t num_tensors() const;
    virtual TensorPtr tensor(int index);
    virtual iterator begin();
    virtual iterator end();
    virtual MediaType media_type() const;
    virtual Format format() const;
    virtual MemoryType memory_type() const;
    virtual Metadata& metadata();
    virtual FramePtr parent() const;
    void set_parent(FramePtr parent);
    virtual std::vector<FramePtr> regions() const;
    void add_region(FramePtr frame);