62#define OFFSET(x) offsetof(QSVMpeg2EncContext, x)
63#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
69 {
"unknown",
NULL, 0,
AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_UNKNOWN }, INT_MIN, INT_MAX,
VE, .unit =
"profile" },
70 {
"simple",
NULL, 0,
AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_MPEG2_SIMPLE }, INT_MIN, INT_MAX,
VE, .unit =
"profile" },
71 {
"main",
NULL, 0,
AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_MPEG2_MAIN }, INT_MIN, INT_MAX,
VE, .unit =
"profile" },
72 {
"high",
NULL, 0,
AV_OPT_TYPE_CONST, { .i64 = MFX_PROFILE_MPEG2_HIGH }, INT_MIN, INT_MAX,
VE, .unit =
"profile" },
96 .p.name =
"mpeg2_qsv",
107 .p.priv_class = &
class,
111 .p.wrapper_name =
"qsv",
const FFCodec ff_mpeg2_qsv_encoder
Libavcodec external API header.
#define CODEC_PIXFMTS(...)
#define FF_CODEC_CAP_NOT_INIT_THREADSAFE
The codec is not known to be init-threadsafe (i.e.
#define FF_CODEC_ENCODE_CB(func)
#define CODEC_LONG_NAME(str)
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
common internal and external API header
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
@ AV_OPT_TYPE_INT
Underlying C type is int.
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
#define AV_CODEC_CAP_HYBRID
Codec is potentially backed by a hardware implementation, but not necessarily.
@ AV_CODEC_ID_MPEG2VIDEO
preferred ID for MPEG-1/2 video decoding
const char * av_default_item_name(void *ptr)
Return the context name.
#define LIBAVUTIL_VERSION_INT
@ AVCOL_RANGE_MPEG
Narrow or limited range content.
@ AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
@ AV_PIX_FMT_QSV
HW acceleration through QSV, data[3] contains a pointer to the mfxFrameSurface1 structure.
int ff_qsv_enc_close(AVCodecContext *avctx, QSVEncContext *q)
int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q)
int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q, AVPacket *pkt, const AVFrame *frame, int *got_packet)
const AVCodecHWConfigInternal *const ff_qsv_enc_hw_configs[]
static int qsv_enc_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static const FFCodecDefault qsv_enc_defaults[]
static av_cold int qsv_enc_init(AVCodecContext *avctx)
static av_cold int qsv_enc_close(AVCodecContext *avctx)
static int qsv_enc_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static av_cold int qsv_enc_init(AVCodecContext *avctx)
static av_cold int qsv_enc_close(AVCodecContext *avctx)
Describe the class of an AVClass context structure.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
main external API structure.
This structure describes decoded (raw) audio or video data.
This structure stores compressed data.