From patchwork Mon Dec 13 07:21:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Diederick C. Niehorster" X-Patchwork-Id: 32402 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp5072205iog; Sun, 12 Dec 2021 23:22:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJxJwvydmphhSCjFn6M/7BFri7rCbJWcQQH9soyaZbB95ifNHywWNz5SYuK/LNAQZfuaxMdp X-Received: by 2002:aa7:d4c3:: with SMTP id t3mr63264202edr.268.1639380134844; Sun, 12 Dec 2021 23:22:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639380134; cv=none; d=google.com; s=arc-20160816; b=JnQ1fliBsSVDlR/08qa/wnIgRKPckWq78ElOyKTN3uw2zbQhLquUe3BeFFSwjL4KfC Ny6TNzXLQWllJzfcufdN63LkGYaMbrMFwdrLQqQdsv9sr5QtxCxlHFXSrlAiGLQWgv1u mvovC4lU6K94/ugiJdeCVktdynQyYxPUXWoAqzCE/KHu3z3luP7SZ7LZbhGuJp0XxlEq 2Wq12sK2UVjapFae5dHK5k0LGPnBEL1vKdwcutlAaBB3ejPNKJ58yXaVWBaqtJMx5F0x dIlB0qAh2vkwezFfFQw7tm0eOun9nrhL5SwtVJluP5f0uZPTPoVTey3Z15zlD0Tj85Iw VRIw== 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 :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=SxzeqgYr1h37wtoS9UTm9D+AOLhsNeBAphhNBRaFRwU=; b=rhuFsfWXDcy9xIphHhb8ba0kAtSP/QfX7OWvNPhwC0GYBex1Wp387PUT39kwg5j/35 X0iU55xv36Ojj8dHe+/zGwYye6CHH0zEOz/9AfGMCpNfL6qBQSONXuWo6btq+tVw7Ic6 x1djL+9KGBLSrzarF+acdlxbTCVbtZJsqqQEerBGsTDUyypXcI8wLlTnXYNSdm0kWBos 3CwgtMSth/2UwvAuZDALbBK5bnrHAx/mVPXjat7eF3xN1oRs8tS2p2QXv909ASrI8Itv n8kZYpNjjxiPiVZPq9III+0AOFsBW/87heqXC9Rp37UwAxfuVRzbqovK7nc4YO11UHLD Q3ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="hV/Mbhnp"; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dt15si18979989ejc.564.2021.12.12.23.22.13; Sun, 12 Dec 2021 23:22:14 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="hV/Mbhnp"; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9898568AEFD; Mon, 13 Dec 2021 09:22:10 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9482C68AECA for ; Mon, 13 Dec 2021 09:22:04 +0200 (EET) Received: by mail-lf1-f52.google.com with SMTP id bi37so29092933lfb.5 for ; Sun, 12 Dec 2021 23:22:04 -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=ZBgNxOvt3l2xHe+WLLNKqHN7w89gUJi3beEabybh5+k=; b=hV/MbhnpAQdGmlCvcHzH47nuKPoLbIzz55ukbpJZ1FZdE+OnisyIid0jViEHAXJ9Cr 2kH/O0jfbz/snxtvuMKVsqFS8T6ZRQz725jyCsqOHTJKudLK3fhynPLINQ1k6RPUY6uD v4stekhWzefKV6c+U4tOpMy8BREhkkisP7AwnHrTS32gss7mJXdi57iEnDf2zwlbQ11Z Pq6Mgl8eVy3Ar3Y+RdTIjKni7a6VM1nhyUevrZ7fwMuarEF2IodeLlfWVEjx8tM3b3b/ avimk0/BbtqOVf496HI4iQXEmRF1ETUu8x1Bl5TzyluEi8LgHbyWQuMCSY4hB0urERQh IITQ== 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=ZBgNxOvt3l2xHe+WLLNKqHN7w89gUJi3beEabybh5+k=; b=Uixr3fHrSC2nBaGXWymdxEiPJ7B70Q2kiPmvGstLj3IX/hdBuzvOXDTfchFwjQPrd1 yOYloZEST4ZBdH/6x6OLMf3akzeyuXsZhyZwIRy/xzJmDP60PnmPn0iGQAVOSvDhskYk syYEEJoZzoB4IFusz6xW5s7KE5+k6JQ0dx1mENepJZz7iAoftdUaZW+iyePzGVJT328x sVeCRUaYRkqZP51k+otP/nppQY9iW9NhoXxq61b9iE8aZ07aTxKMp4WhtU17qXphepFs yTfuZV6sE+g3kuFdWVPrVvK8q7HB5uLnWKpAtjhUAZ3SfP33LQaQNZGCPcU6GcfhTVTH 2Nzw== X-Gm-Message-State: AOAM530e/iRutoMn8FmuDQW/fTGDgheDgG9BW9Xoofm+CM6Z9IhYe94b jjJ51RR6i05bzrmP8zahix31hMK77l1nDA== X-Received: by 2002:a05:6512:3f2:: with SMTP id n18mr27937816lfq.646.1639380123082; Sun, 12 Dec 2021 23:22:03 -0800 (PST) Received: from localhost.localdomain (84-217-56-54.customers.ownit.se. [84.217.56.54]) by smtp.gmail.com with ESMTPSA id v2sm1306473lfb.258.2021.12.12.23.22.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Dec 2021 23:22:02 -0800 (PST) From: Diederick Niehorster To: ffmpeg-devel@ffmpeg.org Date: Mon, 13 Dec 2021 08:21:30 +0100 Message-Id: <20211213072143.993-1-dcnieho@gmail.com> X-Mailer: git-send-email 2.28.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 00/13] dshow enhancements 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: Diederick Niehorster Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ZjzXGM63WE5d This series solves some outstanding bugs in the dshow device, implements get_device_list so that `ffmpeg -sources dshow` works and adds logic to select a video format with extended color information (color range, space, etc) if exposed by the device. This is a new version of part of the patch series in https://ffmpeg.org/pipermail/ffmpeg-devel/2021-July/282073.html, addressing review comments i got there. They have been previously OK'ed offlist by the dshow maintainer Roger Pack. Specifically, these patches are the enhancements that should be uncontroversial as they do not touch the avformat API. I hope they can be swiftly pushed by someone, then i'll re-send the other more controversial patches on top of these. Diederick Niehorster (13): avdevice/dshow: prevent NULL access avdevice/dshow: implement option to use device video timestamps avdevice/dshow: add use_video_device_timestamps to docs avdevice/dshow: query graph and sample time only once avdevice/dshow: handle unknown sample time avdevice/dshow: set no-seek flags avdevice/dshow: implement get_device_list avdevice/dshow: list_devices: show media type(s) per device avdevice: add info about media types(s) to AVDeviceInfo avdevice/dshow: add media type info to get_device_list fftools: provide media type info for devices avdevice/dshow: discover source color range/space/etc avdevice/dshow: select format with extended color info doc/indevs.texi | 6 + fftools/cmdutils.c | 34 +- libavdevice/avdevice.c | 2 + libavdevice/avdevice.h | 2 + libavdevice/dshow.c | 838 +++++++++++++++++++++++++++++++----- libavdevice/dshow_capture.h | 1 + libavdevice/dshow_pin.c | 46 +- libavdevice/version.h | 2 +- 8 files changed, 797 insertions(+), 134 deletions(-)