diff --git a/configure b/configure index a01f0fbba4..2cb39cbd57 100755 --- a/configure +++ b/configure @@ -7190,9 +7190,13 @@ enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set enabled libmpeghdec && require_pkg_config libmpeghdec "mpeghdec >= 3.0.0" mpeghdec/mpeghdecoder.h mpeghdecoder_init enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine || require libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine -lmysofa $zlib_extralibs; } -enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei -lnppif || +enabled libnpp && { test_cpp_condition "$(cd "$source_path"; pwd)/libavfilter/version_major.h" FF_API_LIBNPP_SUPPORT || + die "ERROR: libnpp support is removed in this version"; } && + { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei -lnppif || check_lib libnpp npp.h nppGetLibVersion -lnppi -lnppif -lnppc -lnppidei || - die "ERROR: libnpp not found"; } + die "ERROR: libnpp not found"; } && + { check_func_headers "nppi.h" nppiYCbCr420_8u_P2P3R $libnpp_extralibs || + die "ERROR: libnpp support is deprecated, version 13.0 and up are not supported"; } enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb enabled libopencv && { check_headers opencv2/core/core_c.h && diff --git a/libavfilter/version_major.h b/libavfilter/version_major.h index af6f59832f..539d5caa3d 100644 --- a/libavfilter/version_major.h +++ b/libavfilter/version_major.h @@ -37,5 +37,6 @@ #define FF_API_BUFFERSINK_OPTS (LIBAVFILTER_VERSION_MAJOR < 12) #define FF_API_CONTEXT_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 12) +#define FF_API_LIBNPP_SUPPORT (LIBAVFILTER_VERSION_MAJOR < 12) #endif /* AVFILTER_VERSION_MAJOR_H */ diff --git a/libavfilter/vf_scale_npp.c b/libavfilter/vf_scale_npp.c index 1b1b7b9fc9..0529db3a29 100644 --- a/libavfilter/vf_scale_npp.c +++ b/libavfilter/vf_scale_npp.c @@ -281,6 +281,8 @@ static av_cold int nppscale_init(AVFilterContext* ctx) NPPScaleContext* scale = ctx->priv; int i, ret; + av_log(ctx, AV_LOG_WARNING, "The libnpp based filters are deprecated.\n"); + if (!strcmp(scale->format_str, "same")) { scale->format = AV_PIX_FMT_NONE; } else { diff --git a/libavfilter/vf_sharpen_npp.c b/libavfilter/vf_sharpen_npp.c index c7769f5837..3ec74f8c0c 100644 --- a/libavfilter/vf_sharpen_npp.c +++ b/libavfilter/vf_sharpen_npp.c @@ -53,6 +53,8 @@ static int nppsharpen_init(AVFilterContext* ctx) { NPPSharpenContext* s = ctx->priv; + av_log(ctx, AV_LOG_WARNING, "The libnpp based filters are deprecated.\n"); + s->own_frame = av_frame_alloc(); if (!s->own_frame) goto fail; diff --git a/libavfilter/vf_transpose_npp.c b/libavfilter/vf_transpose_npp.c index e781d7c58b..2315b1043a 100644 --- a/libavfilter/vf_transpose_npp.c +++ b/libavfilter/vf_transpose_npp.c @@ -85,6 +85,8 @@ static int npptranspose_init(AVFilterContext *ctx) NPPTransposeContext *s = ctx->priv; int i; + av_log(ctx, AV_LOG_WARNING, "The libnpp based filters are deprecated.\n"); + for (i = 0; i < FF_ARRAY_ELEMS(s->stages); i++) { s->stages[i].frame = av_frame_alloc(); if (!s->stages[i].frame)