From patchwork Tue Jan 17 22:21:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 40072 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1d43:b0:b8:6755:f97e with SMTP id cs3csp2200155pzb; Tue, 17 Jan 2023 14:21:54 -0800 (PST) X-Google-Smtp-Source: AMrXdXvtkNdvHzXZxK0pL8P6FWwWS3wD9AzcUAjDoihy7EilFNRhbc6SvmPGsvQalp/CQxQ/h2+a X-Received: by 2002:a05:6402:4507:b0:499:9d31:8490 with SMTP id ez7-20020a056402450700b004999d318490mr5328974edb.24.1673994113921; Tue, 17 Jan 2023 14:21:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673994113; cv=none; d=google.com; s=arc-20160816; b=J3JiyTg2Tfhsg8JKTUQZdA6j+ZSlvo2ycgMZ49wgcv70UKv0CUFnHsT7NfJAI0IEHN z4Zn3eKqRkejo9aWSqyOqpNEYd21OnFyjRbq57YqSGUiwppKd+W1u1EZGQjYN+W3pd7n bj9G8k+FhzS+OaZeL0Uthy9G5DP9ApcWz5YgESqJsSJul54hUau6IgoeAnjv5isqlNnZ 6zATGqjqCxae5C+O5w9uT/Y80Zxyhu1F98Bu850EWumUN1bdcDi0SRDOk5Toshc3ujlz lLsxOIHotoDNRRWvY/Kzz+XhZpCz/ojAIP+nCXZTnEA1eMo07U5Haq86jf6XRf37xtxN rhJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:from:to:content-language:user-agent:mime-version :date:message-id:dkim-signature:delivered-to; bh=GAuKjgvyXPoWehjJvhQd4FtggtYsW8KOM30by6pCqZA=; b=AELqhDjWtEEDlv0FQD7v6rP2/Pjc6nO6+VbBey81XKDkZV2zAZOkxDnbndgRHV8hRJ Liyj84+WDJsOel81/tm3DmTC82buMm30ESjVCTrKjnRi4PqZ3ty7LYp9n5jYfyEEtp0H oa8UhDuF7yAd6iVJ8j4zBW/MN0PBv2CJOvaxwkizNIM0qaQh7qZUm0k6SUHFvGURydfp HwgJp4GzE3J/UJwkuVOuWLrTXvO5ks2QRZcpI48ifsnhla1A/Bw4iuzk/ic6RkZ93Baj SaccKMwAmY2LWq9kzFDwP468RLWpE9FC71UDUnc9EhAs9jg4jwqVrBKNhykGmLFFNrZb 1LIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20210112.gappssmtp.com header.s=20210112 header.b=mAoQpc5g; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u4-20020a50eac4000000b0047920cdf1ccsi33030656edp.73.2023.01.17.14.21.53; Tue, 17 Jan 2023 14:21:53 -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=@jkqxz-net.20210112.gappssmtp.com header.s=20210112 header.b=mAoQpc5g; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 847B068BEAF; Wed, 18 Jan 2023 00:21:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4DAE268BBF3 for ; Wed, 18 Jan 2023 00:21:44 +0200 (EET) Received: by mail-wm1-f47.google.com with SMTP id l41-20020a05600c1d2900b003daf986faaeso218288wms.3 for ; Tue, 17 Jan 2023 14:21:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=jFevj2/iwFfJJlg/sLp3+CDHu+6gdO9qRK04BvgWdOE=; b=mAoQpc5gV3gEnmPPrssM6WVLh0Glnc+4QiH1N6Lrd2/W/5/iD0J+q2zYOFSi7KKytL W7BAmwy4oP+eyMV0MOVNzU3quobVi7K32jzuiWllnXtMq+QFT+UCBaih5CZqkQ90xylh N8oVU80PagdsyARJ/4okhhwymZMAIrfclFW7Q5tH2mDEQIVseCmc+yvEMg1WLpuL+Dkf OIR4beBez9fbZPHEMUaDvANNyywydakvP1W+EhxQbzwp1EwhUtZ5tMxTuPo1q9YUgvT6 02Ub/BZ2aAhrLKcl8k/ytLOZ1EHIPkG7zpzp+INDbht5zkodnG/vqSi1InPWNbBW4kkJ FGyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=jFevj2/iwFfJJlg/sLp3+CDHu+6gdO9qRK04BvgWdOE=; b=nK0IIQy8wIqKRvVnN9QC9nJgau+4fc22STk0iYU+btQRrRWMi5Z0nKp0fbmlmiHMEK ZZPyho96npbuIeenZ458USwuUUkOMrGj0G9dl/Ak8xvH+abndbFd59AxpAJis0RrGqyQ EOeEtwnf4oO3N4yrs2/MIVmJjJvoh4v1RfjVuKMd1coRSuCyr62QiIV2fac3RKz1kE2V QPqv1Q1qnMUpVCY0dmJq8METJmEnymSec7VkL7Kzkib8aQJmQDRd/rYDbAxgOZ8RiInd +vg8Dq6F1AaUMzlwdPlyUNTi/4IzmSqM4ms0WBOns1l8bzetbPx/7L/vLF1MPO8s1y9D mbNQ== X-Gm-Message-State: AFqh2kohdRuJvH0jvfg0oUotcJv+sUUkqL8AhJHyqp0rMInCgCcAEnU7 jShQjUNsTDuPsjEgh70JnrSk6IddJ6EeeuWPtHU= X-Received: by 2002:a05:600c:1695:b0:3db:12b:5103 with SMTP id k21-20020a05600c169500b003db012b5103mr4676458wmn.5.1673994103701; Tue, 17 Jan 2023 14:21:43 -0800 (PST) Received: from [192.168.0.14] (cpc91224-cmbg18-2-0-cust209.5-4.cable.virginm.net. [81.106.228.210]) by smtp.gmail.com with ESMTPSA id bg14-20020a05600c3c8e00b003dab40f9eafsm110021wmb.35.2023.01.17.14.21.43 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jan 2023 14:21:43 -0800 (PST) Message-ID: <9f33d721-b3a5-dc8d-6048-4bc096d9abfe@jkqxz.net> Date: Tue, 17 Jan 2023 22:21:28 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Content-Language: en-US To: FFmpeg development discussions and patches From: Mark Thompson Subject: [FFmpeg-devel] [PATCH 1/2] cbs_av1: Add tracing headers for metadata types 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 74EYH3mZnMnk Make it a little easier to interpret metadata in trace output. --- libavcodec/cbs_av1_syntax_template.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c index d98d3d42de..46f4c5a6b8 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -1843,6 +1843,8 @@ static int FUNC(metadata_hdr_cll)(CodedBitstreamContext *ctx, RWContext *rw, { int err; + HEADER("HDR CLL Metadata"); + fb(16, max_cll); fb(16, max_fall); @@ -1854,6 +1856,8 @@ static int FUNC(metadata_hdr_mdcv)(CodedBitstreamContext *ctx, RWContext *rw, { int err, i; + HEADER("HDR MDCV Metadata"); + for (i = 0; i < 3; i++) { fbs(16, primary_chromaticity_x[i], 1, i); fbs(16, primary_chromaticity_y[i], 1, i); @@ -1923,6 +1927,8 @@ static int FUNC(metadata_scalability)(CodedBitstreamContext *ctx, RWContext *rw, { int err; + HEADER("Scalability Metadata"); + fb(8, scalability_mode_idc); if (current->scalability_mode_idc == AV1_SCALABILITY_SS) @@ -1937,6 +1943,8 @@ static int FUNC(metadata_itut_t35)(CodedBitstreamContext *ctx, RWContext *rw, int err; size_t i; + HEADER("ITU-T T.35 Metadata"); + fb(8, itu_t_t35_country_code); if (current->itu_t_t35_country_code == 0xff) fb(8, itu_t_t35_country_code_extension_byte); @@ -1964,6 +1972,8 @@ static int FUNC(metadata_timecode)(CodedBitstreamContext *ctx, RWContext *rw, { int err; + HEADER("Timecode Metadata"); + fb(5, counting_type); flag(full_timestamp_flag); flag(discontinuity_flag); From patchwork Tue Jan 17 22:23:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 40073 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1d43:b0:b8:6755:f97e with SMTP id cs3csp2201097pzb; Tue, 17 Jan 2023 14:23:47 -0800 (PST) X-Google-Smtp-Source: AMrXdXvOs6FA9wei69z1hzJAGrj6GmK903FjDHrUCJXzbG5nArbill9w79KaWNgEoYP9HXi4ouCD X-Received: by 2002:a17:907:a702:b0:842:3920:df75 with SMTP id vw2-20020a170907a70200b008423920df75mr4525715ejc.33.1673994226797; Tue, 17 Jan 2023 14:23:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673994226; cv=none; d=google.com; s=arc-20160816; b=PxNdRkvjtXoaE61BpRxf30+Xb8SZTsUyaXE+mF2Myo4iKsmYLg4Qt0wesOX5O1huz8 5cYAcFzWcYb7eBA6NqZJzkpcmyBxzNTrdEb9ZdeLMiyC1TQ4xCWaFDiVpuFcN9xLQyZt x90TpS8ybhFc7OEhan/veTGO4G+5pQevm7jbbAdLAcfR6ZS+zjChaZqK+Wd8JhWnyA3W qzPykfjUCzxLdIZyyV/OBI3tXLebHItNDpaewyqpotsSqXuuaczVlkjIvUY8PnLY19/N QSnhEWoTtCEiSv/bNJRyfRIqvKjTX+66iOh7fbKFve4fb7hvoJ41IIBt0r1Q7pi5I6T7 qrcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:in-reply-to:references:to:from:content-language :user-agent:mime-version:date:message-id:dkim-signature:delivered-to; bh=ymxM6U6PfFB5axn5Rhv2zwg2yTnGbYRiNTfjtrlA0mA=; b=Bdgb+DfXCkWKNfFR4Xyi0J1+vjf2LwyAJgYcqlC1MmGuJTTMR2DQTLOe6WChpT06x1 21aO9UWKy8D+7vv7o8afi+O05IE+0qr4x8HhdafpS4QQStWvZ1Ybwen0v9Ex3dGgi4aK 6EmotE/UlQMiSMux8aGfguTELqJQQGJ3QHwzyOlvToGCBnncIAsXMCW6J9TYrn55SuVn wgLAfekbkVlkIumNDLFnopOdAUIz/Zo4Ns0QAY/oMz8wx/+SpePfG+E3J5+3hsoRm2BK JUaJm6q3Ki5V9vm+jLdLkZeUkJg6DDkXzgdxEraAG+s4iTO+wx/fUGQh4dsqoHToQiPy vbow== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20210112.gappssmtp.com header.s=20210112 header.b=mzuNqIEA; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dt9-20020a170907728900b00872c9d863e9si3325751ejc.529.2023.01.17.14.23.46; Tue, 17 Jan 2023 14:23:46 -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=@jkqxz-net.20210112.gappssmtp.com header.s=20210112 header.b=mzuNqIEA; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E817868BEAC; Wed, 18 Jan 2023 00:23:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CE7F768BD22 for ; Wed, 18 Jan 2023 00:23:37 +0200 (EET) Received: by mail-wm1-f44.google.com with SMTP id g10so23401026wmo.1 for ; Tue, 17 Jan 2023 14:23:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=E8Ug+QEC34onSKv2KdkiSNXBRWifn0ddKRkgqV3X8l8=; b=mzuNqIEAekvTS9cD1NknqN0hVpSLcZg6fbq8V2buI/3CXdpvFWbXHreTur4Ss3jc2B 0IG+9Y1KpqDkgzE8VzyBgX1c83vXG9FqxgTJAf4CdXncMYqngir5T0Hab33ICUXaxKUs 94zI0SlqEw2ISB+rS6fuPrYRyUXtQmLSO9dI+qbXIJO/rm0vt3vx9uUnE3qrR8CVLYBy tdiMRqhcPdChfyMT9iRA78+v/4CmS24ZdIoTvYHAwlX0Idqo9IPPJ0RAN2S8PQjGsMLs r/Zwd4zN1vtXvHJGEuzDxMn0uEUBbgPkOYXhUOIrzZ228xS1SsCGf6q83VwYn4RbRE7j lMsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=E8Ug+QEC34onSKv2KdkiSNXBRWifn0ddKRkgqV3X8l8=; b=KwgcY4cwatUzRs7ivlPyKbr7cxFN4YT1FUDr7E6pZx0FHVPDFofzzBbITo8l5Z/nwt jKMhE9bUGAZg5dZuNT7H8rLkTQwJrvuGJJx2ODgd+V03Rr9fu6cdlxyyeBGdPQlz0xh5 eQXglsL3bBx2/P1bN6mjWoQlhnBHMje8S2GjDBiR+uNs3gEbK+nwDRpqkDXJBG8hSi0B IHzRk/k2jEvGdrJEBMmlrv6u6d0a+KqywBO4DALMxcw5UHbMSHD+adkBxIcNLFyNQFxV BT89NnkiNr6qJ8XE119Guh2jK7dAoYi9ijWc4MANNHsxPgN4WVIf8sBfeMUomCbOv+Am IXSQ== X-Gm-Message-State: AFqh2kp4L2IJ/G5wb/UO9pQAi6XGJ4OZhu1xQX0HDfCx+eKVu1IIdW/C wiGhHgIy1IK4CAy3CVKEWdZl8HSy3EVOhlTkCjg= X-Received: by 2002:a05:600c:2d84:b0:3d9:e8b3:57f9 with SMTP id i4-20020a05600c2d8400b003d9e8b357f9mr4743775wmg.8.1673994217210; Tue, 17 Jan 2023 14:23:37 -0800 (PST) Received: from [192.168.0.14] (cpc91224-cmbg18-2-0-cust209.5-4.cable.virginm.net. [81.106.228.210]) by smtp.gmail.com with ESMTPSA id p2-20020a05600c358200b003cffd3c3d6csm164933wmq.12.2023.01.17.14.23.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jan 2023 14:23:36 -0800 (PST) Message-ID: Date: Tue, 17 Jan 2023 22:23:22 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: <9f33d721-b3a5-dc8d-6048-4bc096d9abfe@jkqxz.net> In-Reply-To: <9f33d721-b3a5-dc8d-6048-4bc096d9abfe@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 2/2] cbs_av1: Don't reject unknown metadata 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: oTSPQDSS1C3Y Accept it and pass it through unchanged. The standard requires that decoders ignore unknown metadata, and indeed this is tested by some of the Argon coverage streams. --- Artificial test example: [trace_headers @ 0x5596dda6ed80] OBU header [trace_headers @ 0x5596dda6ed80] 0 obu_forbidden_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 1 obu_type 0101 = 5 [trace_headers @ 0x5596dda6ed80] 5 obu_extension_flag 0 = 0 [trace_headers @ 0x5596dda6ed80] 6 obu_has_size_field 1 = 1 [trace_headers @ 0x5596dda6ed80] 7 obu_reserved_1bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 8 leb128_byte[0] 00001101 = 13 [trace_headers @ 0x5596dda6ed80] 8 obu_size = 13 [trace_headers @ 0x5596dda6ed80] 16 leb128_byte[0] 00101010 = 42 [trace_headers @ 0x5596dda6ed80] 16 metadata_type = 42 [trace_headers @ 0x5596dda6ed80] Unknown Metadata [trace_headers @ 0x5596dda6ed80] 24 payload[0] 00000000 = 0 [trace_headers @ 0x5596dda6ed80] 32 payload[1] 00000001 = 1 [trace_headers @ 0x5596dda6ed80] 40 payload[2] 00000010 = 2 [trace_headers @ 0x5596dda6ed80] 48 payload[3] 00000011 = 3 [trace_headers @ 0x5596dda6ed80] 56 payload[4] 00000100 = 4 [trace_headers @ 0x5596dda6ed80] 64 payload[5] 00000101 = 5 [trace_headers @ 0x5596dda6ed80] 72 payload[6] 00000110 = 6 [trace_headers @ 0x5596dda6ed80] 80 payload[7] 00000111 = 7 [trace_headers @ 0x5596dda6ed80] 88 payload[8] 00001000 = 8 [trace_headers @ 0x5596dda6ed80] 96 payload[9] 00001001 = 9 [trace_headers @ 0x5596dda6ed80] 104 payload[10] 00001010 = 10 [trace_headers @ 0x5596dda6ed80] 112 trailing_one_bit 1 = 1 [trace_headers @ 0x5596dda6ed80] 113 trailing_zero_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 114 trailing_zero_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 115 trailing_zero_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 116 trailing_zero_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 117 trailing_zero_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 118 trailing_zero_bit 0 = 0 [trace_headers @ 0x5596dda6ed80] 119 trailing_zero_bit 0 = 0 libavcodec/cbs_av1.c | 7 +++++++ libavcodec/cbs_av1.h | 7 +++++++ libavcodec/cbs_av1_syntax_template.c | 26 ++++++++++++++++++++++++-- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c index 45e1288a51..8788fee099 100644 --- a/libavcodec/cbs_av1.c +++ b/libavcodec/cbs_av1.c @@ -1306,9 +1306,16 @@ static void cbs_av1_free_metadata(void *unit, uint8_t *content) md = &obu->obu.metadata; switch (md->metadata_type) { + case AV1_METADATA_TYPE_HDR_CLL: + case AV1_METADATA_TYPE_HDR_MDCV: + case AV1_METADATA_TYPE_SCALABILITY: + case AV1_METADATA_TYPE_TIMECODE: + break; case AV1_METADATA_TYPE_ITUT_T35: av_buffer_unref(&md->metadata.itut_t35.payload_ref); break; + default: + av_buffer_unref(&md->metadata.unknown.payload_ref); } av_free(content); } diff --git a/libavcodec/cbs_av1.h b/libavcodec/cbs_av1.h index 1fc80dcfa0..36848d4410 100644 --- a/libavcodec/cbs_av1.h +++ b/libavcodec/cbs_av1.h @@ -370,6 +370,12 @@ typedef struct AV1RawMetadataTimecode { uint32_t time_offset_value; } AV1RawMetadataTimecode; +typedef struct AV1RawMetadataUnknown { + uint8_t *payload; + AVBufferRef *payload_ref; + size_t payload_size; +} AV1RawMetadataUnknown; + typedef struct AV1RawMetadata { uint64_t metadata_type; union { @@ -378,6 +384,7 @@ typedef struct AV1RawMetadata { AV1RawMetadataScalability scalability; AV1RawMetadataITUTT35 itut_t35; AV1RawMetadataTimecode timecode; + AV1RawMetadataUnknown unknown; } metadata; } AV1RawMetadata; diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c index 46f4c5a6b8..3cab02bdd9 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -2007,6 +2007,29 @@ static int FUNC(metadata_timecode)(CodedBitstreamContext *ctx, RWContext *rw, return 0; } +static int FUNC(metadata_unknown)(CodedBitstreamContext *ctx, RWContext *rw, + AV1RawMetadataUnknown *current) +{ + int err; + size_t i; + + HEADER("Unknown Metadata"); + +#ifdef READ + current->payload_size = cbs_av1_get_payload_bytes_left(rw); + + current->payload_ref = av_buffer_alloc(current->payload_size); + if (!current->payload_ref) + return AVERROR(ENOMEM); + current->payload = current->payload_ref->data; +#endif + + for (i = 0; i < current->payload_size; i++) + fbs(8, payload[i], 1, i); + + return 0; +} + static int FUNC(metadata_obu)(CodedBitstreamContext *ctx, RWContext *rw, AV1RawMetadata *current) { @@ -2031,8 +2054,7 @@ static int FUNC(metadata_obu)(CodedBitstreamContext *ctx, RWContext *rw, CHECK(FUNC(metadata_timecode)(ctx, rw, ¤t->metadata.timecode)); break; default: - // Unknown metadata type. - return AVERROR_PATCHWELCOME; + CHECK(FUNC(metadata_unknown)(ctx, rw, ¤t->metadata.unknown)); } return 0; From patchwork Wed Jan 18 20:35:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 40076 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3ca3:b0:b9:1511:ac2c with SMTP id b35csp402783pzj; Wed, 18 Jan 2023 12:35:59 -0800 (PST) X-Google-Smtp-Source: AMrXdXsAvzh5hc2y/TggjEVStPPQGSCgvFLw0p0JJ15JDmKBnB50Hl2ryPXW8E4q/yPjQkdesf+t X-Received: by 2002:a17:906:b78b:b0:877:60aa:7081 with SMTP id dt11-20020a170906b78b00b0087760aa7081mr3229654ejb.22.1674074159694; Wed, 18 Jan 2023 12:35:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674074159; cv=none; d=google.com; s=arc-20160816; b=FC/EHoZHnFDCPG4iZFUnnPePmAUh2ASo6eSqrOvwyLr1s66EcimJv0VMKgNE/65ExE xdnjUF7bgWF+4s/Rq4VJQN9NnF23ohk3w6Vg5XUjKuDUZl74+lcUTe5PGAWqcZ2PhuGv 6JSn/HMcaNd7tflejbEL5fjk7mwaslYqaGA6Tn/IWGVPE5xirjLCK235W9RFJVqPZyn5 861KUlyi1STy37nDof2Xxwmeb1xoeg8mAispFVRhQgvAPxWccRFC8cyoxV16r+JReBQ0 wyYEUekVhqnvYSOJeoqlM8a0GA85Ld2BsI4bCz3jh2Erc/xCRNCY6JH1uAR3LiOLSKf2 0bcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:in-reply-to:references:to:from:content-language :user-agent:mime-version:date:message-id:dkim-signature:delivered-to; bh=cZiMy2Y0ujrWEZ/EbIYh89MW2m2PlF3SgkvmZipKX1o=; b=dKwfNXPSbY7SBfj6YIfxzjwIcK4N2yTRhmDmL25qOI+hZBmYtYPRjIFkw9eX9IT3gG UpjLHrPKMaJXfduy2rf7MGaoIpxKUBRhjpJY+XpDW40sXkLqvUTEJhulqkyPNLlxMBxz SE3hREqG7bvKcsZBJwnvDlSJywATzyGN8ooFdYe1lxWecRHJ6YjOEGqCo8eEhqs5t3wb 4qsT8uSU0fKlX4bPMK5SLLPYHSG36zzTo8b0rCQ3vW5v6sVXCbmcZXp1fqMCMBs2FyDt CDWV+L14I+Kfit1ekb84X+ZYBjB5EbLELwLX3kQiu86+7/q9lIdKpXIzZ0zJRcqrJ4t0 9PDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20210112.gappssmtp.com header.s=20210112 header.b="uW/NqScH"; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qk9-20020a1709077f8900b0086f53c24d8esi13234829ejc.422.2023.01.18.12.35.58; Wed, 18 Jan 2023 12:35:59 -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=@jkqxz-net.20210112.gappssmtp.com header.s=20210112 header.b="uW/NqScH"; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83AEB680103; Wed, 18 Jan 2023 22:35:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7283B680103 for ; Wed, 18 Jan 2023 22:35:48 +0200 (EET) Received: by mail-wr1-f48.google.com with SMTP id r2so35184320wrv.7 for ; Wed, 18 Jan 2023 12:35:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Aqo3smCewNWnu1VjpzICLG5cv2H5wmif4Pg5tKYAzmU=; b=uW/NqScHGwLP5Xbzj0k4lf/jwGpqUyQwzZ5d4WfobdwB00dtmcOyOkWVJOrUPJdVoi XjW+1AkCSMST+TQtDe3wK4Y+QKfo+8RwY7aEzdX9n3OhGCqgT+zo6R0/DTMvmgsezrcz bw7HfI7xE9v+AM04Z7qCKKilVZKuUpVIuXeVehufBZlB5ZWerKwQeTDNqktx4zLv2Dr+ gFiw3fMIT/2lIHFL+OnI+eK/u9N/658jxEO13qyf0qBjGYeehBE2w8ydT6Yq2GaRaZUl YxgfaoUW/ELGdvUv886v2jycd54iAPTjnPJbp6pDdg1utuxx6r1bPp55jNeE6moshaKx LGVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Aqo3smCewNWnu1VjpzICLG5cv2H5wmif4Pg5tKYAzmU=; b=brXcSvhZtk7U+nIpTMw2npijWpqBZcgBonX2IdRSxAY+ZuJHxqSIXiPvFK53w9nAx4 In5Rw0dx6wbV/M2YktWm2Oc6D4slh3X6IGdCWfb+SXpfs4lT+MmaKn36+Dw0eaJBEVF9 7ELRRQ4HpPiFywkMpNlIhH7H8jHvBitCRYbHvJVEFVIJybQyfWzjKCvIiRzjReeHAE64 HeAZK4R5xmzr4OhBK9IS38zfhD9wIwf/LkAUz95+lLTKPyV8XV4siCpEHHfeBa+iICYf BmjDx4ThfrjdvjtEIf2tLWE4VgGtwhG7StYWrtvmMnSSV5Q4vKp05apVbc4p4Z2B6geM muOA== X-Gm-Message-State: AFqh2kqmDwjWFiVKu/+DZkRz6HCeJlREqpTJr5HrKz05BUc/mPyJeKUt jTz5pzfgzdZiLits/dYayYDJfFJz8C7W+/J7 X-Received: by 2002:a5d:62c7:0:b0:2bb:dbde:bde4 with SMTP id o7-20020a5d62c7000000b002bbdbdebde4mr6803004wrv.30.1674074147569; Wed, 18 Jan 2023 12:35:47 -0800 (PST) Received: from [192.168.0.14] (cpc91224-cmbg18-2-0-cust209.5-4.cable.virginm.net. [81.106.228.210]) by smtp.gmail.com with ESMTPSA id f2-20020adfdb42000000b0024274a5db0asm32118110wrj.2.2023.01.18.12.35.46 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Jan 2023 12:35:46 -0800 (PST) Message-ID: Date: Wed, 18 Jan 2023 20:35:32 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Content-Language: en-US From: Mark Thompson To: FFmpeg development discussions and patches References: <9f33d721-b3a5-dc8d-6048-4bc096d9abfe@jkqxz.net> In-Reply-To: <9f33d721-b3a5-dc8d-6048-4bc096d9abfe@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 3/2] cbs_av1: Remove constraint on MDCV luminance values 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ie3Bf+uREeg3 While desiring min to be less than max feels entirely sensible, unfortunately the standard does not actually have this requirement. --- Some of the Argon coverage streams test this. libavcodec/cbs_av1_syntax_template.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c index 3cab02bdd9..dc6724cb59 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -1866,11 +1866,8 @@ static int FUNC(metadata_hdr_mdcv)(CodedBitstreamContext *ctx, RWContext *rw, fb(16, white_point_chromaticity_x); fb(16, white_point_chromaticity_y); - fc(32, luminance_max, 1, MAX_UINT_BITS(32)); - // luminance_min must be lower than luminance_max. Convert luminance_max from - // 24.8 fixed point to 18.14 fixed point in order to compare them. - fc(32, luminance_min, 0, FFMIN(((uint64_t)current->luminance_max << 6) - 1, - MAX_UINT_BITS(32))); + fb(32, luminance_max); + fb(32, luminance_min); return 0; }