X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fqsvenc.h;h=bb175c5df8120214de7763e06b24b3356349cb67;hb=c71e1e60305669c225c696dd99f6db5dc550a56a;hp=88e072811013bf7cf36ee2315deb2cf60e3047be;hpb=d23fff0d8a0e7df170c67a9dd5c1f7c1fc0da489;p=ffmpeg diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h index 88e07281101..bb175c5df81 100644 --- a/libavcodec/qsvenc.h +++ b/libavcodec/qsvenc.h @@ -45,14 +45,18 @@ #define QSV_HAVE_LA_DS QSV_VERSION_ATLEAST(1, 8) #define QSV_HAVE_LA_HRD QSV_VERSION_ATLEAST(1, 11) -#if defined(_WIN32) +#if defined(_WIN32) || defined(__CYGWIN__) +#define QSV_HAVE_AVBR QSV_VERSION_ATLEAST(1, 3) #define QSV_HAVE_ICQ QSV_VERSION_ATLEAST(1, 8) #define QSV_HAVE_VCM QSV_VERSION_ATLEAST(1, 8) #define QSV_HAVE_QVBR QSV_VERSION_ATLEAST(1, 11) +#define QSV_HAVE_MF 0 #else +#define QSV_HAVE_AVBR 0 #define QSV_HAVE_ICQ 0 #define QSV_HAVE_VCM 0 #define QSV_HAVE_QVBR 0 +#define QSV_HAVE_MF QSV_VERSION_ATLEAST(1, 25) #endif #if !QSV_HAVE_LA_DS @@ -106,12 +110,15 @@ typedef struct QSVEncContext { #if QSV_HAVE_CO2 mfxExtCodingOption2 extco2; #endif - +#if QSV_HAVE_MF + mfxExtMultiFrameParam extmfp; + mfxExtMultiFrameControl extmfc; +#endif mfxExtOpaqueSurfaceAlloc opaque_alloc; mfxFrameSurface1 **opaque_surfaces; AVBufferRef *opaque_alloc_buf; - mfxExtBuffer *extparam_internal[2 + QSV_HAVE_CO2]; + mfxExtBuffer *extparam_internal[2 + QSV_HAVE_CO2 + (QSV_HAVE_MF * 2)]; int nb_extparam_internal; mfxExtBuffer **extparam; @@ -136,6 +143,8 @@ typedef struct QSVEncContext { int max_frame_size; int max_slice_size; + int aud; + int single_sei_nal_unit; int max_dec_frame_buffering; int trellis; @@ -154,6 +163,10 @@ typedef struct QSVEncContext { int recovery_point_sei; int a53_cc; + +#if QSV_HAVE_MF + int mfmode; +#endif char *load_plugins; SetEncodeCtrlCB *set_encode_ctrl_cb; } QSVEncContext;