From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 2A5E04107D for ; Mon, 3 Jan 2022 00:33:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2420568B1A6; Mon, 3 Jan 2022 02:33:55 +0200 (EET) Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C963968B19A for ; Mon, 3 Jan 2022 02:33:48 +0200 (EET) Received: by mail-oi1-f181.google.com with SMTP id be32so52810928oib.11 for ; Sun, 02 Jan 2022 16:33:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+xaopab8T8Q7QkSQ8pHZAnFqyeIyHNt1jbfEF5sdt14=; b=P9l6ad/ZwTL62nKsgGIqzvGfBiowZTet7mQ+MZZEriwSj4GKRbJ9aNeCtUPyYkG/MP 7AE5o2RK/gVvlzAQ+b3jLr5/wA6jI0NPbMmO0nxkcyw8R5NOPEuY7CPK4YpkDA/V4+0F vydW8WjLVcqqeDWSEbbDhvaebHw9RV8+jZuSq+APH/72zCxTF1+tclUTueWXv7Ld1BuY NhTCkYmIie3+Q8xyWj067YOslJxPEByyipyETkQcgqs2OfIr1kGlveNJ0VBOCG3OlFH3 fhEeZa7Bin8EznIZCcWb1zA1HoLyH+KXI2e1GOQ5Yc/dayVJ7njh+jFe7MPMdH6fCR+M OiZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+xaopab8T8Q7QkSQ8pHZAnFqyeIyHNt1jbfEF5sdt14=; b=xKIsBdRrQsGI9nAuDSCvYr6xHx0pj1op+1qbsUJo+B94YSghdZwd45av8qtEbDkRFX hvlZvCWSQRU0O7xUUekDFOkiEo16G0kgHMBYyvFo9E6Rw+Q9rNETTW83d0EHuzRkENiw 4pYr7ZLon7Z37NAVQBvH0rgAgETTle4Jq4uau+Iy96JM6iB/wSTDHeQA1ciEBWf/3n5g T3/tT6NV5urQ+d+ZGLQx+QnAzblDMtjrVenh4QZbxUO4sOhbRAa8alGcciFWI041yb5i /CN8vhxd5WqRUAdPrmj7oOjbI9Dnv5FCDnsYW0ttGjn94kCdDoHdnUWhy7osh8DBUCB2 RvaA== X-Gm-Message-State: AOAM530QNj5NfkUgdJ4GplxJZKViRY2ANDVW5NPx2XN0BUfLV9eeP7Cg y8QUYgO6lnt+9ISTxamOyrRuhstsxxn5Wg== X-Google-Smtp-Source: ABdhPJxn69KcMmD/EbCqWCPQB42oTGWLobSxfNHQ5Y8DY/DnyscjlwJcOTLUzUvLh57Ta642OGHWew== X-Received: by 2002:a05:6808:14c4:: with SMTP id f4mr34757450oiw.109.1641170026693; Sun, 02 Jan 2022 16:33:46 -0800 (PST) Received: from ubuntu-vbuilder.localdomain ([2600:1700:4830:3f7f:20c:29ff:fe04:f136]) by smtp.gmail.com with ESMTPSA id t3sm7579334otk.44.2022.01.02.16.33.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Jan 2022 16:33:46 -0800 (PST) From: Cameron Gutman To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Jan 2022 00:33:19 +0000 Message-Id: <20220103003318.442892-1-aicommander@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavu/videotoolbox: add support for memory mapping frames 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 Cc: Cameron Gutman Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Signed-off-by: Cameron Gutman --- libavutil/hwcontext_videotoolbox.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c index 0a8dbe9f33..026127d412 100644 --- a/libavutil/hwcontext_videotoolbox.c +++ b/libavutil/hwcontext_videotoolbox.c @@ -711,6 +711,30 @@ fail: return err; } +static int vt_map_from(AVHWFramesContext *hwfc, AVFrame *dst, + const AVFrame *src, int flags) +{ + int err; + + if (dst->format == AV_PIX_FMT_NONE) + dst->format = hwfc->sw_format; + else if (dst->format != hwfc->sw_format) + return AVERROR(ENOSYS); + + err = vt_map_frame(hwfc, dst, src, flags); + if (err) + return err; + + dst->width = src->width; + dst->height = src->height; + + err = av_frame_copy_props(dst, src); + if (err) + return err; + + return 0; +} + static int vt_device_create(AVHWDeviceContext *ctx, const char *device, AVDictionary *opts, int flags) { @@ -736,6 +760,7 @@ const HWContextType ff_hwcontext_type_videotoolbox = { .transfer_get_formats = vt_transfer_get_formats, .transfer_data_to = vt_transfer_data_to, .transfer_data_from = vt_transfer_data_from, + .map_from = vt_map_from, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_VIDEOTOOLBOX, AV_PIX_FMT_NONE }, }; -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".