8#include <QRecursiveMutex>
13#include "libavcodec/avcodec.h"
15#include "libavutil/buffer.h"
31 AVCodecContext* GetCodecContext(
const AVStream* Stream,
32 const AVCodec* Codec =
nullptr,
33 bool NullCodec =
false);
34 AVCodecContext* FindCodecContext(
const AVStream* Stream);
35 void FreeCodecContext(
const AVStream* Stream);
36 void FreeAllContexts();
49 AVPixelFormat Fmt = AV_PIX_FMT_YUV420P);
50 int Copy(
AVFrame* To, AVPixelFormat ToFmt,
const AVFrame* From, AVPixelFormat FromFmt,
51 int Width,
int Height);
55 int SizeData(
int Width,
int Height, AVPixelFormat Fmt);
57 AVPixelFormat m_format { AV_PIX_FMT_NONE };
58 SwsContext* m_swsctx {
nullptr };
77 char m_codecType {
' '};
79 int64_t m_duration {0};
83 float m_SampleAspectRatio {0.0};
88 QString m_fieldOrder {
"UN"};
89 float m_frameRate {0.0};
90 float m_avgFrameRate {0.0};
QRecursiveMutex m_mapLock
QMap< const AVStream *, AVCodecContext * > m_streamMap
QVector< MythStreamInfo > m_streamInfoList