47 AVFormatContext* pFormatContext =
nullptr;
48 AVCodecContext* pVideoCodecContext =
nullptr;
49 AVCodecParameters* pVideoCodecParameters =
nullptr;
51#ifndef HAVE_FFMPEG_VERSION5
53 AVCodec* pVideoCodec =
nullptr;
57 const AVCodec* pVideoCodec =
nullptr;
61 AVStream* pVideoStream =
nullptr;
62 AVFrame* pFrame =
nullptr;
63 quint8* pFrameBuffer =
nullptr;
64 AVPacket* pPacket =
nullptr;
65 bool allowSeek =
true;
66 bool initialized =
false;
67 AVFilterContext* bufferSinkContext =
nullptr;
68 AVFilterContext* bufferSourceContext =
nullptr;
69 AVFilterGraph* filterGraph =
nullptr;
70 AVFrame* filterFrame =
nullptr;
73 enum AVPixelFormat lastPixfmt = AV_PIX_FMT_NONE;
77 bool initializeVideo();
78 bool getVideoPacket();
79 bool decodeVideoPacket()
const;
81 void convertAndScaleFrame(AVPixelFormat format,
83 bool maintainAspectRatio,
87 bool processFilterGraph(AVFrame*
const dst,
88 const AVFrame*
const src,
89 enum AVPixelFormat pixfmt,
93 void deleteFilterGraph();
97 bool initFilterGraph(
enum AVPixelFormat pixfmt,
int width,
int height);
99 void calculateDimensions(
int squareSize,
100 bool maintainAspectRatio,
104 void createAVFrame(AVFrame**
const avFrame,
105 quint8**
const frameBuffer,
108 AVPixelFormat format);
111 int decodeVideoNew(AVCodecContext*
const avContext,
112 AVFrame*
const avFrame,
114 AVPacket*
const avPacket)
const;