From patchwork Wed Apr 3 22:08:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 47772 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp690786pzb; Wed, 3 Apr 2024 15:08:07 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU49SkHPggZsw8MznD1eSCaiSHtN4a2QkV574U3pyizoFetpgFeR74Mv/JFdZb7uUmdkuEt9o8MYJ/vLiPzqXrRDizQugZCDqbrwA== X-Google-Smtp-Source: AGHT+IFPlOFfC+SYc82e3V9oloK6BPA/9M/Nn7Oadt5HqeQb1Lc/XoHfGlqJ0nEBZRC1zYKWKBoi X-Received: by 2002:a50:d5da:0:b0:568:3362:ccd1 with SMTP id g26-20020a50d5da000000b005683362ccd1mr617501edj.1.1712182086837; Wed, 03 Apr 2024 15:08:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1712182086; cv=none; d=google.com; s=arc-20160816; b=sCGwFxIP9mo4AlpO2B5YDZofpeaTN4CJMXpzLs839V+Lrv9qTAWd11iPHvqBo0QlYm smDQeShyQbWhtqBYZ9oE505fM9EeFTjhovM0HzLcNXzy3iQUyUHwWa/xoSTuxgBxW32Y pi2tbsOQww5P3hdwo+cLnq9/z/iz98WXhxYxAYrjk1WWn9gPDo/riX/5ekc/92wmJR0T 1ITn3Ou5Ijqb7cZ6fe9I2D2gjjPRg+xmvsWD52mdUJFVxd2BqY9XYWWiiA+CaAde6sg1 xYmz51WjnapnY3yynWn+BeBYucoH8u5x7Agtyz0Pr5y2i4RPViUAkm2IA32evWeq9HOB dxQA== 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=4GLrvc1aCQcisERuk/dMPReeqHKSSNUWZhTWGa0VddA=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=L7zjQY236KaX18XYj7FQBC8t1nZHm9nnL6Oj+f7r0JX4zX6M4HVDQ2xhuPXtTafz4L MOZiRxmPchc4ETWlOPldHbFh+AzlP7LODlbRm4RZmEk8zK8mA03F53ov4WN2bG70LOAa PhYXFzuiaXrMUpvGYRslhhhYYjis/E8QrWNQIAYtiBOoJ5LzoeX0/pe/l7RuOPEUTxo/ dcOlx6xU86pog+CFTSQl0EyjN99b5KZYrukuQ33MSzRudCeV5H7n9yyr3Zy9Lb7bV41Q +j+gXA45/fNpPncsuBxolOEQrydfxIrqN0/6nx6gehsbwvpcekw1QPR5UK7ZVrsPS8I4 Rwww==; 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=y3a7weZ4; 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 g14-20020a0564021ece00b0056bad5416c4si7516264edg.72.2024.04.03.15.08.05; Wed, 03 Apr 2024 15:08: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=y3a7weZ4; 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 6C1CB68CF79; Thu, 4 Apr 2024 01:08:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DB8B368CEDD for ; Thu, 4 Apr 2024 01:07:55 +0300 (EEST) Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-34391544c46so258399f8f.0 for ; Wed, 03 Apr 2024 15:07:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1712182075; x=1712786875; 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=VhOcuSsBiEGKRATtbwEF4FdmGXPOF9I4rgoQDFCEYk0=; b=y3a7weZ4YVzrMBTkp227UuwO/oXzAUrXqKhpw8Pjk5B57aVbT2fRi9mnXL6hA7rMRE Wvf23tEf3pGHQ+7EOxxfUIBFkQ9J8GwZQBp6FYULInkM/kkbdFsBNMS7M4hkpjUZkl1j 7GqY2AAU3yXAysQXy0lg25EMvCCqP58okMttM+JVON/2XmmLY7vZvxA1O3CFjw9ltl43 TdZdhRQwDpZoVaOChYJA4WwG9g+UWGJS9cQPUjLXAtcASC733n27P39msfk5PeU2XsHy a7u8GU3TgbVKVWDUUGW4M7L4CsRsVkYop/eDB1/guvASSwfZ7BN8UH0k7RVcFWHCQNHS LpHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712182075; x=1712786875; 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=VhOcuSsBiEGKRATtbwEF4FdmGXPOF9I4rgoQDFCEYk0=; b=HUOAWxLKLq0ez+TYmndbEFnSUe8ZvemXCq3YxbBRnRVFjGJx1NIgqR+z7j3HN+4Tf0 K7mBcGj7aI0bt/IuSuE5bQq32ev9Y/vBrhsMcSFkuHRL5gHKk7iJu6xtO+7rU5ZNo6UP Ep9SqkMpcKEUcD+m/4yKKPe+XbhVPHiOq1kx/HteKwD6G+X5UvZuAVT3WSsvgur78n6X P9eEVl2EvxhG3qSoP+PwmS+xjuEg3lSl4YF57Mnzm0oEF+L6EEl5mnDg37/bMhR0Kaz+ lxsck2cJXOXOPfusp4xugWRIUpsBfsZbPawASPpewGjyqxNBQTNjQOyviTA/ckUmpzpx MZ3w== X-Gm-Message-State: AOJu0YweR2wY265o7Xk1p0Hn+fo87Glmh46tY7GOeo8SlWsJedMbw8zI WRxprd75mrPrdxP96oL4WtvLccD3rxTnsEsnV2BiY5B+v9QFBJA546hCkfv4gEIzGzdnLnj9U5V y X-Received: by 2002:adf:f144:0:b0:341:c14b:598a with SMTP id y4-20020adff144000000b00341c14b598amr694154wro.23.1712182074918; Wed, 03 Apr 2024 15:07:54 -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 ck5-20020a5d5e85000000b0034349225fbcsm11099073wrb.114.2024.04.03.15.07.54 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Apr 2024 15:07:54 -0700 (PDT) Message-ID: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> Date: Wed, 3 Apr 2024 23:08:21 +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 v2 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: YMDm4OGcoHQ8 libva 2.0 was released in 2017 and the 2.x versions are included in all supported distributions nowadays. --- The other two quirk cases are very old and could probably be removed? That could then deprecate the quirks system as well. 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 Wed Apr 3 22:09: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: 47773 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp691385pzb; Wed, 3 Apr 2024 15:09:21 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXHJDxtKkRjtesSEv/beYkp1aRBSeTPKZwt1g89yR/Bbabc7MLX8bHBI6KpsXBJGYWU8pSfkY5mYeMZ+/6gAMIYYCI54/c4r7CiQg== X-Google-Smtp-Source: AGHT+IFPSTziKXxub2kQ3qKtkUL6peOa5KMPUWjFHzWc8KX0paNWts7i5SP2oVgLBMBScJSHAFht X-Received: by 2002:a17:906:e28a:b0:a51:79c3:b772 with SMTP id gg10-20020a170906e28a00b00a5179c3b772mr352250ejb.7.1712182161213; Wed, 03 Apr 2024 15:09:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1712182161; cv=none; d=google.com; s=arc-20160816; b=n6DLCcxcRqFrnrhX5mpPZD38VJJ1yDJyrnWGx7UUA/7EJUa3loPxS/N5gVcgJ6by/z n642C9kPcQNRw2Qh5b8tVaBYqJun/uULQtmEjowGcwKDaAc0Aqo6orF7eu8fZPIyASvX mG94JaabrnaoOHFkgIWUlZdqO7ug2LZoC4aUbFzIkqsESnLq0GMKoqGRYgxGR2OytZnK 5BEnXMzyRV3X7hND4l+/Jf4S3qE3S+TWoO9h65Fv4SCFgVtPk6Q6v5ehiEaLJcXyazw3 yGtb3slAKpSckP9LKnVcGLzQYHLgp16pDWkRLTzA7QSRoQZZfd/6aHM1ZiZt0SWdRrhQ AfUQ== 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=rjCMUKLIyhVNyed5Z2ubLveHV1NdtkgQ0G2xYq2sJ5w=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=cgS3cEIij76+D1lKMc7r5IAi2P9BnIowVsF+x6hNGtze1LYCCZoEEF3ZIDUIoCg3ox gRuvhMZnBf5L7IAkAs6RKwrkDKnek/UUotjDGTBZkq66P+w+G5aB2f6mUzRs0kls9AO1 q90qVEM3EJwSiB2//+qAd6ZhmEBbxK1Io77zObxFKdnYf0E/ZxwAD3FXZnctowA5180w HuZ8X6d9Pjr4eNAZqg0yUcMEhig//V+rwV5y8VKyJu8EAFYLd1rmRyQAHrjCoSZ1sKjl 1ypkcN+e+zhFb72EUBZq60723eny+s3rh6LHCDyyxUA2JIQBbVCOZWm4hRg1ORiTJgcu XgEA==; 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="SDOc/4AE"; 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 i22-20020a1709064ed600b00a4e9ac64f26si1355078ejv.12.2024.04.03.15.09.20; Wed, 03 Apr 2024 15:09:21 -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="SDOc/4AE"; 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 C7FB168CF1F; Thu, 4 Apr 2024 01:09:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99D8868C74E for ; Thu, 4 Apr 2024 01:09:11 +0300 (EEST) Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-34373f95c27so210630f8f.1 for ; Wed, 03 Apr 2024 15:09:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1712182151; x=1712786951; 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=bh5jHFYv8S1afZnpiTyOssU6QtUgaH2aUddXRmPf6Ow=; b=SDOc/4AEaLJQPZSaEhEkeTZr1D9iTca9qCJEmLO2KJcNL0yfZxbFbqxWYT2RiloG6S iUcNaYX9cV4R3GcEM9vJJaD67olhuI2CCbACt3pBmj6ZwYbpSZ37YbcBI4J7pN73WaVG YINyn9jSAg/gD9CXlIwA7iqnNp+/kzSYUcO/2P3jAscNp08cFYkJGcLV4xuO+xDwILeJ /M0qo8Ev58wJ+Bs3OUyv5+aIpFbqnUJ8TqGgVLWmnZ7Jt/AlV0+MSJONbgXpLF3I6Hfa UVEi9KU31FV8BKmo+GT6wrdYG/URgIVvrQjc8h1GxjosgOocCnr0YoWdS9P+O3M+3l2U W2Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712182151; x=1712786951; 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=bh5jHFYv8S1afZnpiTyOssU6QtUgaH2aUddXRmPf6Ow=; b=phPHBWtmA2Py4iwFDnStU7GNVB1WKI8eY0LrA2UxCtfwa03pILhiLvJIaWwloZZNLz CabDdJr9mbNUsXf+ZIl5xZRHnU32TqdTvYxWFSJncbCPb19vM8a1FpBL7D8NuzafCrDh 61wCW4gwMuOo7WvYD4h6HL69sgcqysu9HNpP/Xngnyvej0NcfEmxf5YxxX8dHHyQ5H6T gDpPmv6j5rvzHiQPzURK5GXGJZCiBBjuVS8Lqv6ctBWCeNFhvYGqc6QUeFwclCFDUepJ qPKTRFbITZTXaoaqkMXkXtH3cnBs1bFs/FuqbTPC9qAjVe/Mjt7bjNJE8VLg63kSxC6y bEKQ== X-Gm-Message-State: AOJu0Yxnh8rHgJK+/SewP3tLqOBcr+fbBtecg59X4lC7vHrIU212lFhD W/zjFsYEy6pkzDx97NjhI+x3PLtnw+4zoxL0KHO1K66RI5cQNQzcq4hlhp1u/ABc+Um8PvQFcre 5 X-Received: by 2002:adf:cc87:0:b0:343:b61c:e13a with SMTP id p7-20020adfcc87000000b00343b61ce13amr335896wrj.9.1712182150558; Wed, 03 Apr 2024 15:09:10 -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 ck5-20020a5d5e85000000b0034349225fbcsm11099073wrb.114.2024.04.03.15.09.10 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Apr 2024 15:09:10 -0700 (PDT) Message-ID: Date: Wed, 3 Apr 2024 23:09:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> In-Reply-To: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> Subject: [FFmpeg-devel] [PATCH v2 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: AgCKkSwGtbHi libva 2.0 was released in 2017 and the 2.x versions are included in all supported distributions nowadays. --- Now removing lots of VA_CHECK_VERSION as well. libavcodec/vaapi_decode.c | 16 +------ libavcodec/vaapi_encode.c | 77 ++++++---------------------------- libavcodec/vaapi_encode.h | 9 ---- libavcodec/vaapi_encode_h264.c | 18 -------- libavcodec/vaapi_encode_h265.c | 2 - 5 files changed, 14 insertions(+), 108 deletions(-) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c index 5665639dd7..1f923a414a 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; @@ -406,12 +400,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 +421,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), diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index f54b2579ec..2f02a7a2e1 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. } } @@ -1530,25 +1519,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 +1549,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 +1600,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 +1659,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 +1776,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 +2007,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 +2040,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 +2076,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 +2293,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 +2519,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 +2555,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 +2587,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 bf51df0f51..4f4191e23b 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 2777632fb6..008e573efc 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -1305,10 +1305,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 Wed Apr 3 22:10: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: 47774 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp691670pzb; Wed, 3 Apr 2024 15:10:02 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX8uR8lOAz2xxhA89n6r7LG9ky/2mJqkv2f1DQvHvc/cNBP0gGPYFZBpABf8fOYFG4Dwo1WDcmdtrgFKjtoxWhcLUjZYPHrdJkh2Q== X-Google-Smtp-Source: AGHT+IGh1e1xRT0V5hfALb9Dm1Up53SqyPrhXYTvuFQkw+qfCbZ58j3K8CLwWzEs71v5WMonAOwn X-Received: by 2002:a2e:301a:0:b0:2d4:7f17:185d with SMTP id w26-20020a2e301a000000b002d47f17185dmr607297ljw.0.1712182202433; Wed, 03 Apr 2024 15:10:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1712182202; cv=none; d=google.com; s=arc-20160816; b=Uva0prQO83RWSFvuM6sP7C8cqHyin/N3tj9um7QHMe1Ufx8Aind8V3mhvGASIgt0/K fJacsAuWGsuzJseKznob7Ev0Y3I6QrO+lcZMA9z2lXFzo939bc1HnbWzNryACOMk++Ps pukmq7YrTYp1Dxd1nQXLTFnf2nyKbWqdI/H+QPPcNBfeT9UZ/oAR2I0B7sJzC2p3A9c6 DScjSdIXGQcCsSIlMRWky/W0bNp0YfLoSVk3TQqs247gFmgh15Z/I3G/mrzIhLEhTfgW IAm/NCjthK/qI2LNFiMIuBuvLLx0tNvqw3z2OWIIaXFtRVbmTOqjI5oAKG6/1nUGTMSI 1Rmw== 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=UwNrEFqEnJEW8nzo7sT28AvmfovV8f5Vr6IHFeRA9ak=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=cR8mA6+WwAqcbY/4feQOUMXN3sUgWJ/inu1tOfbLah7cjOjraTfssiRhyIvcus2RBO J50ZAImomr2bCSXwpWssDhyX6WXfrIdagePweJ8M4hjz+tOmsJN+6RGVWx7UZSZ9R6jb lTSJwm9InefwxxGXZmcoVA2Hh4fdWBmqxBbgpUFcMbag8k2DWDY3AR5XlP68GIy5BSJ0 vQ7ngJdImf5KChQWawIzTkk7J0ILEjL86Mx12KULFawiOiloTa98tzwJ3BA1T3lNhz2y koUQq3Ae+4dYOzPUsFjdfLDRxxr8MOg0AyGM1rq1AaN3bA0UuGfVjDTYcTt/Ac6BMwaU aswQ==; 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=Ss0I2ZRY; 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 d29-20020a50f69d000000b0056df788446fsi1718343edn.535.2024.04.03.15.10.01; Wed, 03 Apr 2024 15:10:02 -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=Ss0I2ZRY; 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 E489468CFE3; Thu, 4 Apr 2024 01:09:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 204FE68C74E for ; Thu, 4 Apr 2024 01:09:54 +0300 (EEST) Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4155819f710so2428035e9.2 for ; Wed, 03 Apr 2024 15:09:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1712182193; x=1712786993; 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=xvTU//MWcTZDw/Aac1oV6s4KYEL8NBPs80dG+pEt9Kc=; b=Ss0I2ZRYg4w04pSTdrknOirbaMwPd9zuZiSqPVtyxV5LBampEnFVoVEhGR1dleszyP gJpTH9gi2bwY5JTOCMhFQLVoLuMD75jwLic+Y91ECN6gOORKL/uWw6xtz9J6t8e/wwKq Ir2k47v662cfdLvNSwnAz9/Gt94izr5fslxqzszPZXaejqymAftTUUxfFDpueBF6y17Q t6rLmpTnQ3DwWFeqRv35XWrBf2PkU9wlrqfXXq4fIkbRW9XEhOrEMqRdejQ5FIQHt0Qy wXtyfvDcQnb+D0f3gPlwhpVRCt/ZOWMKMXWEzFu/nYxPVzMFcybsFXGD2RCZbzLnfg57 E6XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712182193; x=1712786993; 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=xvTU//MWcTZDw/Aac1oV6s4KYEL8NBPs80dG+pEt9Kc=; b=tV8Y+t6UKky6Tn4fFZsdjxe3qygioBdFK2fJwA22EELLeahIfSMfca/Bkzrl/ImXuK 8CiGjvFYQ/LwGQsuuTTWOBq/tXZx7uy8mjyO1KhwCO5/sK7ev0Hheu00Vqym+ls7GF7A qUdRzz6hyCEasZ/5fmZLGkNpjCXI/lmbJWWrcCutfqZ5QyWyrOXJbqSqFtZ1QZcxuut7 K24xhHKdu6QSFTm/WcoUlx1b1jsVS7js8Qg3aCnfqwAOrkF91XVLGqr6Uz1HmNrPafTy M+l9HDX3f36nJM31YqC8gx6xSn3mDOxQK4N1GFoUx5a5NHXkXx1VpcfdvpLWDd7Jyjnx 2dJQ== X-Gm-Message-State: AOJu0Yxb/DeEIEKA4jOSLJ0rdHHSFilJ1TDFJuAvKyH1o5OZ+p6KMKbp ZMhP+kfzGSAjvI775UQIGjEvhn9bKFcsNWdqz+AHXNFrkSkYEp9r1sqQTWLyzRiXj9vEHvU3Q2j N X-Received: by 2002:adf:a190:0:b0:343:72d2:dd6a with SMTP id u16-20020adfa190000000b0034372d2dd6amr562557wru.17.1712182193558; Wed, 03 Apr 2024 15:09:53 -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 ck5-20020a5d5e85000000b0034349225fbcsm11099073wrb.114.2024.04.03.15.09.53 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Apr 2024 15:09:53 -0700 (PDT) Message-ID: Date: Wed, 3 Apr 2024 23:10:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> In-Reply-To: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> Subject: [FFmpeg-devel] [PATCH v2 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: NdxoTMIRpKtP libva 2.0 was released in 2017 and the 2.x versions are included in all supported distributions nowadays. --- No change. libavfilter/vaapi_vpp.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/libavfilter/vaapi_vpp.c b/libavfilter/vaapi_vpp.c index ace1153a23..21d74f8112 100644 --- a/libavfilter/vaapi_vpp.c +++ b/libavfilter/vaapi_vpp.c @@ -672,15 +672,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 Wed Apr 3 22:11:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 47775 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp692214pzb; Wed, 3 Apr 2024 15:11:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXJR93MBHC4S5w6LWW1is+LBE8qmCgCIQt4AnMb9svY2suuZqtY7uk2t24DJWY2ckunrsl/bo1WBkSb2KJWYi7IdeQr4Wqh21bNBQ== X-Google-Smtp-Source: AGHT+IHuZzLqWHuyBjxs71kKPPYgzHbqlm+IUYHG/+XQc1/MIX+UYvAgL6afhn6povDPXtcQm/PY X-Received: by 2002:ac2:4344:0:b0:516:7de8:335a with SMTP id o4-20020ac24344000000b005167de8335amr573186lfl.59.1712182271487; Wed, 03 Apr 2024 15:11:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1712182271; cv=none; d=google.com; s=arc-20160816; b=TPmB+J0Qcoaip3fAkqvtZrwZNumGGTKAe6VfOH5Id8Thq8usNK5AaSzoaByGODmNTo DXlA6UNNd1nG7DN/5CSof9eOUCzSkVKRUJy3v5pAVzlYRU7mSVTBi6/1fAWKWktR4bza dhKzNyqi6eOQpo2m0RJu+WEcw9QX9c4PekwG6HF7ZF06PN7sXzzPXuLG/9/cckHeeOfm On9lj+EtLcoEsbz4H4cKnvjWrhFe4awXzhmnb94t2xFr8Yw3N08xMV4mpPSIe/eXAHbr LAXVI7tsJIPzhrUJGSxcPu02SBTdoEcI57pokwI19Jj0xKk6ygrcvge/71XD8RW2dXUo ICnw== 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=QIGjBcgLRlQ88xrJjSehVsT1sGGMyNeJLeq1IlawULU=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=I9rkAO8Yv8tOXcv5yn8xuMD6SFqEbowyyx0f8dg3mjaDZzcC+q9tQCbs3mty8A6ayj /pPu3WbgOQocHSUYxsBnVgovkdBsXAjnnTykxCA+4oNBK3fViOsErfw0XOYyRsUJd9aq zET4gXaxmTbes827XipO8QgbVmc0Zqc22sPWftZVkwLTc969bi8OkQsBtOnofQbWNfp6 jAQlKZETW+oQPwRaKWsiehojJjRQRGc8rTC6Hulwx1M7w8sOk14AC1mXo9l66W7FZdVl 43D9GxuksFvfiNAG8DUPSDaeGt0+xvzgBqk6jDFjJfMhzenee2PnhXVZYl9gTYdhcvH3 L9Qg==; 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=PuIMWlfM; 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 jx21-20020a170906ca5500b00a452d150025si7164000ejb.1015.2024.04.03.15.11.11; Wed, 03 Apr 2024 15:11: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=PuIMWlfM; 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 226E668CF1F; Thu, 4 Apr 2024 01:11:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B397268CAF7 for ; Thu, 4 Apr 2024 01:11:02 +0300 (EEST) Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-34356f794a5so261143f8f.1 for ; Wed, 03 Apr 2024 15:11:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1712182262; x=1712787062; 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=WrQfG6h5t7BL/WyVw1ClnTnfbTXsWUHZ4LRuR7hQ8nY=; b=PuIMWlfMJSBVwjeWGG3GOUmYNeIawzVpy9TWlR/33KYO74BfTCik/AdS0QHSXWWCTn sf+kuFEYd8unhe3ecjZdyrtNYg4rB1kdgAnA5HSIIOnFiq3EplVcK3U7qOC2H7j4s2Lx uW0sfNVuQpI210SOP2czsWGvq7b+iWb1aUrfPComuRshIKSxertW6j4AM/1DkCOPeuys jfJrfEBtgoZGsqV90IbeJdM/Dmz3OCE/PJzpfs8QWmhYviGfrm5OXUmq8cOUa6CSfooh KfQBziLUKryNZKuq3ZT8868CAMvBBKTakOaNh8mMwMuFUiYs2+tJKVqMEnHLcTxgXgcd 1jCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712182262; x=1712787062; 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=WrQfG6h5t7BL/WyVw1ClnTnfbTXsWUHZ4LRuR7hQ8nY=; b=p/uq0NxNQOxmEnImbq31xpD270in6K1m6jERt8EOTp0Gw0PmKM6ujYW2USBo05l0cL qHiGFenqtuw/fELi4gP7QAEcsgwzbVzg59l1VQUU8ev61a4lmuxmHc/xTPDsCSKSPtvJ TwjAXJb+bHySOWbQRo0fPOH/AcCPOq6sMU+y9uPc5hAY7XVck7P5I4w6FfxwLi60wO4w 9syb42UTEwiZI1F/pZosOksJCyrpG6yHZodvtnCCPrRQY//9pILTmAhRposEA99UQWws 06T7vvoOHkwKd7tvPbZ7Rvk6pSx406ouMcbbqBby6PAuEUXA2cVJfxiEMgcxPpH9vth4 mqmg== X-Gm-Message-State: AOJu0YxVLFhmHSOgL3KDaiellrVjJemQxtTwOtPC6RvfuOC9mz/7zNKE YYdma4HPdBUHsk+serr457eoIFWQU27n40IW3WgLLOzdNXluYWnj+13+Zeycr8Vk/NrecZQErjw C X-Received: by 2002:adf:cd91:0:b0:343:955d:822d with SMTP id q17-20020adfcd91000000b00343955d822dmr671268wrj.7.1712182262001; Wed, 03 Apr 2024 15:11:02 -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 ck5-20020a5d5e85000000b0034349225fbcsm11099073wrb.114.2024.04.03.15.11.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Apr 2024 15:11:01 -0700 (PDT) Message-ID: <0d0fc76f-6922-42a2-94e9-9926ca720262@jkqxz.net> Date: Wed, 3 Apr 2024 23:11:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> In-Reply-To: <6708e86a-38e7-4ed7-a202-508b2ec9165f@jkqxz.net> Subject: [FFmpeg-devel] [PATCH v2 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: vM5FoP/uJjVy 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. --- Fixed some filter checks and added a note about the version numbering. configure | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/configure b/configure index 29cc8773fd..0253553caf 100755 --- a/configure +++ b/configure @@ -2622,7 +2622,6 @@ CONFIG_EXTRA=" texturedsp texturedspenc tpeldsp - vaapi_1 vaapi_encode vc1dsp videodsp @@ -3185,7 +3184,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" @@ -3257,7 +3256,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" @@ -3349,7 +3348,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" @@ -3358,7 +3356,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" @@ -3386,7 +3383,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" @@ -3395,7 +3391,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" @@ -3942,9 +3937,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" @@ -7238,7 +7233,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 @@ -7254,18 +7249,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