struct AVDictionary;
struct AVFormatContext;
struct AVFrame;
+struct AVPacket;
struct AVInputFormat;
struct SwsContext;
typedef struct AVIOInterruptCB AVIOInterruptCB;
AVFrameWithDeleter av_frame_alloc_unique();
+// AVPacket (ick!)
+// Not really unique from FFmpeg's point of view, but it is from ours
+struct av_packet_free_unique {
+ void operator() (AVPacket *packet) const;
+};
+
+typedef std::unique_ptr<AVPacket, av_packet_free_unique>
+ AVPacketWithDeleter;
+
+AVPacketWithDeleter av_packet_alloc_unique();
+
// SwsContext
struct sws_free_context_unique {
void operator() (SwsContext *context) const;