Re: [Cellar] I-D Action: draft-ietf-cellar-ffv1-15.txt

Dave Rice <dave@dericed.com> Thu, 25 June 2020 18:57 UTC

Return-Path: <dave@dericed.com>
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 B6F4B3A0FE1 for <cellar@ietfa.amsl.com>; Thu, 25 Jun 2020 11:57:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.119
X-Spam-Level:
X-Spam-Status: No, score=-1.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no 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 XPZf5FBsl7gt for <cellar@ietfa.amsl.com>; Thu, 25 Jun 2020 11:57:25 -0700 (PDT)
Received: from server172-5.web-hosting.com (server172-5.web-hosting.com [68.65.122.113]) (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 DDED23A0FDF for <cellar@ietf.org>; Thu, 25 Jun 2020 11:57:25 -0700 (PDT)
Received: from cpe-69-203-78-204.nyc.res.rr.com ([69.203.78.204]:50115 helo=[192.168.0.177]) by server172.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from <dave@dericed.com>) id 1joX3n-004H4W-ON; Thu, 25 Jun 2020 14:57:25 -0400
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
From: Dave Rice <dave@dericed.com>
In-Reply-To: <CAL0qLwZb97=_dw5sPO8pUC9WM2Of=AZUqRLL2jHPoP0fU3wMCA@mail.gmail.com>
Date: Thu, 25 Jun 2020 14:57:17 -0400
Cc: Jerome Martinez <jerome@mediaarea.net>, Codec Encoding for LossLess Archiving and Realtime transmission <cellar@ietf.org>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <062D9003-0466-4E12-B42E-2E88E3726A3E@dericed.com>
References: <159293956986.23437.659003564832844414@ietfa.amsl.com> <CAKKJt-csgcrjsekG8VDPNPUip3_4T1Nuv-1DSje2WkdsrjfxkA@mail.gmail.com> <CAL0qLwZugn7HZN6-QT6CYjuPV89q8Suz_Jujn92Jya6ez7gG3g@mail.gmail.com> <5eb696ba-3db5-aed1-80b8-bc92d604a721@mediaarea.net> <CAL0qLwZb97=_dw5sPO8pUC9WM2Of=AZUqRLL2jHPoP0fU3wMCA@mail.gmail.com>
To: "Murray S. Kucherawy" <superuser@gmail.com>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
X-OutGoing-Spam-Status: No, score=-0.2
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server172.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - dericed.com
X-Get-Message-Sender-Via: server172.web-hosting.com: authenticated_id: dave@dericed.com
X-Authenticated-Sender: server172.web-hosting.com: dave@dericed.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/Q5sokut2u83SnMrvOKrCLgv4m9k>
Subject: Re: [Cellar] I-D Action: draft-ietf-cellar-ffv1-15.txt
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 25 Jun 2020 18:57:28 -0000

> On Jun 25, 2020, at 1:31 PM, Murray S. Kucherawy <superuser@gmail.com> wrote:
> 
> On Thu, Jun 25, 2020 at 10:19 AM Jerome Martinez <jerome@mediaarea.net> wrote:
> On 25/06/2020 18:24, Murray S. Kucherawy wrote:
>> Hooray, most of those "type" columns are gone!  But, alas, not all of them.  They're still present in Sections 4.1 and below.  I counted at least seven of them just in the diff I'm reviewing.  As before, they should also be removed, or at least explained.
>> 
>> A minor point: Prior to Section 3.8.2.3, it looks like all of the examples are in C.  After that, they switch to pseudo code.  Any reason we can't be consistent?
> The figures before section 4 are autonomous functions, used for describing a part of the algorithm and not used for directly reading out any symbol from the bitstream, so it was making sense to remove the "type" column at these places (this column was not used there). They could be more pseudocode nonetheless, as the C types ("int" etc) are not really relevant (they depends on the programming language).
> 
> The figures in section 4 are for explaining the bitstream parsing order, and the "type" column is used for indicating the kind of value it is (types are described in https://tools..ietf.org/id/draft-ietf-cellar-ffv1-15.html#table-4 , I see that it is called "Symbol" here, we'll change "Symbol" to "Type" in this table).
> This kind of method for describing a video bitstream is very classic, for example in:
> - H.264, see the full spec (PDF to download) https://www.itu.int/rec/T-REC-H.264-201906-I/en
> - AV1, see an online direct example at https://aomediacodec.github.io/av1-spec/#frame-obu-syntax
> 
> As in theses specs, we have some figures without usage of the "type" column because they are intermediate figures (the "type" column is used in the figures using this figure and the figures called by this figure), split from another figure, in order to have the spec more readable (focusing on a specific topic). AV1 uses it for example at https://aomediacodec.github.io/av1-spec/#decode-tile-syntax
> 
> 
> Your previous AD and I were both confused by the format and what it's trying to convey.  I appreciate that it might be classic in some realms, but as neither of us had seen it, I imagine others on the IESG who don't work in our layers (i.e., most of them) will also ask about it.  If you want to leave them in, I suggest including either some text about how to interpret them, or a reference to such guidance elsewhere.

As a draft to try to address this, I added this paragraph and figure to Section 2.2.1 which describes the use of pseudo-code within the document:

>    In some instances, pseudo-code is presented in a two-column format
>    such as shown in Figure 1.  In this form the "type" column provides a
>    symbol as defined in Table 4 that defines the storage of the data
>    referenced in that same line of pseudo-code.
> 
>    pseudo-code                                                   | type
>    --------------------------------------------------------------|-----
>    ExamplePseudoCode( ) {                                        |
>        value                                                     | ur
>    }                                                             |
> 
>        Figure 1: A depiction of type-labelled pseduo-code used within
>                                this document.

This proposed change is at https://github.com/FFmpeg/FFV1/pull/217/files, comments/suggestions welcome.

Note that Section 4.8 of https://aomediacodec.github.io/av1-spec/#method-of-describing-bitstream-syntax uses a similar description for its own pseudo-code.

Dave