Re: [Gen-art] Genart early review of draft-ietf-cellar-ffv1-03

"Matthew A. Miller" <linuxwolf+ietf@outer-planes.net> Fri, 06 July 2018 17:50 UTC

Return-Path: <linuxwolf+ietf@outer-planes.net>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE350129C6A for <gen-art@ietfa.amsl.com>; Fri, 6 Jul 2018 10:50:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=outer-planes-net.20150623.gappssmtp.com
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 PaolyKlqWkBX for <gen-art@ietfa.amsl.com>; Fri, 6 Jul 2018 10:50:40 -0700 (PDT)
Received: from mail-oi0-x243.google.com (mail-oi0-x243.google.com [IPv6:2607:f8b0:4003:c06::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E60DC130E52 for <gen-art@ietf.org>; Fri, 6 Jul 2018 10:50:39 -0700 (PDT)
Received: by mail-oi0-x243.google.com with SMTP id i12-v6so24968306oik.2 for <gen-art@ietf.org>; Fri, 06 Jul 2018 10:50:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outer-planes-net.20150623.gappssmtp.com; s=20150623; h=sender:subject:to:cc:references:from:openpgp:autocrypt:message-id :date:user-agent:mime-version:in-reply-to; bh=74xlgS7T4SV3piyy/e1HiZUrCe8ab41U2JiJMO3w6Ts=; b=Q+VavmZzLH0pepmFA1himcD6K6uzN+cMw70R7B1y5C3dBbvMTslVLBT+U7bnfRasML LsuIkK/uNas5KpTrnSF8+8/erUF9qb6+Q6jCXkJ8To9t4jpFD/vqRaFlwv8FDeQf6uAJ +Crw3x5M4JNYXXZ7f/WBuMSjCdOalYLVVijmWVzH75N2xef00XM8tzWRQ2w9qXQbEBUv v8L6ejocTbIhwvJfAs4hhrcA1uk2MDJnUumOjPScSAIZH6Xp5S/Kttw7FNeq+hBJiLQm qHB0c+1Gym8Swe8xiqRSZnZbOx0olRIavLJOQnbvErbMxXQwO3kK70TJnzWyzKm/hMuJ vUCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:openpgp :autocrypt:message-id:date:user-agent:mime-version:in-reply-to; bh=74xlgS7T4SV3piyy/e1HiZUrCe8ab41U2JiJMO3w6Ts=; b=W/PQ/mmaaynhrQrMGZNQIXRYkoYZDBr7CxEuXxYSi8TzUto43o7ltzmb8lGyir5HtV +C6+5kjHc0ytkYlFzY2PB7gmWZ+Y7/QC5D6nTCyrhFNaZf8a5TFp1ZWvRpF6KjrdW9p+ YpTDtg7gZB3QzrjXGzgCh23R5sz8DiflecRCYOH7FAmpl6jWv8zhocjfzZHnDCwBQD5i XwMceE0s1K7EqI5dtI9L5sEhKAPPRmNXvtOOGOJLKr7KbSp++bjUm/N87Bx1PdScclQs Jsez4m3bw/EMHDO+Zw1Jx8mKtBQPPxqZ8jWW23RsRWnZS/XvBEKFGyXEMOfd3TGx6oV2 0u4w==
X-Gm-Message-State: APt69E2xycKDf+WYOBN2cokdovfoKCZF1QS5edxIgzuNjJy3EPRHsn+N WJJhY07FcgE0zULPvpm24ej8eA==
X-Google-Smtp-Source: AAOMgpfRupIIYjbTt2dVxUAAEJ22PtL6EE0pndUEzER2F771kquxAcEjGmg1o/7YnMiahuNhvLR4IQ==
X-Received: by 2002:aca:4455:: with SMTP id r82-v6mr7062027oia.260.1530899439128; Fri, 06 Jul 2018 10:50:39 -0700 (PDT)
Received: from [10.6.21.160] ([128.177.113.102]) by smtp.gmail.com with ESMTPSA id v85-v6sm1782134oie.57.2018.07.06.10.50.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Jul 2018 10:50:38 -0700 (PDT)
Sender: Matthew Miller <linuxwolf@outer-planes.net>
To: Dave Rice <dave@dericed.com>
Cc: gen-art@ietf.org, draft-ietf-cellar-ffv1.all@ietf.org, cellar@ietf.org
References: <153082443369.26281.17163340643478720739@ietfa.amsl.com> <4016F335-7C19-4F25-AED8-B4A97E0F3A97@dericed.com>
From: "Matthew A. Miller" <linuxwolf+ietf@outer-planes.net>
Openpgp: preference=signencrypt
Autocrypt: addr=linuxwolf+ietf@outer-planes.net; prefer-encrypt=mutual; keydata= xsBNBFJoAooBCADQmEtpbpY/4wTeKgZIuyG7HkxIFgiUeqOvtiBKj/pCA73d7Q5hCvQdGcKJ 6uZsYz3Il9oKoKFxVt90iEXspbE39g6ek19e6RsB4j0Q10l4QvH+EqeD760gs0H2yf/eYj9i uk9/VY6axdQlPsmid1zoQgCNjSM7X4/K26WGMs03sbXJpKdoonelzIlJSNfzi0q546iplo72 D2cCm9BriMkQvcGnsm4B9eBIBn3GKmVx1tsmPNeNTyun2DvaLnrYxbA0Ivo1DzZReds9NZ25 uROI/+b+lcg9/kmHzhK+q8NMQCFWmqpS/lZRKxVBSijKGpGr5h8VLVf5iURHtwG+B/QxABEB AAHNLk1hdHRoZXcgQS4gTWlsbGVyIDxsaW51eHdvbGZAb3V0ZXItcGxhbmVzLm5ldD7CwIAE EwEKACoCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AFCQvHJDEFAlirCeQCGQEACgkQ7PRy ThCeBbt+sAgAzUQokr+f+ArieIrv2JkiQLqiBaZX29Aph9YwG3OPLWSdESEKkFOSJT0LWbsC cAKHLrVfgl2+6iPhf4OOacTdqK7wS6vruPZC1ChdO7NZTgbVa0hP/Q/QKEoaMGNdfc1/lgxY 5kwh+bvGIF1+HyadytgCBBHxdVEhYI7G3ejKqA8iVwri1VW0Wjp8iWdjpF74swIHhid5GcAu 6VJgVNJw3P+WkTkNrkd2tx5yUfNXQuGyFhxwlpiuaOpIk3p74P6e8h/riMpkJ5mIH/ryGTH7 qxpEIuep2bLQZmGwBen8kf3MO/VbiA/NMY6OHdc93EBKr0g7n2BA5uFLdy79FqAA3M7ATQRS aAKKAQgAwP67h8GJUO6XYyWOrcJGXDJnnZEDS+q+bTQXkJMFa74rVIx0yioqY8QdpBJFGaMT 4DCNYe/3pw61ZTDDKqukSCfOh/ssdd8zSGTQZSX5lR4B4+00/LKWugP6iHHHYiETbBVb5bxc aR/LE41Wx3z2HsW3TkeZB6WVk82MTclS1zCuY3p9AeCvr424BSQL7KC38y2eQc95G+nabsVD c6oQ8oZOf1D2giBb2VgbYkSppKj8BKvBtmjCauWeEq/AkZKaDAdua8Qj0vEfgcoh8aavlPJi rqj1YNSyc3AO4R5prPGgTepcUpW8ip8xIPAFoJXfuvsZSV7uVP36gwApU4+ZnwARAQABwsB8 BBgBCgAmAhsMFiEEMddYjeyQaQ1rzJjg7PRyThCeBbsFAlpvpIsFCQvLWoEACgkQ7PRyThCe BbuNHAf/cchJ7kHoIr5i+jgVRuR71AGlxlMbVolnS5tza3bi9Ie63LRdOtMUE3pDUQo25cWd cP7pzwwRBCDD2GxfIuyMCWaES0xtQdTIyNOAFFOtBtCFOrsNEk+iLAu6GBr4QzSQKW1QW4/b vcfpM2pLQn7Zd6naUioEYfTHCMmYHr7hQXaPNEQ7V/J4pLVAN8bHyVgQ9ciQN91DUs6jnueM BUW7DNvuHq0RDzA+ufYdpQAjwl4z1v+rnJ79P3HTxfFdiTTAk9MjyVQklHxS067cmLYkSOku dnCOHhDmSFwkKd9EwOBNuztpjCzmM5SgOT+U/iHH+IM/Hv6bjVCiAQ5WOihe6Q==
Message-ID: <31b43c76-1c3f-a669-fc1d-9f08999cebf3@outer-planes.net>
Date: Fri, 06 Jul 2018 11:50:37 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <4016F335-7C19-4F25-AED8-B4A97E0F3A97@dericed.com>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="3u1ditHKoHblvT2tUoxlmJIBmJaPvscYq"
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/yhKBBFrawv1FwXe7VtxVOYMvY-4>
Subject: Re: [Gen-art] Genart early review of draft-ietf-cellar-ffv1-03
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Jul 2018 17:50:44 -0000

Thanks Dave for the quick work!  I've read through the PR and commits
you provided, and think it will be in much better shape.  I look forward
to reviewing the next published revision.

I've made contextual responses below to outstanding questions.

On 18/07/06 09:23, Dave Rice wrote:
> Hi,
> Thank you Matthew for this detailed review. Here are my comments related
> to a PR at https://github.com/FFmpeg/FFV1/pull/119 which responds to
> some of these comments. Other comments below may require more discussion.
> 
>> On Jul 5, 2018, at 5:00 PM, Matthew Miller
>> <linuxwolf+ietf@outer-planes.net
>> <mailto:linuxwolf+ietf@outer-planes.net>> wrote:
>>
>> Reviewer: Matthew Miller
>> Review result: On the Right Track
>>
>> I am the assigned Gen-ART reviewer for this draft. The General Area
>> Review Team (Gen-ART) reviews all IETF documents being processed
>> by the IESG for the IETF Chair.  Please treat these comments just
>> like any other last call comments.
>>
>> For more information, please see the FAQ at
>>
>> <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
>>
>> Document: draft-ietf-cellar-ffv1-03
>> Reviewer: Matthew A. Miller
>> Review Date: 2018-07-05
>> IETF LC End Date: N/A
>> IESG Telechat date: N/A
>>
>> Summary:
>>
>> This document is moving in the right direction, but needs
>> work.  Overall, the document feels unfinished.  It's clear
>> a lot of work has gone into this, and there's been tremendous
>> effort put into the details.  However, it's lacking some
>> clarity, that was present in older revisions that were removed;
>> speculatively is it due to more generic coverage that
>> later revisions covered?
> 
> I’m not sure I understand as it hasn’t seemed like many parts have been
> removed during the drafting work. Could you provide an example?
> 

When I first opened this document, I felt overwhelmed by some of the
terminology and unclear on what the structure/architecture was, so I did
some spelunking.  It's largely why I took my review is five days late
despite having 30 days to get through it (that, and I still
procrastinated some in the middle).

I went all the way back to versions prior to WG adoption and saw there
were some additional prose throughout; although it seemed the earlier
revisions were more restricted in what could be represented in FFV1 than
the current document allows, it helped me better understand.

I apologize for not taking more detailed note of which sections in those
previous revisions helped me the most, but I can try to do that.
However, I think the additions and reorganization in the PR goes a long
way to helping already.

>> The introduction is quite helpful in answering the inevitable
>> question "What is a FFV1?".  For the most part, the flow of
>> the document seems to make sense.
>>
>> Major issues:
>>
>> I can understand relying on pseudo-code for something very math-
>> and/or algorithm-heavy, but some prose would be quite helpful in
>> understanding how and why the parts relate to one another.  The
>> Definitions section is essentially what I would look for, but only
>> accounts for some of the terms used within the rest of the
>> document.  As written, this document depends entirely on the
>> reader being intimately familiar with the subject matter.
> 
> This has been discussed before and I’ve appreciated how some other IETF
> documents which include pseudo-code include an “as read” narrative
> version of the code as well. I think there may have been some concern of
> any risk of discrepancy between what the pseudo-code and the narrative
> of the pseudo-code communicate. If anyone know some boilerplate for
> managing this, please share.
> 

My experience has been that (pseud-)code is great to cover the details,
but the overall forest can get lost reading each tree.  I think the
additional terms added plus some of the reorganizing addresses this
concern, but I'd need to re-read the document with all the changes to be
sure.

>> Minor issues:
>>
>> * Please consider moving the text of Section 2.2.6. "Pseudo-code"
>> up a level to 2.2. "Conventions" or as the first sub-section under
>> 2.2. "Conventions".  This points seems to me to warrant more
>> significance than it currently has.
> 
> I started a pull request at https://github.com/FFmpeg/FFV1/pull/119 and
> moved this section.
> 
>> * In reading this, I wondered if it would help improve the
>> understanding of this document if Sections 3. and 4. swapped
>> places.  I think it's worth considering, but accept this
>> suggestion could be rejected.
> 
> I reviewed these sections and feel hesitant swapping the order outright.
> Any other comments from cellar on this proposal?
> 

I personally felt I had a better grasp of the document after reading
Section 4 and re-reading Section 3.  If such a big change is too much,
think it might be possible to expand the introduction or background a
bit to restate/duplicate some of the high-level structure; e.g., how
Containers, Frames, and Slices fit together.

>> * Please consider moving Section 4.8. "Parameters" to immediately
>> proceed from Section 4.1. "Configuration Record".  I think it
>> would help with understanding the document.
> 
> I agree. I moved it in the pull request.
> 
>> * Please consider moving the ASCII diagram of a Frame from
>> Section 9.1.1. "Multi-threading support and independence of slices"
>> to Section 4.2. "Frame”.
> 
> I agree. I moved it in the pull request.
> 
>> Nits/editorial comments:
>>
>> * In Section 2.1. "Definitions", a short description of what a
>> "Frame" and "Slice" are conceptually would be very helpful.
> 
> I agree. I moved it in the pull request. Comments welcome on these
> definitions:
> 
> `Frame`: An encoded representation of a complete static image.
> 
> `Slice`: A spatial sub-section of a `Frame` that is encoded separately
> from an other region of the same frame.
> 
>> * In Section 2.2.4. "Mathematical functions", the definition of
>> "ceil(a)"" appears to be a copy from "floor(a)"; I would suggest:
>>
>>   """
>>   ceil(a) the smallest integer greater than or equal to a
>>   “""
> 
> Already fixed
> in https://github.com/FFmpeg/FFV1/commit/a6191aae2beb29879ac7f82530fa92a950f8a4bb.
> 
>> * In Section 2.2.6. "Pseudo-code", the word "as" ought to be
>> "and" in "as uses its”.
> 
> Fixed in PR.
> 
>> * The first use of "JEP2000-RCT" (in Section 3.3.) is not
>> immediately followed with its reference.
> 
> I added the reference to the first use in the PR.
> 
>> * In Section 3.7.2. "RGB", there is a paragraph that is solely
>> ""[ISO.15444-1.2016]"", almost as if it's a reference that was
>> meant a section heading.
> 
> Fixed
> in https://github.com/FFmpeg/FFV1/commit/8b6304ebf25764b5d2820497be1ad90ebadc624f.
> 
>> * In Section 3.8.1. "Range coding mode", there appears to be some
>> odd formatting with "_G. Nigel_ and "N. Martin_"; is this an
>> attempt to italicize?
> 
> Removed in PR.
> 
>> * Most of the subsection contents with Section 4. seem to have
>> extraneous newlines (e.g., 4.1.1. "reserved_for_future_use”).
> 
> I suggest some discussion on this. I remember that it was discussed by
> not resolved. See https://github.com/FFmpeg/FFV1/pull/85.
> 

I read the commentary from that PR, and appreciate the argument.  I'm
also anticipating the RFC Editor coming back with proposed changes that
better match their conventions.

If I may suggest after read the PR comments, taking the current line
breaks and treating them as paragraphs seems like a reasonable editorial
change to me that appears to align with the comments.

>> * In Section 4.4.9. "sar_den", the text is identical to the
>> preceding section.  I think this is meant to be the denominator
>> to complement "sar_num" as the numerator.
> 
> Thanks. Fixed in PR.
> 
>> * In Section 4.5.1. "primary_color_count", the pseudo-code is
>> inline with no quotes, which is inconsistent with the rest of the
>> document.
> 
> Thanks. Fixed in PR.
> 
>> * In Section 4.7.1. "slice_size", the "Note:" appears to be two
>> sentence fragments.  I think the following conveys the same
>> meaning:
>>
>>   """
>>   Note: this allows finding the start of slices before previous
>>   slices have been fully decoded, and allows parallel decoding as
>>   well as error resilience.
>>   “""
> 
> Thanks. Fixed in PR.
> 
>> * Section 11. "ToDo" still as one item remaining.
> 
> This is moved to a github issue.
> 
> Thanks again,
> Dave Rice
> 

And thank you,


- m&m

Matthew A. Miller