These encoders all accept VAAPI surfaces in a hardware frames context.
#include "vaapi_encode.h"
#include "avcodec.h"
+const AVCodecHWConfigInternal *ff_vaapi_encode_hw_configs[] = {
+ HW_CONFIG_ENCODER_FRAMES(VAAPI, VAAPI),
+ NULL,
+};
+
static const char * const picture_type_name[] = { "IDR", "I", "P", "B" };
static int vaapi_encode_make_packed_header(AVCodecContext *avctx,
#include "libavutil/hwcontext_vaapi.h"
#include "avcodec.h"
+#include "hwconfig.h"
struct VAAPIEncodeType;
struct VAAPIEncodePicture;
MAX_PARAM_BUFFER_SIZE = 1024,
};
+extern const AVCodecHWConfigInternal *ff_vaapi_encode_hw_configs[];
+
enum {
PICTURE_TYPE_IDR = 0,
PICTURE_TYPE_I = 1,
AV_PIX_FMT_VAAPI,
AV_PIX_FMT_NONE,
},
+ .hw_configs = ff_vaapi_encode_hw_configs,
.wrapper_name = "vaapi",
};
AV_PIX_FMT_VAAPI,
AV_PIX_FMT_NONE,
},
+ .hw_configs = ff_vaapi_encode_hw_configs,
.wrapper_name = "vaapi",
};
AV_PIX_FMT_VAAPI,
AV_PIX_FMT_NONE,
},
+ .hw_configs = ff_vaapi_encode_hw_configs,
.wrapper_name = "vaapi",
};
AV_PIX_FMT_VAAPI,
AV_PIX_FMT_NONE,
},
+ .hw_configs = ff_vaapi_encode_hw_configs,
.wrapper_name = "vaapi",
};
AV_PIX_FMT_VAAPI,
AV_PIX_FMT_NONE,
},
+ .hw_configs = ff_vaapi_encode_hw_configs,
.wrapper_name = "vaapi",
};
AV_PIX_FMT_VAAPI,
AV_PIX_FMT_NONE,
},
+ .hw_configs = ff_vaapi_encode_hw_configs,
.wrapper_name = "vaapi",
};