3#ifndef QFFMPEGHWACCEL_P_H
4#define QFFMPEGHWACCEL_P_H
19#include <private/qabstractvideobuffer_p.h>
33enum AVPixelFormat
getFormat(
struct AVCodecContext *
s,
const enum AVPixelFormat *
fmt);
64 AVPixelFormat
format = AV_PIX_FMT_NONE;
71 AVPixelFormat
fmt =
frame ? AVPixelFormat(
frame->format) : AV_PIX_FMT_NONE;
76 bool isNull()
const {
return !d->backend || !d->backend->rhi; }
79 void updateBackend(AVPixelFormat
format);
94 static std::pair<const AVCodec *, std::unique_ptr<HWAccel>>
96 const std::function<
bool(
const HWAccel &)>& hwAccelPredicate =
nullptr);
98 static std::pair<const AVCodec *, std::unique_ptr<HWAccel>>
100 const std::function<
bool(
const HWAccel &)>& hwAccelPredicate =
nullptr);
120 : m_hwDeviceContext(
hwDeviceContext), m_hwFramesContext(hwFrameContext)
static std::pair< const AVCodec *, std::unique_ptr< HWAccel > > findDecoderWithHwAccel(AVCodecID id, const std::function< bool(const HWAccel &)> &hwAccelPredicate=nullptr)
AVHWFramesContext * hwFramesContext() const
AVHWFramesConstraintsUPtr constraints() const
static const std::vector< AVHWDeviceType > & decodingDeviceTypes()
AVBufferRef * hwFramesContextAsBuffer() const
static const std::vector< AVHWDeviceType > & encodingDeviceTypes()
void createFramesContext(AVPixelFormat swFormat, const QSize &size)
static std::pair< const AVCodec *, std::unique_ptr< HWAccel > > findEncoderWithHwAccel(AVCodecID id, const std::function< bool(const HWAccel &)> &hwAccelPredicate=nullptr)
AVBufferRef * hwDeviceContextAsBuffer() const
AVHWDeviceContext * hwDeviceContext() const
AVPixelFormat hwFormat() const
AVHWDeviceType deviceType() const
TextureConverterBackend(QRhi *rhi)
virtual ~TextureConverterBackend()
virtual TextureSet * getTextures(AVFrame *)
TextureSet * getTextures(AVFrame *frame)
void init(AVFrame *frame)
virtual qint64 textureHandle(int)
std::unique_ptr< AVHWFramesConstraints, AVDeleter< decltype(&av_hwframe_constraints_free), &av_hwframe_constraints_free > > AVHWFramesConstraintsUPtr
AVPixelFormat getFormat(AVCodecContext *codecContext, const AVPixelFormat *suggestedFormats)
std::unique_ptr< AVBufferRef, AVDeleter< decltype(&av_buffer_unref), &av_buffer_unref > > AVBufferUPtr
Combined button and popup list for selecting options.
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum format
QVideoFrameFormat::PixelFormat fmt