Re: [Cellar] Adding private elements to Matroska

Jerome Martinez <jerome@mediaarea.net> Sun, 15 April 2018 13:37 UTC

Return-Path: <jerome@mediaarea.net>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F2FF71200C5 for <cellar@ietfa.amsl.com>; Sun, 15 Apr 2018 06:37:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.502
X-Spam-Level:
X-Spam-Status: No, score=-0.502 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BA5rdARb0RYM for <cellar@ietfa.amsl.com>; Sun, 15 Apr 2018 06:37:57 -0700 (PDT)
Received: from 6.mo3.mail-out.ovh.net (6.mo3.mail-out.ovh.net [188.165.43.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 683151200A0 for <cellar@ietf.org>; Sun, 15 Apr 2018 06:37:57 -0700 (PDT)
Received: from player797.ha.ovh.net (unknown [10.109.122.97]) by mo3.mail-out.ovh.net (Postfix) with ESMTP id 3AFFD1B2514 for <cellar@ietf.org>; Sun, 15 Apr 2018 15:37:54 +0200 (CEST)
Received: from [192.168.2.120] (p5DDB6BF5.dip0.t-ipconnect.de [93.219.107.245]) (Authenticated sender: jerome@mediaarea.net) by player797.ha.ovh.net (Postfix) with ESMTPSA id 7E8292E0096 for <cellar@ietf.org>; Sun, 15 Apr 2018 15:37:52 +0200 (CEST)
To: cellar@ietf.org
References: <e9160711-ca2c-b690-f720-e7e3da42b1f5@mediaarea.net> <3318390e-0647-289d-d52b-e2c9678b24f7@gmx.ch> <CAHUoETKjOn2N1xRHPumGjp2DWNsi0RukcbERkdQ4B3Q1G9v74A@mail.gmail.com>
From: Jerome Martinez <jerome@mediaarea.net>
Message-ID: <96dcc36b-13c6-ee26-8f02-a4c2c30a3f21@mediaarea.net>
Date: Sun, 15 Apr 2018 15:37:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <CAHUoETKjOn2N1xRHPumGjp2DWNsi0RukcbERkdQ4B3Q1G9v74A@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-Ovh-Tracer-Id: 6174716564471222417
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: 0
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtgedrieeigdehlecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemuceftddtnecu
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/fKJxOG-hA2_tnKrKy_YQaOFMPJs>
Subject: Re: [Cellar] Adding private elements to Matroska
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Apr 2018 13:38:00 -0000

On 13/04/2018 21:27, Michael Bradshaw wrote:
> I concur with Martin. For this particular case, I don't think new 
> elements should be introduced just for RAWcooked. RAWcooked, could 
> instead add an attachment or tag that contains its needed metadata.

Current implementation of RAWcooked uses an attachment, this method has 
some advantages, e.g. can survive over a remux if attachment are copied, 
but also some drawbacks, e.g. all is in a single place (maxOccurs for 
"Attachments" element is 1) which may be a problem in some corner cases 
(redundancy, need to keep in memory or elsewhere all RAWcooked data 
before being able to store the file at the end of the encoding...).
As Tags element has no maxOccurs, I could use it for storing data 
corresponding to e.g. the previous cluster (Tags is at Segment level 
only), with a TagName having a "magic value" specific to my project (as 
I do with attachments right now) and TagBinary containing the 
corresponding data, but it is usable only at the Segment level, so not 
generic way to define private content in other Matroska elements.


> In general, I'm opposed to private elements in Matroska.

Even if the outcome for RAWcooked is to avoid to create Matroska 
elements, other projects may decide that this is the only solution for 
them, and if we (as people working on Matroska spec) don't define a way 
to store private elements, people may do as DivX did (if I remember 
well, DivX first decided to create some new Matroska elements, then 
Matroska people put them in spec in order to avoid so get collision), 
which is maybe not the way we want it.

Most modern formats have private elements (MPEG-TS has 
registration_format_identifier in descriptors for knowing what is used 
for table_id>=0x80,  AVC/HEVC uses "user_data_unregistered" in user_data 
followed by uuid_iso_iec_11578 for uniqueness, MP4/MOV uses "uuid" atom 
also followed by an UUID...), even AV1 is planning 
METADATA_TYPE_PRIVATE_DATA metadata type for storing private data, I 
guess it is not for nothing ;-), so I think that planning nothing for 
people wanting to store unspecified content is a good method, if we plan 
that Matroska is even more used that currently, so any company would be 
interested in storing private content as they do for years when they use 
a format.


> (...)