From patchwork Sun Dec 19 19:21:21 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: 32725 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3695117iog; Sun, 19 Dec 2021 11:22:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJyTAxs8TxvJ0vR2Q3J7FMOnF5sJmf3JcEZjnuc1kdo6XWXrnZQ3fOJmw42hk+k+oYdHtS+8 X-Received: by 2002:a17:907:6ea8:: with SMTP id sh40mr4489633ejc.585.1639941724706; Sun, 19 Dec 2021 11:22:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639941724; cv=none; d=google.com; s=arc-20160816; b=c2o8L015WLZdAZuhdVbPEqniKPjj2NtJ7J1Zl+iFb1mMCV+CKsogateDG4EMQ8qgPC reiBVVNr/FWBX/PPHICnlq/f7fJkV2sXbOxHtAc+7MBxeaFxkUlGflPJsRzDG4uEJGuN 4GRf+9ngksHaXVwI5aWp7i8dZ2fb/69vMhSivAu6RMP76YAqs6VADylvdwBsu++h6b8I aFK2CFlD9JcdO0zmBkYghRc2HBY5j3LYGxwYmrmlcOqgLSTjjZBuLKOCytLdztrcsMfT EaQTKp1W2rh6jjoGmWQJhFGpu36fuSpHtu27qEuO4E2mtFUItHQTi3twM/mmGdu5C0xd 5oVg== 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=JV4wMusM/l/O2iHuopowf7lRaF5CAu6CfjHLsgElgEQ=; b=G8TOTvmHaRTWmmAlxV1STelRo9OVkdZH/kxDanXBdnp6ZMTGQACXsjfgSSnAW9t3uP BjQW7EZ6XMgyUIkEBjoDvReg1he2AUpb0wNK5UqWAxbVM3ihKCiY+TXYQsfc4GK3PSzD 2nWZ0q9PbWmpshsWng7VpDK1KXKMs3NTefdMwfZLDMhoCXRCggGLby+U59oNTaKqvU5E BPtKh4U4RRXwXcEcOqHgmhk/cIc0kzA+n8pUkQr+40mnZ6Mw0L/j2rFEJmAI3Q0bdH/z rnlxGxqm+pNo6ACf2QiNF5AquXg/VkaUc1k0rPQP7oU+Q8MV89fw+OBXTG2yOt0AHQzX G4mg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=fKQbHI+Z; 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 l1si9064562eda.512.2021.12.19.11.22.03; Sun, 19 Dec 2021 11:22:04 -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=fKQbHI+Z; 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 8A66968AEE7; Sun, 19 Dec 2021 21:22:00 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E79C368A6F9 for ; Sun, 19 Dec 2021 21:21:53 +0200 (EET) Received: by mail-lj1-f181.google.com with SMTP id b19so12431152ljr.12 for ; Sun, 19 Dec 2021 11:21:53 -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=oJUu9THZwNYgzYTeZT3y7gOKvyVI1t4Rvpaqiak6vmw=; b=fKQbHI+ZwtiHuum1M9JiLEp4ZLRtoY41bX9jqtPCk8GYyOlZkkG4UgP2FJxlZswKdW 7x3kEkhK8DiN6cE1JHaQoueQmE7CfX1VkhXlM2xOCsSbij9u5vhIHyDhw40Evh97M7tU gi+wZOqc4qqHAYVuvy+qgor6Nfot5lgTbODWwHWICF2Zj9LALCuQrIUkXzoudcN4mgeW LZrrDUYaNrAqtMg915x6rIS6YevQh30IQiGiEADW5lmuSADxR1IZ2m49URkt0iqCjQQj tkQUUoMfBX+Yogqaa710v53pf7HWe7/Qu0EeHLq3Kf/Pl/VgIruV4Q7ajB6iS1MG2A91 V9wg== 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=oJUu9THZwNYgzYTeZT3y7gOKvyVI1t4Rvpaqiak6vmw=; b=g77apuYjk8VxaEkCCB938T9ukh4LWsci2wQZwk0MvdpHb+Txtu4+WCoQ/ZNYeWoauv yl3vHL23MKdc8amz69tvgUuvE6bnAV8WX5BEZo+YXQRt3T+eLzJNH5XswlOH8h7bqMys CMd9nl8L4Cx7Wdm8nwl8eHUUi+uPmtS62REkMOsfGEuVCqPNc2KOgMIVlJB2pEa2UEw4 gwupEnOBk7rCubOsN4oYZPuHRbic301BgcZ2rqz4cCPTI8dnHKj+BgUZXS5Wppb8IoZY bYMB2X+TbwbSaJgDDGibKmxkqEqhIasDnn06X+j0j/JgY37a0VaIWbvtBmR+awG+U3j9 QLkA== X-Gm-Message-State: AOAM533AGTfIak3lSX1yYsvxIz+L+6ppWrORgZcW/9o9g3F5UmWl+aEt yc6NwDi6nb/KzjBy0UZSw0dR8GIXkyre6sw6 X-Received: by 2002:a2e:2a43:: with SMTP id q64mr11777028ljq.102.1639941712937; Sun, 19 Dec 2021 11:21:52 -0800 (PST) Received: from localhost.localdomain (84-217-56-54.customers.ownit.se. [84.217.56.54]) by smtp.gmail.com with ESMTPSA id l24sm2323343ljg.35.2021.12.19.11.21.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Dec 2021 11:21:52 -0800 (PST) From: Diederick Niehorster To: ffmpeg-devel@ffmpeg.org Date: Sun, 19 Dec 2021 20:21:21 +0100 Message-Id: <20211219192134.1296-1-dcnieho@gmail.com> X-Mailer: git-send-email 2.28.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v5 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: jTKVQg/OnZ/s 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. v5 adresses a comment received offlist for patch 5/13 (now emits log message when a sample timestamp is missing. 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 | 52 ++- libavdevice/version.h | 2 +- 8 files changed, 801 insertions(+), 136 deletions(-)