mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-19 05:20:14 +01:00
vaapi_encode: Refactor slightly to allow easier setting of global options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
committed by
Anton Khirnov
parent
18019f8cb9
commit
f6b8552369
@@ -333,17 +333,18 @@ static int vaapi_encode_mjpeg_init_slice_params(AVCodecContext *avctx,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static VAConfigAttrib vaapi_encode_mjpeg_config_attributes[] = {
|
||||
{ .type = VAConfigAttribRTFormat,
|
||||
.value = VA_RT_FORMAT_YUV420 },
|
||||
{ .type = VAConfigAttribEncPackedHeaders,
|
||||
.value = VA_ENC_PACKED_HEADER_SEQUENCE },
|
||||
};
|
||||
|
||||
static av_cold int vaapi_encode_mjpeg_init_internal(AVCodecContext *avctx)
|
||||
{
|
||||
static const VAConfigAttrib default_config_attributes[] = {
|
||||
{ .type = VAConfigAttribRTFormat,
|
||||
.value = VA_RT_FORMAT_YUV420 },
|
||||
{ .type = VAConfigAttribEncPackedHeaders,
|
||||
.value = VA_ENC_PACKED_HEADER_SEQUENCE },
|
||||
};
|
||||
|
||||
VAAPIEncodeContext *ctx = avctx->priv_data;
|
||||
VAAPIEncodeMJPEGContext *priv = ctx->priv_data;
|
||||
int i;
|
||||
|
||||
ctx->va_profile = VAProfileJPEGBaseline;
|
||||
ctx->va_entrypoint = VAEntrypointEncPicture;
|
||||
@@ -353,9 +354,10 @@ static av_cold int vaapi_encode_mjpeg_init_internal(AVCodecContext *avctx)
|
||||
ctx->aligned_width = FFALIGN(ctx->input_width, 8);
|
||||
ctx->aligned_height = FFALIGN(ctx->input_height, 8);
|
||||
|
||||
ctx->config_attributes = vaapi_encode_mjpeg_config_attributes;
|
||||
ctx->nb_config_attributes =
|
||||
FF_ARRAY_ELEMS(vaapi_encode_mjpeg_config_attributes);
|
||||
for (i = 0; i < FF_ARRAY_ELEMS(default_config_attributes); i++) {
|
||||
ctx->config_attributes[ctx->nb_config_attributes++] =
|
||||
default_config_attributes[i];
|
||||
}
|
||||
|
||||
priv->quality = avctx->global_quality;
|
||||
if (priv->quality < 1 || priv->quality > 100) {
|
||||
|
||||
Reference in New Issue
Block a user