From patchwork Tue Dec 21 12:12:27 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: 32777 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp5360142iog; Tue, 21 Dec 2021 04:13:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJwYKFhv1l2f7nPEnZ7TZC30ZYPvEjtabPzGjhNKObLmwVmb4eaEuQtqSXGbJ/YtYSrSnyOH X-Received: by 2002:a17:907:1686:: with SMTP id hc6mr2447488ejc.26.1640088786233; Tue, 21 Dec 2021 04:13:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1640088786; cv=none; d=google.com; s=arc-20160816; b=d0lEDugH8V2Bh7pXNz9+4sCWGJTIbDDmeSV9IFRcyy+U/eeDw6mQkd0GU8gGjyEuXD mO2KDnejLK5X7LG9FaFoh7219w2B87RZk3iDKT1mHLMFyfqQX61snnik2svbp+Bg6Hev HfJsEXEkPwTEF77ajm8FKqXS6VQr+rqNHggNmHGxfc8FyvU2AePZchiW0FSALcs3dBsO b4DWuCNKVEzgwR4p7Ymm/fqtuzbDVJymG6ycxL4xHNKT4P6TVDe4cY/xDiMph2RzcUAZ LblxDpv+NZdUa3fGCgEaPHdlqpoiFPexY4YrbIh7/+X5cLp96TQc56vVVjRfNxifM/jd Ulxg== 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=0E8Ifox2z6Y2E1irY3pwQIXReHs3PxFa10AkkkLQMPA=; b=wiYXiYL2HBtR7NvJAVmbg3UXlVlEmbuy2r+E260oWS6u0gNY9O9N+3ErMcLaXIBE8b YeKiNwuYsmlKp0B4iUUcbo4b1abvBm89ExD3QE6kUy9cujrMMm6+HQc9+3G3r/prrxr+ sJwd7zvD9y98WymrR9jOZder86i9JSm0wFoWp0bHLGq8At6syg37bjUj7qldTcgJ1ZzR nO/g14tuAcJY5tdeT+U1EJg8QcjQXjcAq26D3YRU81WyGhYrb30SrnPqvM6tvTw67XFU J+wmL0lA+fLLd+v/EFk11PHKLB0QrasLtzZF8U9nDFawqHksqtNfareRY2ob6LwB5dxd Mktg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=OwIMZ+72; 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 jg40si11830102ejc.187.2021.12.21.04.13.05; Tue, 21 Dec 2021 04:13:06 -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=OwIMZ+72; 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 A20DF68AE6F; Tue, 21 Dec 2021 14:13:01 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 402DE68AD3D for ; Tue, 21 Dec 2021 14:12:55 +0200 (EET) Received: by mail-lf1-f43.google.com with SMTP id k37so28920167lfv.3 for ; Tue, 21 Dec 2021 04:12:55 -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=K/0gHy57hOHmZK1E7XYl+XykYt1Ab3n+6dKd7ufwUOY=; b=OwIMZ+728BHOnLztnL2lGjM/xJKxPOnJ7KMn91FlylUedhZxzPKHQxlHo7zMECqGR0 iP+pcUiYPUzatOv0tFEU0okWIDb/xjxC2JvArlv3BSWBTdiz1EUvlY16a8FSEFuX9CB9 4hUpZx2eFVmk1vfeU+Qia+85EUVZlvJuz0Zci6izFYcrYs5xdtiIxG/9RuTMNfCVFJqA QJby3+WEUdgvofr2SX/mf2ZbG98pE4p5xXUPg+DDywR2X8I1VSV2cPluRAYyDLy+JxVh 5H6SHa3de1GVzqnsdQjUCrjTbzfG28Wsra5ktBGzlAuwvg8o+bEWRbqXCCODbmaJ7ryw bNSw== 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=K/0gHy57hOHmZK1E7XYl+XykYt1Ab3n+6dKd7ufwUOY=; b=qZJ5ZC/8nQ2oIuIpunHIEC/YIufzCWKOol/8b2ZqaFlq8P72YKnbSSEtbq/KOpxVd9 DRtIqFLeRuslGLNL8nKfTywRzw8vU9doIZpD0YFKSytZmh6eYZ+XpcVPSF5+dzDZl3Va Z/0/BDAikd/C/ySIzUw26nNRy1qSqPyYpSKbWZW8QRsqqemCtqJ3NygPcPP2Bi4sCLAC 6rJxwNAwAu0EqLIs0G9sAJ5As1/QLP7PCdeQZOpfKZO+5Z6/Y60MiRuRqG8Eil61gN1t SUwi6o9nEpK6M9ffXUSh6M7hDkFaRvtk5lWf5y9dRy69DbGFbjGjMprjcycXgGQJUOd7 ngyA== X-Gm-Message-State: AOAM531JqPm4vs+A5iITBdSdVXCzkiW6LB4TefECyRMnBR/blGGQMQEE w+vnjOMhtGYdOawMWAVYzbTVr1HdZ8kJWg== X-Received: by 2002:ac2:5c43:: with SMTP id s3mr2914100lfp.260.1640088774288; Tue, 21 Dec 2021 04:12:54 -0800 (PST) Received: from localhost.localdomain ([196.244.192.13]) by smtp.gmail.com with ESMTPSA id j10sm827680lfp.286.2021.12.21.04.12.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 04:12:53 -0800 (PST) From: Diederick Niehorster To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Dec 2021 13:12:27 +0100 Message-Id: <20211221121239.1201-1-dcnieho@gmail.com> X-Mailer: git-send-email 2.28.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v6 00/12] 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: mjaWLTxr2MAk 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. v6 adresses the review comments from Andreas received on the list. 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 (12): avdevice/dshow: prevent NULL access avdevice/dshow: implement option to use device video timestamps 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 | 1 + libavdevice/avdevice.h | 2 + libavdevice/dshow.c | 854 +++++++++++++++++++++++++++++++----- libavdevice/dshow_capture.h | 1 + libavdevice/dshow_pin.c | 52 ++- libavdevice/version.h | 4 +- 8 files changed, 810 insertions(+), 144 deletions(-)