#ifndef DATA_INPUT_VIDEO_FILE_FFMPEG_H #define DATA_INPUT_VIDEO_FILE_FFMPEG_H #include #include #include #include extern "C" { #include #include #include #include #include #include #include } #include "HaasCommonImage.h" #include "HaasCommonVideo.h" #include "HaasVideoCodecFFmpeg.h" class DataInputVideoFileFFmpeg { public: DataInputVideoFileFFmpeg(); ~DataInputVideoFileFFmpeg(); int Open(const char *filename); void Close(); bool CheckStream(); ImageBuffer_t* GetImageData(); private: int Parse(); VideoCodecID_t mCodecID; PixelFmt_t mFormat; ImageSize_t mFrameSize; AVFormatContext *pFormatCtx; AVBSFContext *mAbsCtx; AVPacket *mPacket; int32_t mVideoIndex; VideoCodecFFmpeg* mVideoCodecFFmpeg; bool mHasStream; }; #endif