On Wo, 2024-06-05 at 21:13 +0100, Mark Thompson wrote: > libva 2.0 was released in 2017 and the 2.x versions are included in all > supported distributions nowadays. Various features no longer need any > configure check after this change, including all codecs except AV1. > Note that the libva version is the API version plus one, so this is > removing support for VAAPI 0.x and requiring VAAPI 1.x. > --- > Now squashed. > > > configure | 25 +++-------- > libavcodec/vaapi_decode.c | 39 ++--------------- > libavcodec/vaapi_encode.c | 78 ++++++---------------------------- > libavcodec/vaapi_encode.h | 9 ---- > libavcodec/vaapi_encode_h264.c | 18 -------- > libavcodec/vaapi_encode_h265.c | 2 - > libavfilter/vaapi_vpp.c | 22 ++++------ > libavutil/hwcontext_vaapi.c | 22 ---------- > 8 files changed, 29 insertions(+), 186 deletions(-) > > diff --git a/configure b/configure > index 6c5b8aab9a..06e6fa22f2 100755 > --- a/configure > +++ b/configure > @@ -2630,7 +2630,6 @@ CONFIG_EXTRA=" > texturedsp > texturedspenc > tpeldsp > - vaapi_1
There still are vaapi_1 in configure configure:pad_vaapi_filter_deps="vaapi_1" configure:drawbox_vaapi_filter_deps="vaapi_1" Thanks Haihao > vaapi_encode > vc1dsp > videodsp > @@ -3200,7 +3199,7 @@ hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC" > hevc_dxva2_hwaccel_select="hevc_decoder" > hevc_nvdec_hwaccel_deps="nvdec" > hevc_nvdec_hwaccel_select="hevc_decoder" > -hevc_vaapi_hwaccel_deps="vaapi VAPictureParameterBufferHEVC" > +hevc_vaapi_hwaccel_deps="vaapi" > hevc_vaapi_hwaccel_select="hevc_decoder" > hevc_vdpau_hwaccel_deps="vdpau VdpPictureInfoHEVC" > hevc_vdpau_hwaccel_select="hevc_decoder" > @@ -3272,7 +3271,7 @@ vp9_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_VP9" > vp9_dxva2_hwaccel_select="vp9_decoder" > vp9_nvdec_hwaccel_deps="nvdec" > vp9_nvdec_hwaccel_select="vp9_decoder" > -vp9_vaapi_hwaccel_deps="vaapi VADecPictureParameterBufferVP9_bit_depth" > +vp9_vaapi_hwaccel_deps="vaapi" > vp9_vaapi_hwaccel_select="vp9_decoder" > vp9_vdpau_hwaccel_deps="vdpau VdpPictureInfoVP9" > vp9_vdpau_hwaccel_select="vp9_decoder" > @@ -3365,7 +3364,6 @@ hevc_qsv_decoder_select="hevc_mp4toannexb_bsf qsvdec" > hevc_qsv_encoder_select="hevcparse qsvenc" > hevc_rkmpp_decoder_deps="rkmpp" > hevc_rkmpp_decoder_select="hevc_mp4toannexb_bsf" > -hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC" > hevc_vaapi_encoder_select="atsc_a53 cbs_h265 vaapi_encode" > hevc_v4l2m2m_decoder_deps="v4l2_m2m hevc_v4l2_m2m" > hevc_v4l2m2m_decoder_select="hevc_mp4toannexb_bsf" > @@ -3374,7 +3372,6 @@ mjpeg_cuvid_decoder_deps="cuvid" > mjpeg_qsv_decoder_select="qsvdec" > mjpeg_qsv_encoder_deps="libmfx" > mjpeg_qsv_encoder_select="qsvenc" > -mjpeg_vaapi_encoder_deps="VAEncPictureParameterBufferJPEG" > mjpeg_vaapi_encoder_select="cbs_jpeg jpegtables vaapi_encode" > mp3_mf_encoder_deps="mediafoundation" > mpeg1_cuvid_decoder_deps="cuvid" > @@ -3403,7 +3400,6 @@ vp8_mediacodec_decoder_deps="mediacodec" > vp8_mediacodec_encoder_deps="mediacodec" > vp8_qsv_decoder_select="qsvdec" > vp8_rkmpp_decoder_deps="rkmpp" > -vp8_vaapi_encoder_deps="VAEncPictureParameterBufferVP8" > vp8_vaapi_encoder_select="vaapi_encode" > vp8_v4l2m2m_decoder_deps="v4l2_m2m vp8_v4l2_m2m" > vp8_v4l2m2m_encoder_deps="v4l2_m2m vp8_v4l2_m2m" > @@ -3412,7 +3408,6 @@ vp9_mediacodec_decoder_deps="mediacodec" > vp9_mediacodec_encoder_deps="mediacodec" > vp9_qsv_decoder_select="qsvdec" > vp9_rkmpp_decoder_deps="rkmpp" > -vp9_vaapi_encoder_deps="VAEncPictureParameterBufferVP9" > vp9_vaapi_encoder_select="vaapi_encode" > vp9_qsv_encoder_deps="libmfx MFX_CODEC_VP9" > vp9_qsv_encoder_select="qsvenc" > @@ -3966,9 +3961,9 @@ xfade_vulkan_filter_deps="vulkan spirv_compiler" > yadif_cuda_filter_deps="ffnvcodec" > yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm" > yadif_videotoolbox_filter_deps="metal corevideo videotoolbox" > -hstack_vaapi_filter_deps="vaapi_1" > -vstack_vaapi_filter_deps="vaapi_1" > -xstack_vaapi_filter_deps="vaapi_1" > +hstack_vaapi_filter_deps="vaapi" > +vstack_vaapi_filter_deps="vaapi" > +xstack_vaapi_filter_deps="vaapi" > hstack_qsv_filter_deps="libmfx" > hstack_qsv_filter_select="qsvvpp" > vstack_qsv_filter_deps="libmfx" > @@ -7271,7 +7266,7 @@ enabled libdrm && > check_pkg_config libdrm_getfb2 libdrm "xf86drmMode.h" drmModeGetFB2 > > enabled vaapi && > - check_pkg_config vaapi "libva >= 0.35.0" "va/va.h" vaInitialize > + check_pkg_config vaapi "libva >= 1.0.0" "va/va.h" vaInitialize > > if enabled vaapi; then > case $target_os in > @@ -7287,18 +7282,10 @@ if enabled vaapi; then > check_pkg_config vaapi_x11 "libva-x11" "va/va_x11.h" vaGetDisplay > fi > > - check_cpp_condition vaapi_1 "va/va.h" "VA_CHECK_VERSION(1, 0, 0)" > - > - check_type "va/va.h va/va_dec_hevc.h" "VAPictureParameterBufferHEVC" > - check_struct "va/va.h" "VADecPictureParameterBufferVP9" bit_depth > check_struct "va/va.h" "VADecPictureParameterBufferAV1" bit_depth_idx > check_type "va/va.h va/va_vpp.h" > "VAProcFilterParameterBufferHDRToneMapping" > check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps" rotation_flags > check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps" blend_flags > - check_type "va/va.h va/va_enc_hevc.h" "VAEncPictureParameterBufferHEVC" > - check_type "va/va.h va/va_enc_jpeg.h" "VAEncPictureParameterBufferJPEG" > - check_type "va/va.h va/va_enc_vp8.h" "VAEncPictureParameterBufferVP8" > - check_type "va/va.h va/va_enc_vp9.h" "VAEncPictureParameterBufferVP9" > check_type "va/va.h va/va_enc_av1.h" "VAEncPictureParameterBufferAV1" > fi > > diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c > index 7c91d50f7b..9018558b48 100644 > --- a/libavcodec/vaapi_decode.c > +++ b/libavcodec/vaapi_decode.c > @@ -197,16 +197,10 @@ int ff_vaapi_decode_issue(AVCodecContext *avctx, > av_log(avctx, AV_LOG_ERROR, "Failed to end picture decode " > "issue: %d (%s).\n", vas, vaErrorStr(vas)); > err = AVERROR(EIO); > - if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & > - AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) > - goto fail; > - else > - goto fail_at_end; > + goto fail; > } > > - if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & > - AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) > - ff_vaapi_decode_destroy_buffers(avctx, pic); > + ff_vaapi_decode_destroy_buffers(avctx, pic); > > err = 0; > goto exit; > @@ -219,7 +213,6 @@ fail_with_picture: > } > fail: > ff_vaapi_decode_destroy_buffers(avctx, pic); > -fail_at_end: > exit: > pic->nb_param_buffers = 0; > pic->nb_slices = 0; > @@ -412,12 +405,10 @@ static const struct { > H264ConstrainedBaseline), > MAP(H264, H264_MAIN, H264Main ), > MAP(H264, H264_HIGH, H264High ), > -#if VA_CHECK_VERSION(0, 37, 0) > MAP(HEVC, HEVC_MAIN, HEVCMain ), > MAP(HEVC, HEVC_MAIN_10, HEVCMain10 ), > MAP(HEVC, HEVC_MAIN_STILL_PICTURE, > HEVCMain ), > -#endif > #if VA_CHECK_VERSION(1, 2, 0) && CONFIG_HEVC_VAAPI_HWACCEL > MAP(HEVC, HEVC_REXT, None, > ff_vaapi_parse_hevc_rext_scc_profile ), > @@ -435,14 +426,10 @@ static const struct { > MAP(VC1, VC1_COMPLEX, VC1Advanced ), > MAP(VC1, VC1_ADVANCED, VC1Advanced ), > MAP(VP8, UNKNOWN, VP8Version0_3 ), > -#if VA_CHECK_VERSION(0, 38, 0) > MAP(VP9, VP9_0, VP9Profile0 ), > -#endif > -#if VA_CHECK_VERSION(0, 39, 0) > MAP(VP9, VP9_1, VP9Profile1 ), > MAP(VP9, VP9_2, VP9Profile2 ), > MAP(VP9, VP9_3, VP9Profile3 ), > -#endif > #if VA_CHECK_VERSION(1, 8, 0) > MAP(AV1, AV1_MAIN, AV1Profile0), > MAP(AV1, AV1_HIGH, AV1Profile1), > @@ -605,27 +592,7 @@ static int vaapi_decode_make_config(AVCodecContext > *avctx, > if (err < 0) > goto fail; > > - if (CONFIG_VAAPI_1) > - frames->initial_pool_size = 0; > - else { > - frames->initial_pool_size = 1; > - // Add per-codec number of surfaces used for storing reference > frames. > - switch (avctx->codec_id) { > - case AV_CODEC_ID_H264: > - case AV_CODEC_ID_HEVC: > - case AV_CODEC_ID_AV1: > - frames->initial_pool_size += 16; > - break; > - case AV_CODEC_ID_VP9: > - frames->initial_pool_size += 8; > - break; > - case AV_CODEC_ID_VP8: > - frames->initial_pool_size += 3; > - break; > - default: > - frames->initial_pool_size += 2; > - } > - } > + frames->initial_pool_size = 0; > } > > av_hwframe_constraints_free(&constraints); > diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c > index f54b2579ec..6f062e8277 100644 > --- a/libavcodec/vaapi_encode.c > +++ b/libavcodec/vaapi_encode.c > @@ -530,7 +530,6 @@ static int vaapi_encode_issue(AVCodecContext *avctx, > } > } > > -#if VA_CHECK_VERSION(1, 0, 0) > sd = av_frame_get_side_data(pic->input_image, > AV_FRAME_DATA_REGIONS_OF_INTEREST); > if (sd && ctx->roi_allowed) { > @@ -593,7 +592,6 @@ static int vaapi_encode_issue(AVCodecContext *avctx, > if (err < 0) > goto fail; > } > -#endif > > vas = vaBeginPicture(ctx->hwctx->display, ctx->va_context, > pic->input_surface); > @@ -618,26 +616,17 @@ static int vaapi_encode_issue(AVCodecContext *avctx, > av_log(avctx, AV_LOG_ERROR, "Failed to end picture encode issue: " > "%d (%s).\n", vas, vaErrorStr(vas)); > err = AVERROR(EIO); > - // vaRenderPicture() has been called here, so we should not destroy > - // the parameter buffers unless separate destruction is required. > - if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & > - AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) > - goto fail; > - else > - goto fail_at_end; > - } > - > - if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & > - AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) { > - for (i = 0; i < pic->nb_param_buffers; i++) { > - vas = vaDestroyBuffer(ctx->hwctx->display, > - pic->param_buffers[i]); > - if (vas != VA_STATUS_SUCCESS) { > - av_log(avctx, AV_LOG_ERROR, "Failed to destroy " > - "param buffer %#x: %d (%s).\n", > - pic->param_buffers[i], vas, vaErrorStr(vas)); > - // And ignore. > - } > + goto fail; > + } > + > + for (i = 0; i < pic->nb_param_buffers; i++) { > + vas = vaDestroyBuffer(ctx->hwctx->display, > + pic->param_buffers[i]); > + if (vas != VA_STATUS_SUCCESS) { > + av_log(avctx, AV_LOG_ERROR, "Failed to destroy " > + "param buffer %#x: %d (%s).\n", > + pic->param_buffers[i], vas, vaErrorStr(vas)); > + // And ignore. > } > } > > @@ -654,7 +643,6 @@ fail: > for (i = 0; i < pic->nb_slices; i++) > av_freep(&pic->slices[i].codec_slice_params); > } > -fail_at_end: > av_freep(&pic->codec_picture_params); > av_freep(&pic->param_buffers); > av_freep(&pic->slices); > @@ -1530,25 +1518,19 @@ static const VAAPIEncodeRTFormat > vaapi_encode_rt_formats[] = { > { "YUV444", VA_RT_FORMAT_YUV444, 8, 3, 0, 0 }, > { "XYUV", VA_RT_FORMAT_YUV444, 8, 3, 0, 0 }, > { "YUV411", VA_RT_FORMAT_YUV411, 8, 3, 2, 0 }, > -#if VA_CHECK_VERSION(0, 38, 1) > { "YUV420_10", VA_RT_FORMAT_YUV420_10BPP, 10, 3, 1, 1 }, > -#endif > }; > > static const VAEntrypoint vaapi_encode_entrypoints_normal[] = { > VAEntrypointEncSlice, > VAEntrypointEncPicture, > -#if VA_CHECK_VERSION(0, 39, 2) > VAEntrypointEncSliceLP, > -#endif > 0 > }; > -#if VA_CHECK_VERSION(0, 39, 2) > static const VAEntrypoint vaapi_encode_entrypoints_low_power[] = { > VAEntrypointEncSliceLP, > 0 > }; > -#endif > > static av_cold int vaapi_encode_profile_entrypoint(AVCodecContext *avctx) > { > @@ -1566,13 +1548,7 @@ static av_cold int > vaapi_encode_profile_entrypoint(AVCodecContext *avctx) > > > if (ctx->low_power) { > -#if VA_CHECK_VERSION(0, 39, 2) > usable_entrypoints = vaapi_encode_entrypoints_low_power; > -#else > - av_log(avctx, AV_LOG_ERROR, "Low-power encoding is not " > - "supported with this VAAPI version.\n"); > - return AVERROR(EINVAL); > -#endif > } else { > usable_entrypoints = vaapi_encode_entrypoints_normal; > } > @@ -1623,11 +1599,7 @@ static av_cold int > vaapi_encode_profile_entrypoint(AVCodecContext *avctx) > avctx->profile != AV_PROFILE_UNKNOWN) > continue; > > -#if VA_CHECK_VERSION(1, 0, 0) > profile_string = vaProfileStr(profile->va_profile); > -#else > - profile_string = "(no profile names)"; > -#endif > > for (j = 0; j < n; j++) { > if (va_profiles[j] == profile->va_profile) > @@ -1686,11 +1658,7 @@ static av_cold int > vaapi_encode_profile_entrypoint(AVCodecContext *avctx) > } > > ctx->va_entrypoint = va_entrypoints[i]; > -#if VA_CHECK_VERSION(1, 0, 0) > entrypoint_string = vaEntrypointStr(ctx->va_entrypoint); > -#else > - entrypoint_string = "(no entrypoint names)"; > -#endif > av_log(avctx, AV_LOG_VERBOSE, "Using VAAPI entrypoint %s (%d).\n", > entrypoint_string, ctx->va_entrypoint); > > @@ -1807,16 +1775,10 @@ static av_cold int > vaapi_encode_init_rate_control(AVCodecContext *avctx) > > supported_va_rc_modes = rc_attr.value; > if (ctx->blbrc) { > -#if VA_CHECK_VERSION(0, 39, 2) > if (!(supported_va_rc_modes & VA_RC_MB)) { > ctx->blbrc = 0; > av_log(avctx, AV_LOG_WARNING, "Driver does not support > BLBRC.\n"); > } > -#else > - ctx->blbrc = 0; > - av_log(avctx, AV_LOG_WARNING, "Please consider to update to VAAPI > 0.39.2 " > - "or above, which can support BLBRC.\n"); > -#endif > } > > for (i = 0; i < FF_ARRAY_ELEMS(vaapi_encode_rc_modes); i++) { > @@ -2044,11 +2006,7 @@ rc_mode_found: > ctx->config_attributes[ctx->nb_config_attributes++] = > (VAConfigAttrib) { > .type = VAConfigAttribRateControl, > -#if VA_CHECK_VERSION(0, 39, 2) > .value = ctx->blbrc ? ctx->va_rc_mode | VA_RC_MB : ctx- > >va_rc_mode, > -#else > - .value = ctx->va_rc_mode, > -#endif > }; > } > > @@ -2081,9 +2039,7 @@ rc_mode_found: > #if VA_CHECK_VERSION(1, 3, 0) > .quality_factor = rc_quality, > #endif > -#if VA_CHECK_VERSION(0, 39, 2) > .rc_flags.bits.mb_rate_control = ctx->blbrc ? 1 : 2, > -#endif > }; > vaapi_encode_add_global_param(avctx, > VAEncMiscParameterTypeRateControl, > @@ -2119,12 +2075,10 @@ rc_mode_found: > ctx->fr_params = (VAEncMiscParameterFrameRate) { > .framerate = (unsigned int)fr_den << 16 | fr_num, > }; > -#if VA_CHECK_VERSION(0, 40, 0) > vaapi_encode_add_global_param(avctx, > VAEncMiscParameterTypeFrameRate, > &ctx->fr_params, > sizeof(ctx->fr_params)); > -#endif > > return 0; > } > @@ -2338,11 +2292,9 @@ static av_cold int > vaapi_encode_init_row_slice_structure(AVCodecContext *avctx, > } > ctx->nb_slices = (ctx->slice_block_rows + k - 1) / k; > ctx->slice_size = k; > -#if VA_CHECK_VERSION(1, 0, 0) > } else if (slice_structure & VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS) { > ctx->nb_slices = ctx->slice_block_rows; > ctx->slice_size = 1; > -#endif > } else { > av_log(avctx, AV_LOG_ERROR, "Driver does not support any usable " > "slice structure modes (%#x).\n", slice_structure); > @@ -2566,7 +2518,6 @@ static av_cold int > vaapi_encode_init_packed_headers(AVCodecContext *avctx) > > static av_cold int vaapi_encode_init_quality(AVCodecContext *avctx) > { > -#if VA_CHECK_VERSION(0, 36, 0) > VAAPIEncodeContext *ctx = avctx->priv_data; > VAStatus vas; > VAConfigAttrib attr = { VAConfigAttribEncQualityRange }; > @@ -2603,17 +2554,12 @@ static av_cold int > vaapi_encode_init_quality(AVCodecContext *avctx) > &ctx->quality_params, > sizeof(ctx->quality_params)); > } > -#else > - av_log(avctx, AV_LOG_WARNING, "The encode quality option is " > - "not supported with this VAAPI version.\n"); > -#endif > > return 0; > } > > static av_cold int vaapi_encode_init_roi(AVCodecContext *avctx) > { > -#if VA_CHECK_VERSION(1, 0, 0) > VAAPIEncodeContext *ctx = avctx->priv_data; > VAStatus vas; > VAConfigAttrib attr = { VAConfigAttribEncROI }; > @@ -2640,7 +2586,7 @@ static av_cold int vaapi_encode_init_roi(AVCodecContext > *avctx) > (ctx->va_rc_mode == VA_RC_CQP || > roi.bits.roi_rc_qp_delta_support); > } > -#endif > + > return 0; > } > > diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h > index 0eed9691ca..43f3b8cf82 100644 > --- a/libavcodec/vaapi_encode.h > +++ b/libavcodec/vaapi_encode.h > @@ -22,10 +22,7 @@ > #include <stdint.h> > > #include <va/va.h> > - > -#if VA_CHECK_VERSION(1, 0, 0) > #include <va/va_str.h> > -#endif > > #include "libavutil/hwcontext.h" > #include "libavutil/hwcontext_vaapi.h" > @@ -82,12 +79,8 @@ typedef struct VAAPIEncodePicture { > void *opaque; > AVBufferRef *opaque_ref; > > -#if VA_CHECK_VERSION(1, 0, 0) > // ROI regions. > VAEncROI *roi; > -#else > - void *roi; > -#endif > > int type; > int b_depth; > @@ -293,9 +286,7 @@ typedef struct VAAPIEncodeContext { > VAEncMiscParameterHRD hrd_params; > VAEncMiscParameterFrameRate fr_params; > VAEncMiscParameterBufferMaxFrameSize mfs_params; > -#if VA_CHECK_VERSION(0, 36, 0) > VAEncMiscParameterBufferQualityLevel quality_params; > -#endif > > // Per-sequence parameter structure (VAEncSequenceParameterBuffer*). > void *codec_sequence_params; > diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c > index d656b1020f..bb4c250bb4 100644 > --- a/libavcodec/vaapi_encode_h264.c > +++ b/libavcodec/vaapi_encode_h264.c > @@ -106,7 +106,6 @@ typedef struct VAAPIEncodeH264Context { > > int aud_needed; > int sei_needed; > - int sei_cbr_workaround_needed; > } VAAPIEncodeH264Context; > > > @@ -271,19 +270,6 @@ static int > vaapi_encode_h264_write_extra_header(AVCodecContext *avctx, > > *type = VAEncPackedHeaderRawData; > return 0; > - > -#if !CONFIG_VAAPI_1 > - } else if (priv->sei_cbr_workaround_needed) { > - // Insert a zero-length header using the old SEI type. This is > - // required to avoid triggering broken behaviour on Intel platforms > - // in CBR mode where an invalid SEI message is generated by the > - // driver and inserted into the stream. > - *data_len = 0; > - *type = VAEncPackedHeaderH264_SEI; > - priv->sei_cbr_workaround_needed = 0; > - return 0; > -#endif > - > } else { > return AVERROR_EOF; > } > @@ -681,10 +667,6 @@ static int > vaapi_encode_h264_init_picture_params(AVCodecContext *avctx, > > if (priv->sei & SEI_IDENTIFIER && pic->encode_order == 0) > priv->sei_needed |= SEI_IDENTIFIER; > -#if !CONFIG_VAAPI_1 > - if (ctx->va_rc_mode == VA_RC_CBR) > - priv->sei_cbr_workaround_needed = 1; > -#endif > > if (priv->sei & SEI_TIMING) { > priv->sei_pic_timing = (H264RawSEIPicTiming) { > diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c > index c0dc3fca5f..2252f872cd 100644 > --- a/libavcodec/vaapi_encode_h265.c > +++ b/libavcodec/vaapi_encode_h265.c > @@ -1303,10 +1303,8 @@ static av_cold int > vaapi_encode_h265_configure(AVCodecContext *avctx) > static const VAAPIEncodeProfile vaapi_encode_h265_profiles[] = { > { AV_PROFILE_HEVC_MAIN, 8, 3, 1, 1, VAProfileHEVCMain }, > { AV_PROFILE_HEVC_REXT, 8, 3, 1, 1, VAProfileHEVCMain }, > -#if VA_CHECK_VERSION(0, 37, 0) > { AV_PROFILE_HEVC_MAIN_10, 10, 3, 1, 1, VAProfileHEVCMain10 }, > { AV_PROFILE_HEVC_REXT, 10, 3, 1, 1, VAProfileHEVCMain10 }, > -#endif > #if VA_CHECK_VERSION(1, 2, 0) > { AV_PROFILE_HEVC_REXT, 12, 3, 1, 1, VAProfileHEVCMain12 }, > { AV_PROFILE_HEVC_REXT, 8, 3, 1, 0, VAProfileHEVCMain422_10 }, > diff --git a/libavfilter/vaapi_vpp.c b/libavfilter/vaapi_vpp.c > index 9ef7a289fb..fe14170fee 100644 > --- a/libavfilter/vaapi_vpp.c > +++ b/libavfilter/vaapi_vpp.c > @@ -204,12 +204,9 @@ int ff_vaapi_vpp_config_output(AVFilterLink *outlink) > output_frames->width = ctx->output_width; > output_frames->height = ctx->output_height; > > - if (CONFIG_VAAPI_1) > - output_frames->initial_pool_size = 0; > - else > - output_frames->initial_pool_size = 4; > + output_frames->initial_pool_size = 0; > > - err = ff_filter_init_hw_frames(avctx, outlink, 10); > + err = ff_filter_init_hw_frames(avctx, outlink, 0); > if (err < 0) > goto fail; > > @@ -677,15 +674,12 @@ int ff_vaapi_vpp_render_pictures(AVFilterContext *avctx, > goto fail_after_render; > } > > - if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & > - AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) { > - for (int i = 0; i < cout && params_ids[i] != VA_INVALID_ID; i++) { > - vas = vaDestroyBuffer(ctx->hwctx->display, params_ids[i]); > - if (vas != VA_STATUS_SUCCESS) { > - av_log(avctx, AV_LOG_ERROR, "Failed to free parameter buffer: > " > - "%d (%s).\n", vas, vaErrorStr(vas)); > - // And ignore. > - } > + for (int i = 0; i < cout && params_ids[i] != VA_INVALID_ID; i++) { > + vas = vaDestroyBuffer(ctx->hwctx->display, params_ids[i]); > + if (vas != VA_STATUS_SUCCESS) { > + av_log(avctx, AV_LOG_ERROR, "Failed to free parameter buffer: " > + "%d (%s).\n", vas, vaErrorStr(vas)); > + // And ignore. > } > } > > diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c > index 4cb25dd032..caff43d1ae 100644 > --- a/libavutil/hwcontext_vaapi.c > +++ b/libavutil/hwcontext_vaapi.c > @@ -372,14 +372,6 @@ static const struct { > const char *match_string; > unsigned int quirks; > } vaapi_driver_quirks_table[] = { > -#if !VA_CHECK_VERSION(1, 0, 0) > - // The i965 driver did not conform before version 2.0. > - { > - "Intel i965 (Quick Sync)", > - "i965", > - AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS, > - }, > -#endif > { > "Intel iHD", > "ubit", > @@ -1425,7 +1417,6 @@ fail: > } > #endif > > -#if VA_CHECK_VERSION(0, 36, 0) > typedef struct VAAPIDRMImageBufferMapping { > VAImage image; > VABufferInfo buffer_info; > @@ -1585,7 +1576,6 @@ fail: > av_freep(&mapping); > return err; > } > -#endif > > static int vaapi_map_to_drm(AVHWFramesContext *hwfc, AVFrame *dst, > const AVFrame *src, int flags) > @@ -1596,10 +1586,7 @@ static int vaapi_map_to_drm(AVHWFramesContext *hwfc, > AVFrame *dst, > if (err != AVERROR(ENOSYS)) > return err; > #endif > -#if VA_CHECK_VERSION(0, 36, 0) > return vaapi_map_to_drm_abh(hwfc, dst, src, flags); > -#endif > - return AVERROR(ENOSYS); > } > > #endif /* CONFIG_LIBDRM */ > @@ -1649,7 +1636,6 @@ static void vaapi_device_free(AVHWDeviceContext *ctx) > av_freep(&priv); > } > > -#if CONFIG_VAAPI_1 > static void vaapi_device_log_error(void *context, const char *message) > { > AVHWDeviceContext *ctx = context; > @@ -1663,7 +1649,6 @@ static void vaapi_device_log_info(void *context, const > char *message) > > av_log(ctx, AV_LOG_VERBOSE, "libva: %s", message); > } > -#endif > > static int vaapi_device_connect(AVHWDeviceContext *ctx, > VADisplay display) > @@ -1672,10 +1657,8 @@ static int vaapi_device_connect(AVHWDeviceContext *ctx, > int major, minor; > VAStatus vas; > > -#if CONFIG_VAAPI_1 > vaSetErrorCallback(display, &vaapi_device_log_error, ctx); > vaSetInfoCallback (display, &vaapi_device_log_info, ctx); > -#endif > > hwctx->display = display; > > @@ -1919,7 +1902,6 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, > const char *device, > > ent = av_dict_get(opts, "driver", NULL, 0); > if (ent) { > -#if VA_CHECK_VERSION(0, 38, 0) > VAStatus vas; > vas = vaSetDriverName(display, ent->value); > if (vas != VA_STATUS_SUCCESS) { > @@ -1928,10 +1910,6 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, > const char *device, > vaTerminate(display); > return AVERROR_EXTERNAL; > } > -#else > - av_log(ctx, AV_LOG_WARNING, "Driver name setting is not " > - "supported with this VAAPI version.\n"); > -#endif > } > > return vaapi_device_connect(ctx, display); _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".