From patchwork Sat Jan 1 16:51:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: quietvoid X-Patchwork-Id: 32991 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp14862718iog; Sat, 1 Jan 2022 08:52:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJyU+TWWMkyFZt2vJCu+FRDUpFPA2FcEGIShSXFFPP7skErch+tqhPwMGrmqMiNB7C8xzqdY X-Received: by 2002:a17:906:4956:: with SMTP id f22mr30391862ejt.279.1641055927875; Sat, 01 Jan 2022 08:52:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1641055927; cv=none; d=google.com; s=arc-20160816; b=bl6/KK/QaIOO5znIouNpXnmyMmxKuvTSbHcZkh5QwKahRgFHU9Pv6vHEMkn3P2RNyL sAETIWgPigIrIezO8p3tpDyHt1q903djIhMa22ri27mKdWJctZUL5CabkfDFirTdP/Ar w8qJcGAzOcnBdef0egc+ZQvqUNi06KiI882dzOh+9lzFw9tO6/L1yOu0MMTDeSs1WFCD Ut53DGQBjc9P6ihh5WXA9SejV/WuGVw6a8DO3ZcO2185UHXxdAz7ghWPHtmzddMAlkhh q1kg95zrgbqoDYpsU1cLW0jUdg8AflnXpbEbTVhiazKjNH7IfWlLX2svufCpIFGxs6DC pBPw== 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=lB4Q8pjz1yFTnCt0T8ToHfFX603Tku3wUhNVYOY1LsI=; b=eaOXCt/2ybeICFlV+wE87ylttGIAFndpJ6b1wkUG0FG1gbLtLgwx9Lt8WsnN8qWK5u jnn7N2gDQZleDbxkuUppMOhwc9CB6wqZo+qyenWnqnUqxAeoc6N90+J3A0sdunHlssB3 zAbI/csVl6mplVcNt5ja2r3Sc2iNty04FNKARGTNUhQaejWD46c1cm3BnTmKXxf2uV2m OU9Hv2rSrSrOhZCAaTQ0OPd2TNS+4aNTWKP3VAGDP+lFuTfxko7WjOpvPT6wq9bYKiKn Ej/E4XDyqH3oQF5rx7heJK3B/Zqy/922cX/6/rG0sIvFyp/GDC17kHZhUSvUVgbADJOh jo4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=TyYYk6l+; 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 gl1si17004907ejc.628.2022.01.01.08.52.07; Sat, 01 Jan 2022 08:52:07 -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=TyYYk6l+; 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 8213068B115; Sat, 1 Jan 2022 18:52:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6F9DC68B0DC for ; Sat, 1 Jan 2022 18:51:58 +0200 (EET) Received: by mail-ed1-f41.google.com with SMTP id j6so119044801edw.12 for ; Sat, 01 Jan 2022 08:51:58 -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=Ne77/G1LHfLmbno7ezzzfHoBRmb/iGn2vgXrOMRqVgQ=; b=TyYYk6l+lFGZIYyPyj7bJFO8HxcYaZn+v8BamKB13JQnyhxaOy9yi+ZPRuFCghe9zI nQ7IvN5OJBJ7Hx0bVeb3eYZfJeUKq0ya40mvxjBqG9F+pOfol8jyQxzlU+UzklJbu5Mv P3EOHL6o+85bXH5jsK5CU6w+CHM8wVrHubwW84wttNJ3K4kZc5PipnEtBLIp1b0roaMd BtNmXop2/G3NFb6uDR41n5Sz9rZIxkdNKyaNG1+UeGCHki5mWrJmnXM76SV8edLvK1Oy f9h2Mb3GJSLeRukgNq1u1piRHzyryIujTfF31oWn2RamPgJ4Y6Fwxe8LcDtaozSV/E9b ASiA== 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=Ne77/G1LHfLmbno7ezzzfHoBRmb/iGn2vgXrOMRqVgQ=; b=7GMNn7fpUTvF7KG2EymaFg6TpAkVsYg42dLyLi5y6zd/EtFcPt7EgMhVQHU8TvZ4t8 U4QqmUcsx1OmVCJVASMLJ3xOTrUewYnfgZJ4NCq53BT0o54xVRbkYIsZtnsiUSM65Muw o83Jd5pCoMuzpR6ckQTIMMcqWg1s49LTnQ83XqgFyIbajq9zAcXj51nGdUXzqLMH2Kn6 5gGQq5TwxZZZJJqblsWKJymXe8l8l+pjEPiusRFlYaxa9xkSoSUf2y42x52QJFEyy4mz xcQVFWHOCxV7+IbFD51c6HdhXkJKm2Hx2CzdZ5ckAfQRQ+Lev6USmP+IJfpWk3GkRmrL 1iUQ== X-Gm-Message-State: AOAM5327D7uppjm6gMz5eDU/96n4g0kFNyN/nXBReW0ipeoQ2/C3rr09 jQQ8hyIyXS9wFU+1825W0Htsa7S11kQFgQ== X-Received: by 2002:a17:907:6ea2:: with SMTP id sh34mr32593218ejc.509.1641055917637; Sat, 01 Jan 2022 08:51:57 -0800 (PST) Received: from nark.. ([2a01:4f8:162:73cc::2]) by smtp.gmail.com with ESMTPSA id gn8sm9280298ejc.23.2022.01.01.08.51.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Jan 2022 08:51:57 -0800 (PST) From: quietvoid X-Google-Original-From: quietvoid To: ffmpeg-devel@ffmpeg.org Date: Sat, 1 Jan 2022 17:51:48 +0100 Message-Id: <20220101165153.440729-1-tcChlisop0@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v12 0/5] Add support for Matroska BlockAdditionMapping elements 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: quietvoid Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: k1PI/J5MzxDH This patch set adds support for reading/writing the Matroska BlockAdditionMapping elements, as well as for reading/writing dvcC/dvvC blocks in Matroska. Created utility functions to read/write Dolby Vision boxes for ISOM. This was done to avoid duplicating the code, as the Matroska blocks and MOV boxes follow the same specification, defined by Dolby. Refactored the reading/writing in mov/movenc to use the new dovi_isom functions. v11: https://ffmpeg.org/pipermail/ffmpeg-devel/2022-January/290611.html Changes since v11: - mov/movenc: Added dovi_isom linked object in Makefile for MOV DEMUXER/MUXER. - fate/matroska: Fixed ffprobe test set name and requirements. As suggested here: https://ffmpeg.org/pipermail/ffmpeg-devel/2022-January/290621.html quietvoid (5): avformat/dovi_isom: Implement Dolby Vision configuration parsing/writing avformat/matroska{dec, enc}: Parse BlockAdditionMapping elements avformat/mov: Refactor mov_read_dvcc_dvvc to use ff_isom_parse_dvcc_dvvc avformat/movenc: Refactor mov_write_dvcc_dvvc_tag to use ff_isom_put_dvcc_dvvc fate/matroska: Add tests for reading/writing BlockAdditionMapping elements libavformat/Makefile | 9 +- libavformat/dovi_isom.c | 118 ++++++++++ libavformat/dovi_isom.h | 35 +++ libavformat/matroska.h | 9 + libavformat/matroskadec.c | 58 ++++- libavformat/matroskaenc.c | 37 +++ libavformat/mov.c | 50 +---- libavformat/movenc.c | 24 +- tests/fate/matroska.mak | 9 + tests/ref/fate/matroska-dovi-config-profile5 | 13 ++ tests/ref/fate/matroska-dovi-write-config | 223 +++++++++++++++++++ 11 files changed, 519 insertions(+), 66 deletions(-) create mode 100644 libavformat/dovi_isom.c create mode 100644 libavformat/dovi_isom.h create mode 100644 tests/ref/fate/matroska-dovi-config-profile5 create mode 100644 tests/ref/fate/matroska-dovi-write-config