From patchwork Thu Feb 22 18:46:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gnattu X-Patchwork-Id: 46448 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:26a3:b0:19e:cdac:8cce with SMTP id h35csp526286pze; Thu, 22 Feb 2024 10:46:29 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUlfR+VtmCRWLjVn77iH6PZD8lI9kwHgh6Kg26YYXv59v/YH/d1D7x9Mp1qHydCd0bIqkqa36EE8K7AwCgog6GqvFKx51fUQ4uBvA== X-Google-Smtp-Source: AGHT+IHFybg3tFKKU+yB0m1IWfc0qpXwtML6KnciTaG2eynilcwnHR0h5ArHXmGYT5nZZfi50hV7 X-Received: by 2002:a17:906:3055:b0:a3f:11d5:2b64 with SMTP id d21-20020a170906305500b00a3f11d52b64mr5388675ejd.7.1708627588988; Thu, 22 Feb 2024 10:46:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708627588; cv=none; d=google.com; s=arc-20160816; b=eYrHTi6MPxzPaUvZ8NrY4IUR2lC8kF1IOAfZKMr5F8cZYLFMpum+ixLP/ADAoMUx5P f36rDHmOQutkDElnxJiqgsMYyt+jVOGTCY7ckvXUCErzL4g5kdUveOXgTbJnYx/2Rc2q 1v/Vm27fpT6sL3tgJTb0CmcK1pwU5vTOyEJdiqcLDQejbFCZcednDjnmOJV66hMbkBsu 4ll8Wqj8Q5egh/Pqw2i4zWsk5M0CAWMzO+Idd0elf9hfdJ9OEuzBz9J3FrEmoV4az8aF 2B8wn1taNcbcTPjQCSUM01rvNu6rTm1tMpP/ZIR14eY3IU9vOuK7hJVeJikyPRPLxmXk azag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to :delivered-to; bh=6jFcPuUFeb0SbWzEPRcSssysFDTAkMq33hLwgsnetqc=; fh=2gWgGvVN03792RqC4MXCXsB/4cbAJUKJ5Jr7thIsQ3A=; b=YOwHu803lHV+yOW7P59jvI4Yqqb9+eH323tyywW9v7ICFNhRilhsmvvEDD9bML4f3u VSFQ0otqemTPGlgM+FDPZf+z1h/g/4RjSqiMY3DOf9TF6fw3R26V9RLqUgDVA3B6i7DN 2FWd1aV1v7p0jQaNMDbZttSEXze1dep0HaeYaP6XnTuUpv+p/Yck2hGAiJjlFBaY6840 szYk5HjZRn3Y0Hb6gknAXiLYe+LesoROuOSqTkStR8soGXAVnVMAJKWt3st4yQ9H2dKn ncW3QPlsu0HN/T5ofYEw7M0f5IjFu3quAHjdCfGWoGzK3qR+jJVswitSY6+hzkc+GZPj chUg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 hd13-20020a170907968d00b00a3eb2a3c3e9si3920827ejc.1006.2024.02.22.10.46.28; Thu, 22 Feb 2024 10:46:28 -0800 (PST) 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; 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 D997568BDBC; Thu, 22 Feb 2024 20:46:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mr85p00im-ztdg06011201.me.com (mr85p00im-ztdg06011201.me.com [17.58.23.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12D0B68BD37 for ; Thu, 22 Feb 2024 20:46:18 +0200 (EET) Received: from Yakumo-Yukari.lan (mr38p00im-dlb-asmtp-mailmevip.me.com [17.57.152.18]) by mr85p00im-ztdg06011201.me.com (Postfix) with ESMTPSA id 83A0C96052E; Thu, 22 Feb 2024 18:46:14 +0000 (UTC) To: ffmpeg-devel@ffmpeg.org Date: Fri, 23 Feb 2024 02:46:03 +0800 Message-Id: <20240222184603.13074-1-gnattuoc@me.com> X-Mailer: git-send-email 2.39.3 (Apple Git-145) MIME-Version: 1.0 X-Proofpoint-GUID: 5cFGPrEUA04iAUfy5QJLh7ljgG5gFkfa X-Proofpoint-ORIG-GUID: 5cFGPrEUA04iAUfy5QJLh7ljgG5gFkfa X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-22_14,2024-02-22_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxlogscore=839 mlxscore=0 malwarescore=0 clxscore=1015 phishscore=0 spamscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2402220147 Subject: [FFmpeg-devel] [PATCH] hwcontext_videotoolbox: add vt_device_derive 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: , X-Patchwork-Original-From: gnattu via ffmpeg-devel From: gnattu Reply-To: FFmpeg development discussions and patches Cc: gnattu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 32Wfus9arcnS There is no device context to be setup, nor devices to be selected with VideoToolbox. Just a simple return would allow us to use derived device in filters like `hwupload=derive_device=videotoolbox` Signed-off-by: Gnattu OC --- libavutil/hwcontext_videotoolbox.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c index fe469dc161..d13199eca7 100644 --- a/libavutil/hwcontext_videotoolbox.c +++ b/libavutil/hwcontext_videotoolbox.c @@ -759,6 +759,14 @@ static int vt_device_create(AVHWDeviceContext *ctx, const char *device, return 0; } +static int vt_device_derive(AVHWDeviceContext *device_ctx, + AVHWDeviceContext *src_ctx, AVDictionary *opts, + int flags) +{ + // There is no context to be setup with VT, just return. + return 0; +} + const HWContextType ff_hwcontext_type_videotoolbox = { .type = AV_HWDEVICE_TYPE_VIDEOTOOLBOX, .name = "videotoolbox", @@ -766,6 +774,7 @@ const HWContextType ff_hwcontext_type_videotoolbox = { .frames_priv_size = sizeof(VTFramesContext), .device_create = vt_device_create, + .device_derive = vt_device_derive, .frames_hwctx_size = sizeof(AVVTFramesContext), .frames_init = vt_frames_init, .frames_get_buffer = vt_get_buffer,