From patchwork Mon Apr 22 21:41:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 48231 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:2d06:b0:1a9:af23:56c1 with SMTP id tw6csp40574pzb; Mon, 22 Apr 2024 14:41:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVN9huDgvoUaR7unHCtJf7R2em0FFY075qi/dsWBWPwK9ecZKBWy5lxs6pXJWj0lttZaDjZ36nlaKYicxABz3heZUF4GMzN0tL2Xw== X-Google-Smtp-Source: AGHT+IFq9zQAVa/wklIi9ltDcfIJsn/QzlB9MeIH7SKVMTG3qKO7LBh7NLvz1jmuwQFFmYg8/m19 X-Received: by 2002:a17:907:971a:b0:a55:b581:dca8 with SMTP id jg26-20020a170907971a00b00a55b581dca8mr3885067ejc.38.1713822076879; Mon, 22 Apr 2024 14:41:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1713822076; cv=none; d=google.com; s=arc-20160816; b=Gu9DI3USxEOkT6TKwzHknCITaEJHcMmj3IWkEG34nOeO9GbLJYdtxpLlQtYY4HNMP0 8kkd4g6jIB1MyZBQwzyaDdN/22Lki5EjSppsTv39nPvjb56mgtR4O59cXp20hJHtitsV J2mHovsE0a9OBnp8GCQfnN5s8nRAypLmHLrKHnFcw5vq9OtKf+TilZlGq5kxb6nxNgnG DYRNdXq5QrmLJ4/hce0kna8Tx3Wail0U51ZhoSAgGD8z0S8GcNvJPP5qDIbVAZvOX0za 64FQBWgxOlXNpyKytWAA/od78HBAzRxpAr7u08XfbiYtUkIjlG94TPUyYUyJhcGyjsdH iRKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:from:to:content-language:user-agent:mime-version :date:message-id:dkim-signature:delivered-to; bh=/256CKrKY9pbUoQ1pvjThJW4pPawpSMxYooJ0/Rjvz8=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=OSK+glkARiGqCAlKAyP9DlCLLb+LLxrLsq82129Pi5gYhGQyCeo69zXp6rfq/pLyej N3mOwdRhL86nbDMo5Pmcv1PRF/O0lmWsvf+hB/6q2Fogl1Vfv60Y6cA8GJ5QB1AB47nA slmBY6GO3BnKycBBBIGm9A2HnjYdOzC+v0A7B9UA98g6RlzNGNhYSX6B+kkcT68rEQcv Z1QxeDvEmAOgP4Dzf3mfD/o6oeFNEBI7SIetMZsqw0IKKBm72vuMBwGuC5JFVDRXWyr5 zWHA18VHx64rfPVDnNGrQMe8b0tHgiK8h9CLpRiCqL+C774hPXH0bIYx288fTajOBxHb Dsdg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b=qxZ6RXAt; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gn22-20020a1709070d1600b00a587d60c0f7si13271ejc.864.2024.04.22.14.41.16; Mon, 22 Apr 2024 14:41:16 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b=qxZ6RXAt; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8960F68D385; Tue, 23 Apr 2024 00:41:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B03A368D180 for ; Tue, 23 Apr 2024 00:41:06 +0300 (EEST) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-343d2b20c4bso3975164f8f.2 for ; Mon, 22 Apr 2024 14:41:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1713822066; x=1714426866; darn=ffmpeg.org; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=TB8rTNk3/Q3YS3ahEQKzSyJ2dRAfb45XU49DfWmyhyg=; b=qxZ6RXAt3piwhzuR4eHHVFHcYQ+IUZdkzRdYJsSWzUKEl/iNUBt1UiWGmGxqIWxUHQ 5ZO3xqGEIsEv97J0kyz+AChu7IriSPmq62iDbA83pe1TZc6oAetDCnflAgNZ7hLSh+x3 2koPvrKNr53413AeeI4ewwTgMJOup4qwYu3Pwl3iit1yK4X9C1nmJaxf9iz1gZgpH4mZ 60AoJIGeci0HC8ZmOloQAmEYMLH43KN3Wy4y26dUemGTXlsH+aMWTP119ZVNYNK/UuAU EfMGHJWtf7UeX+DknkV2rXN2CO9dBoJWmjE1/AaPhxEhxBgxGgk3K7LEtST1iF8CXkf2 uijQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713822066; x=1714426866; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=TB8rTNk3/Q3YS3ahEQKzSyJ2dRAfb45XU49DfWmyhyg=; b=fM1reBizuH+CCbYwqE0tT5RRuvqidF+MJdbAGn/zU/YZ5NHiunLwb8+1XmSD0Hrqdv M9DSzMzd5SzsW+0kerbjR378ZNPl6OixEcG9fH/Fu98BjPYWLYa7VLaJcDvwjCTxLfka fD+ndxpMf48r0skSVfsybaBHNrCbSCUonpIbALKwC0uhdhTbUY+F6I2B+l3Au7eCxFCJ JEy+Fy8YS0NyVzONfEjf0buBD1erqF8aNDYEKQiJVXgPwwMsyKo22ZN4bDEtuTBs64SM 0V1JA5/LqAVw+wtalboFCDC/HJq/JYtrfRcrqSyM/1N0P8zr71myEJthFDcpUwL7RNdE F42A== X-Gm-Message-State: AOJu0YxMw+btrExVqd2mtf0IPHPWZtkRgZejnvmErJKuIjMlpDlcIBmW xv36ajm6sKA9spMmsd3a/OC5QOy08NHd4wyLCP7DNPyIWCVisb7QOL1nPv522N1Tfrv2MhSTYNR S X-Received: by 2002:adf:ab03:0:b0:341:ddb5:badc with SMTP id q3-20020adfab03000000b00341ddb5badcmr8406246wrc.19.1713822065929; Mon, 22 Apr 2024 14:41:05 -0700 (PDT) Received: from [192.168.0.15] (cpc92302-cmbg19-2-0-cust1183.5-4.cable.virginm.net. [82.1.212.160]) by smtp.gmail.com with ESMTPSA id r26-20020adfa15a000000b0034b6d40ecdbsm141771wrr.48.2024.04.22.14.41.05 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Apr 2024 14:41:05 -0700 (PDT) Message-ID: Date: Mon, 22 Apr 2024 22:41:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: FFmpeg development discussions and patches From: Mark Thompson Subject: [FFmpeg-devel] [PATCH v3 1/4] lavu: Remove libva 1.x support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: RthsRyKLRAK1 libva 2.0 was released in 2017 and the 2.x versions are included in all supported distributions nowadays. --- Rebased. I think we can also drop the other quirks? They are for the proprietary media SDK driver (which I think is dead?) and the VDPAU wrapper (which I don't think was ever updated for libva 2?). libavutil/hwcontext_vaapi.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 56d03aa4cd..84bcb78087 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", @@ -1413,7 +1405,6 @@ fail: } #endif -#if VA_CHECK_VERSION(0, 36, 0) typedef struct VAAPIDRMImageBufferMapping { VAImage image; VABufferInfo buffer_info; @@ -1573,7 +1564,6 @@ fail: av_freep(&mapping); return err; } -#endif static int vaapi_map_to_drm(AVHWFramesContext *hwfc, AVFrame *dst, const AVFrame *src, int flags) @@ -1584,10 +1574,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 */ @@ -1637,7 +1624,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; @@ -1651,7 +1637,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) @@ -1660,10 +1645,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; @@ -1907,7 +1890,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) { @@ -1916,10 +1898,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); From patchwork Mon Apr 22 21:42:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 48232 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:2d06:b0:1a9:af23:56c1 with SMTP id tw6csp40932pzb; Mon, 22 Apr 2024 14:42:24 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUg+E1PUkaD61H99asneO/whdd4fY9hyK6C6Awm0ktiAjVydWSR7P+Y3llnlM5P3W8S7VbmLOsk3a0BdKYhi6+Fp/mkHBLDsc2mfQ== X-Google-Smtp-Source: AGHT+IGZlI9FL19YhioDQMc2Hke1kaecx4/66IgzXv/mCbylXVDfCXayj7PFXEQHvoysq+bnn0MP X-Received: by 2002:a2e:9eca:0:b0:2de:dcf:f02d with SMTP id h10-20020a2e9eca000000b002de0dcff02dmr44047ljk.45.1713822144035; Mon, 22 Apr 2024 14:42:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1713822144; cv=none; d=google.com; s=arc-20160816; b=CFWBGS+Db25wDeBg6zGVR+YdA1D9WP8g+Bp+8MtXo76mO+Gwvu1tYutyVlcbHIH1Me tIOUZi498GWMNxN6MGab5NgRk/VSNhm1EUjUVdzw+OzlL8Vl5nsJLJRT6uQKBpYwTWGl o66IE4iXZi8DzfaTC8EG5kn6D9fFslSlMSH8OPrhl11gr51siLZNLgRMaHEBnMMJxDhg tg86xBiWQXjSlBP4Gebq/V2Pbf+9fDG13FMiZN1W31gxhP1k+QPDHfJsZRsMNOph1Peb HhRdu/c0ZbDoOYLIqLD61utUst7xIJnDvZr9x18jaHjW7pbPKzBb3v1BmEM6MhB8wTVJ EK1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:in-reply-to:references:to:from:content-language :user-agent:mime-version:date:message-id:dkim-signature:delivered-to; bh=Nd5rMZI4j885mHmWrOfH+Z54hlonCCBkMgl1Ki47AIk=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=L06h8jwtOO+10KIz9LoPB2YZTa3vVHq7Rg0MwRcJQPkjW+ODFKXHnojRQJ/f8PGTA5 yACHnXxQ5czzHq9H5BlNsMpsTRCZLJ4Ok2AErGBA89I6Mh9Q1Xu60NtEZdGsfnyAqkYq 9O8A1Mc4mcGcQwG+gyZl5JeQ9mHHvxdg7WifgGhmUAv41dauXLYxDuKFGHqPaLRhN96j qpf6TGxxvJpBzxmnbbvawr7exXmlCxtH5FfHRRCFDAouBYgEH+TsAv2T6cmITKmmUNka vO5cr7h5u8wuAuqqiVXSH96ndpPn6GKb1r3Reem1jldbbqZQIegU/cCrdZIs5L0NbCdU i2Lw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b="X5/T37lB"; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v22-20020a2e9616000000b002d29308afdbsi3078062ljh.488.2024.04.22.14.42.23; Mon, 22 Apr 2024 14:42:24 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b="X5/T37lB"; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B2B1A68D383; Tue, 23 Apr 2024 00:42:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0ECE468D180 for ; Tue, 23 Apr 2024 00:42:14 +0300 (EEST) Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-34b1e35155aso1506730f8f.3 for ; Mon, 22 Apr 2024 14:42:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1713822133; x=1714426933; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=UfW2fykZQjzTEb9DxBXk9XHvCJxiHJyYxlfla4FDJwY=; b=X5/T37lBBYZXmFIppxnsxHVgDp9YGxoiSAFuMJwTy0T732kIPSJgTjn2w6lbcAejKV l5nAZgIN+LczvJtCM2APZ2rqt9K/2orr0Yn5Ou8zuXknxAf/54ldByurl3o3pDWJzHtj bpk4gV8sjftEPDQA/w6nPmQ8vwbCBMVbQG3VjZhrj11mYSdfGpCB0KXjwWWgMTJcAvw7 bAwH3WqLDOUIaVZfezIRa/yReOd+nzsh7xCl/UIoUAX6msd0MfRxUQQ7slhMbQp5IZDT hJsgpvcWNv1da154CTW/6wB2FYS1js7KtdxUL1iVZsodvFvRlY3vYrbcN7A18PT/H/mK DETQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713822133; x=1714426933; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UfW2fykZQjzTEb9DxBXk9XHvCJxiHJyYxlfla4FDJwY=; b=G+/KRaHx5dGqpWyjxeWFF3wf7k1j6ATiXOrnXsyruoK4FD+YA3aJHenekE/oxZmk1D Wp7ifFAaI1SjiufuH6z+i6luHxlm3i/BwhcqCMmJt2xsZuG4MMKzm3hvBee5odJUtO4S lg24+/qx2UZVvybqrn7NSwi9KctUnYOMcLFCFhPW32rF3s+RjzOooLu+cmgOp/nbCDE2 Yp+6SeliqElViAB8JEvx6E+FNUi+3TKE7cu8FB6EntclgQwSGR7IRpWzKmooVJA3dqb8 huzqjTr9YIG0H+m6WH7K4zMnFHA1yfkW3RtN9HvPb6LFIvNdKPbk2fNShTAHTWlfzSzv arVQ== X-Gm-Message-State: AOJu0YxQ6/qrd2DeuemOqLf0neTeNNJpicpXDCthxYlCV/oHir/sYWU1 Lk7jnvun1VvjD3aXntQY/XSgCOGdTXAUoLUuTeWSWVVQbX1SgQ2uQcNewa9XOytz4sX9EpYFBIT 6 X-Received: by 2002:adf:f38f:0:b0:346:bc1b:4e7c with SMTP id m15-20020adff38f000000b00346bc1b4e7cmr8673968wro.35.1713822133185; Mon, 22 Apr 2024 14:42:13 -0700 (PDT) Received: from [192.168.0.15] (cpc92302-cmbg19-2-0-cust1183.5-4.cable.virginm.net. [82.1.212.160]) by smtp.gmail.com with ESMTPSA id r26-20020adfa15a000000b0034b6d40ecdbsm141771wrr.48.2024.04.22.14.42.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Apr 2024 14:42:12 -0700 (PDT) Message-ID: Date: Mon, 22 Apr 2024 22:42:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: In-Reply-To: Subject: [FFmpeg-devel] [PATCH v3 2/4] lavc: Remove libva 1.x support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 0VSZXiPE9VSi libva 2.0 was released in 2017 and the 2.x versions are included in all supported distributions nowadays. --- Fixed some orphaned labels. 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 - 5 files changed, 15 insertions(+), 131 deletions(-) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c index 21b273cd0f..ef1ea27a08 100644 --- a/libavcodec/vaapi_decode.c +++ b/libavcodec/vaapi_decode.c @@ -191,16 +191,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; @@ -213,7 +207,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; @@ -406,12 +399,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 ), @@ -429,14 +420,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), @@ -599,27 +586,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 #include - -#if VA_CHECK_VERSION(1, 0, 0) #include -#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 2f59161346..a85b514715 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -1302,10 +1302,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 }, From patchwork Mon Apr 22 21:43:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 48230 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:2d06:b0:1a9:af23:56c1 with SMTP id tw6csp41179pzb; Mon, 22 Apr 2024 14:43:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXmQlHQDxlq0KKhaxHYod7KM8UJPwG0S/0yDIzRNyInKpfPK7RC9KvYUSRqjjGgUOkt++uvyDrpzvytL0AXP6zEXah0KqXDmd8B2g== X-Google-Smtp-Source: AGHT+IETcXZesfCmuucU/cViSOTXNONOFMbpqHth0G6E0DAvpTZtMWJ/ElM2e8rQAxc6qVW0ODyw X-Received: by 2002:a17:906:6092:b0:a52:387b:8391 with SMTP id t18-20020a170906609200b00a52387b8391mr6539458ejj.34.1713822191085; Mon, 22 Apr 2024 14:43:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1713822191; cv=none; d=google.com; s=arc-20160816; b=X9kq/30IN2ZUoknnyK3R4ZMJGU5CscmRrxcvju2VP/OeETTETXhR2eY7GFUZ8Q28/a i4fEUI2v452dZoG4Twh0kP/dkPtRzuJlvLL1Ybu6XH9gmv/WldkupNMmasOywuBGXOv6 2fSlD98YCAXd/+MVQ8RNS6pRoQlv4nJxf2kT8i6OaeLUTSVkzLOyv9Q3AKC7sOF4TMwX Dhru+CFW7p3FbaNcCLVj0mzcsLZLDVjiApq+mhNCC5J7Rk61e8dwjmtkzpuyqBA3hYVu icVv2LIlm8yWqSG0AW1MpxYHNpptI7TOD9aNJX5IxwmaKZsgRyH6Holp369t0P5/nbl9 SQsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:in-reply-to:references:to:from:content-language :user-agent:mime-version:date:message-id:dkim-signature:delivered-to; bh=syfUnRCKYXU20sgBIWDeuaFpnpEGR6Mz91wz/lHoLJg=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=M3MngmhVv3ycodPRKz6hAEMpHUnt4wki3RAPbF/njOn6TQMd5nQMKoen3uRmsADi7V oGPDC8oMvTTrinFt627HVGyWAgM8m951tdUK34ZL02fiy7NXRMEGwioAI+lRjHcOj82k VEb5ToBp4rCKKDCbhH+zUvxqM3tDsneps+Eu2qt44w3jSfAw1QzTo6ydFLXY4xcKHDxd 9uSntjjmVRrqr/oPZAm06GqT3S9rghwtsXr4kqCjSV93DpYAd67wFwu+s66NjLkXMQoj cIYDEHfiC09hzGXgR9EBFNHKmO7IFzNHkrKlMeqXg3VwLT08uhLtMHCJNym8hkaUzn92 pI/A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b=veH+HAw1; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q12-20020a170906388c00b00a523a9237basi6305439ejd.191.2024.04.22.14.43.10; Mon, 22 Apr 2024 14:43:11 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b=veH+HAw1; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E6C2468D388; Tue, 23 Apr 2024 00:43:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8DDF968D210 for ; Tue, 23 Apr 2024 00:43:02 +0300 (EEST) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-41a5b68ed0aso9892175e9.2 for ; Mon, 22 Apr 2024 14:43:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1713822182; x=1714426982; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=mI5xYEW5LaTdIng9lN6bNectBJZjk13Dq/omQbSXCaY=; b=veH+HAw1WNv8UJnBHNQi17CBEeqAQ9ua3BfsZ1h1QrKnT1yd2ls/oCmJnyHRCSNqtG UNeBDEi+sGX6ckMxeLzWTseDMaj6CTQ87WDSceEORWsgRkKqii6ymgfnUN4dEOQ7G8fp V1wN5y/UMmNdI9WqpGcyTz06v7lOCBXHJCI0vsYS8T4xN0l3BytUvf1fBCnYwBdhFpPY yIaQGlquiOVSaZ9I33cNMYQO19kpS/JyGvjHXfSAMeuwRUW63j16cMOh0effzY1MTrwF 89W8OCSBii2wijjL9vEjuL9M1RmYDSMOtMfENk2mJEouEek7Qcmzpy4ZRzinS0+nbVuA EcFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713822182; x=1714426982; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mI5xYEW5LaTdIng9lN6bNectBJZjk13Dq/omQbSXCaY=; b=bPqSJydWl9TUYffHARfeL8TTe4qfSa6GeokKWlNxMNaP26k52gMdq+1LCfL5tfH5ua 6DtdPVytKJTtEMLIfH/G+jbnoBgKXu9FupcmiJjZ4kPSwDHe1eom+8Kq9ktwrbzspMnY fUWzEEL3qM3/itkF6VqIGqxp1rth2bafYwxxyugeYSvUQizI8xiKslIdC2aXPzY3tKc4 0Bu1plbTTCi7ySc9gmEGWKmaThBxVtqmL+G5vTTYTaF27cAJFvS5/bJQVn2BCUd1yKsl jSmHnMunN5QzmCtSD3vTJlkXmAdXYl6lq+h75fKFKlznbepaQJ9fd8I5/4v/ISAZ5bFu A0WA== X-Gm-Message-State: AOJu0YwCn9nURCMXYLlDI6rF18kw8b3G7zpNHrWqaz3gcapJCivw24k2 XbKQgh8WogNyRn8rcDI3p28ddabEFSqWihvJ1IHhFUr2mq9yIU1OE6Q7ao8z4vG/WpL7rGNFUL2 w X-Received: by 2002:a5d:6a48:0:b0:347:9c4d:4e19 with SMTP id t8-20020a5d6a48000000b003479c4d4e19mr5785746wrw.70.1713822181874; Mon, 22 Apr 2024 14:43:01 -0700 (PDT) Received: from [192.168.0.15] (cpc92302-cmbg19-2-0-cust1183.5-4.cable.virginm.net. [82.1.212.160]) by smtp.gmail.com with ESMTPSA id r26-20020adfa15a000000b0034b6d40ecdbsm141771wrr.48.2024.04.22.14.43.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Apr 2024 14:43:01 -0700 (PDT) Message-ID: <7d3e5c79-127d-4f6e-95b5-a628ef713084@jkqxz.net> Date: Mon, 22 Apr 2024 22:43:26 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: In-Reply-To: Subject: [FFmpeg-devel] [PATCH v3 3/4] lavfi: Remove libva 1.x support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8oG3MkFfOzFG libva 2.0 was released in 2017 and the 2.x versions are included in all supported distributions nowadays. --- Rebase on the dynamic pool change. libavfilter/vaapi_vpp.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) 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. } } From patchwork Mon Apr 22 21:44:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 48229 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:2d06:b0:1a9:af23:56c1 with SMTP id tw6csp41484pzb; Mon, 22 Apr 2024 14:44:06 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUja9CloGlkKeTKW3rvYhxzur376mRlMkhaSFSOdeq2Wkm11ry4dxGW5yMzPzW/SfDeXdkSx/pMFHuDJ1IJMx14fyyP6JIb1hGxMQ== X-Google-Smtp-Source: AGHT+IGxCg5UYLTAYqAsZ1KndA5AYWP6beWnVSS/U4p6reyr8EjzFYtbmxXihrLbEhSxlHsPtjUC X-Received: by 2002:a50:a408:0:b0:56e:603:9fc9 with SMTP id u8-20020a50a408000000b0056e06039fc9mr9442992edb.3.1713822246374; Mon, 22 Apr 2024 14:44:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1713822246; cv=none; d=google.com; s=arc-20160816; b=lCknsg2VFlz4WSGHIcWx4hLnYZYO3qhPFk97VlKLfwPELF1ygNnGnMn6HW4z2ygTnZ KB/KQDdJ8gwUH0j2AB5vVrctTsGU3CNdBFrw/2uAGCMPcQWPFMASVSHC6TRf7TKPtTXV dGfCwHNSQ0+WSMthZf51LjmPA7P0zk9gKxto0z6vVo+tVaA2L4a056itHgqudfwAQkAd DNaevzkdQuTjd5zYQXYNTOFpMcWEJmVNCP36SpQrDDkwYmZFcTO2VDqxWjRm2l/NMrlm rjziisgWvAhuUL8PnUxRrosVylJSy7CMONpGoIoTAz8sMq4MWoxEKJjGScCJUNxwaFDc xQjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:in-reply-to:references:to:from:content-language :user-agent:mime-version:date:message-id:dkim-signature:delivered-to; bh=nSvxKQq3IRyJws0IVVhfNV7iZXM4/z/am9k7vuKABmc=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=ERCajodmt141+cjKlvbusopt4Qv8SZQniW58LdMZ4jb2/57gyrloFjgRHNN5oaxkKN l9p0VC7eDlSDFHeblOfJlVWHt0+aLxEob+s6RBIRR2oRSTsW2wJy+igvT9EVuNHXPWGp vgW4/y1+3krH2IeLZhTn/fOf0ijOfVxztl4KJPZ8mTG7GHzyYBojdpI/y139UlDZSY0W OMpK89Feu8m+w6Jv1rp95tnRsVl4e3To+C3QfpIivOAFfQD1uyqsqPlwnOUJN4lmBa7K p6yY62qxJ2xwOyxxxbG5ds5wkdoqv50iT+OuhBydUOUTAjgMWKqcQhoNS1HvUziNpsdR laXA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b=sdmehavj; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d4-20020a056402516400b0056bf76d3fe8si6500306ede.71.2024.04.22.14.44.06; Mon, 22 Apr 2024 14:44:06 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20230601.gappssmtp.com header.s=20230601 header.b=sdmehavj; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E46968D194; Tue, 23 Apr 2024 00:44:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1B27468D194 for ; Tue, 23 Apr 2024 00:43:57 +0300 (EEST) Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-343e46ec237so4198442f8f.2 for ; Mon, 22 Apr 2024 14:43:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1713822236; x=1714427036; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=EdhmiCbkWHBBdJnBkG2/A6zxlPR7m5g6qSrJQ/Ya5vo=; b=sdmehavjBbUyBfKgmivADiIR/jWGiuZtC0CwfhZfyYk6j78DzQDv0l86OvjAGLzrjz uly0K7iffWxn1PONvBCtKXjDJ/7j1BdsAl4Sgws4lXEVkYhsxr1nyJb766s0wZjTk0GZ KJPWRQ5+ZA7W59MRDyDKxdG+8pKBrxYlGOpxLKoDWQkzVjqiN93iXUb1TH4QXdSD7SpA Jzu47L15ANW3sh3beQiQztWOu/cIzLP0MUCiWtzEJeAlrxBvMCK7hfxQCCkTTcjPuCdM z347fbUqMFuCQdkxIFma3irnwYu/6R+YOLV3l4vw6xXKp9bxKQK7XPRr78+VEkBLHW2C FBgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713822236; x=1714427036; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EdhmiCbkWHBBdJnBkG2/A6zxlPR7m5g6qSrJQ/Ya5vo=; b=gRXmb74qZpTNsaE7QHEX9F0mmiDxM8BVtbm52YeQ34RX7V82gkW5Lb5Urja5unYizQ nkUlXaX6lIdWf2YCKurzj+TUM3Yqcem/ByCUQs2zpuyc1LTjbOIuFBCo95pHNHgOQhbz Y0qlUAc4VtmUxVLExTTeF7b1I4rnK/DIsWAoPmCB8WuAXQFyL48wH0vDh3RxK2iP4oio ga9CAcrlbJXEx2XYF1AW2LPh16Q1n4qLCt1ENXgeK3If4T9WyqOmrCsi7cnAWtZ9vTr9 C8ojGhXdv/2jOIj164cWfDHiWWMk7v8NMiQjUlw6eJOj2/oeDXfu0O7BMq0u8hAjDwT/ 05JA== X-Gm-Message-State: AOJu0YwlH5ikiUnUkJdETmbp9S1bDqE8l1khk7nBwKEBo5M4MWDUUMnY reCQE3jQQXY2HqmJjphg/lz3PhBCw3ESdyLmSv0zQz26eQG4x6gH98rRKp4qSa4+Y3XeZCLjDAc Y X-Received: by 2002:a5d:628c:0:b0:345:ca71:5ddb with SMTP id k12-20020a5d628c000000b00345ca715ddbmr8812843wru.66.1713822236375; Mon, 22 Apr 2024 14:43:56 -0700 (PDT) Received: from [192.168.0.15] (cpc92302-cmbg19-2-0-cust1183.5-4.cable.virginm.net. [82.1.212.160]) by smtp.gmail.com with ESMTPSA id r26-20020adfa15a000000b0034b6d40ecdbsm141771wrr.48.2024.04.22.14.43.56 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Apr 2024 14:43:56 -0700 (PDT) Message-ID: Date: Mon, 22 Apr 2024 22:44:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: In-Reply-To: Subject: [FFmpeg-devel] [PATCH v3 4/4] configure: Remove libva 1.x support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 0hjHJXcdkj2f 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 command, 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. --- configure | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/configure b/configure index 02711bf930..e3361a1a73 100755 --- a/configure +++ b/configure @@ -2625,7 +2625,6 @@ CONFIG_EXTRA=" texturedsp texturedspenc tpeldsp - vaapi_1 vaapi_encode vc1dsp videodsp @@ -3189,7 +3188,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" @@ -3261,7 +3260,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" @@ -3353,7 +3352,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" @@ -3362,7 +3360,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" @@ -3390,7 +3387,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" @@ -3399,7 +3395,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" @@ -3950,9 +3945,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" @@ -7245,7 +7240,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 @@ -7261,18 +7256,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