[payload] WGLC for draft-ietf-payload-vp8-03 ending March 1st

tom harper <tharper@logitech.com> Thu, 22 March 2012 16:20 UTC

Return-Path: <tharper@logitech.com>
X-Original-To: payload@ietfa.amsl.com
Delivered-To: payload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 541C921F8624 for <payload@ietfa.amsl.com>; Thu, 22 Mar 2012 09:20:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.299
X-Spam-Level:
X-Spam-Status: No, score=-6.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_26=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uviS3Y+hhEt8 for <payload@ietfa.amsl.com>; Thu, 22 Mar 2012 09:20:42 -0700 (PDT)
Received: from na3sys009aog120.obsmtp.com (na3sys009aog120.obsmtp.com [74.125.149.140]) by ietfa.amsl.com (Postfix) with ESMTP id 0B3BA21F8638 for <payload@ietf.org>; Thu, 22 Mar 2012 09:20:41 -0700 (PDT)
Received: from mail-gx0-f171.google.com ([209.85.161.171]) (using TLSv1) by na3sys009aob120.postini.com ([74.125.148.12]) with SMTP ID DSNKT2tRWS3iYBZMwoCuM4LESyxfyDzDKiVF@postini.com; Thu, 22 Mar 2012 09:20:42 PDT
Received: by mail-gx0-f171.google.com with SMTP id s5so3085176ggc.16 for <payload@ietf.org>; Thu, 22 Mar 2012 09:20:41 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:reply-to:user-agent:mime-version:to:subject :content-type:content-transfer-encoding:x-gm-message-state; bh=ZQmIXWjYydasEQiupfihue/5WQCG/O0K28Zfo6V2+WI=; b=SxCUXafVHDQVALeLK7HEQXJvY/M11d1tWaG0qu+whwwVG9qxfQVfQreV0rOc5jWi+R fR+tv378FPNth8y23q+rmRCNTVYM9f4Il8CDtWELLxHvstGEA3wTVs1K7gC0Zzp/cem4 ea6gsyGBQZItxbbS3yNSCWdDCwkqeOFJAWzItxil7p54TFSp3k2vU6Z/DbwJGfGh104x hYfKkl/FJwRCohDNril0WLPSAU2qNER3lGEaLzv7EeaTrlXnckFCNj7Vkg+OHqbFAm0h rGtgqSv8Nh/jTVKY99RCjKXA92OxbBBINiY/LU+iLd/HZoYVVc9uaZXlmpwAONfwzInD 9X5Q==
Received: by 10.68.217.97 with SMTP id ox1mr21592763pbc.81.1332433240956; Thu, 22 Mar 2012 09:20:40 -0700 (PDT)
Received: from [172.19.173.134] (c-76-126-8-251.hsd1.ca.comcast.net. [76.126.8.251]) by mx.google.com with ESMTPS id w10sm4078983pbb.20.2012.03.22.09.20.39 (version=SSLv3 cipher=OTHER); Thu, 22 Mar 2012 09:20:39 -0700 (PDT)
Message-ID: <4F6B5150.9030709@logitech.com>
Date: Thu, 22 Mar 2012 09:20:32 -0700
From: tom harper <tharper@logitech.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: payload@ietf.org
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQmItytao9ojCeIQoKUeIf4LvtSlfmiFgnhpeSTpJEuHc5J9EK4JjkZr9oizDxNVnorDa+jG
Subject: [payload] WGLC for draft-ietf-payload-vp8-03 ending March 1st
X-BeenThere: payload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: tharper@logitech.com
List-Id: Audio/Video Transport Payloads working group discussion list <payload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/payload>, <mailto:payload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/payload>
List-Post: <mailto:payload@ietf.org>
List-Help: <mailto:payload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/payload>, <mailto:payload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Mar 2012 16:20:43 -0000

Hi to all,

It looks like I am a little late to the party here.  However, after 
implementing the current VP8 payload RFC,  I would like to clarify some 
details regarding several of the bit fields in the rtp header before 
this is finalized.  Also, I have one question about the current data 
layout choice.

So first I want to discuss the current bit field usage intent.

My main use case for vp8 over rtp would involve making occasional use of 
the alt-ref and golden frames as references, in a similar manner to how 
LTR frames can be used in h264.  The method for determining if your 
frame actually references or updates a LTR in H264 is opaque and not 
addressed in rtp, but rather in the nalu header, and I was hoping that 
something similar could be avoided here such that it would be easier for 
a muxer/demuxer to know what sort of data is in the packet without 
having to delve too deeply into the specific codec.  I am also wondering 
if my usage can coexist with the temporal layers technique currently 
used within chrome, as it appears very similar in many manners below the 
surface.

So my first thought is that it should be possible to use TID & TL0PICIDX 
to signal if you are referencing an altref or golden frame- From the 
rfc, it states that I can set TID=0 and increment TL0PICIDX  whenever I 
send a frame that updates alt/gld.  Then when I reference an alt/gld, I 
would set TID = 0 and then just set the TLOPICIDX to the TL0PICIDX of 
the altref or golden frame id I am referencing.  In my case I don't want 
to send TL0PICIDX  with every base layer frame, only ones I care about 
referencing later.  It isn't called out as required that I increment 
TL0PICIDX when TID it isn't sent, and for my use I would rather not send 
it all the time.  If this usage will break something in terms of what it 
was intended to do it would be good to clarify this area more.

Alternately, to support my use case, I could just avoid using TLOPICIDX 
altogether and just use the existence of the rotating KEYIDX when I have 
a frame that references a golden or altref.  This method is not ideal 
because of lacking a reference Id, the two sides could theoretically be 
out of synch due to lost back channel messages.  Second, the rules 
surrounding KEYIDX update are not identified with absolute certainty so 
my usage would theoretically be non-interoperable.  It seems like I 
could just include it and increment it whenever I have a key frame or a 
frame that references a previous good frame, and not include it 
otherwise.  This usage isn't explicit, so it seems that some 
clarification around KEYIDX usage would be good.

The last point I was hoping to clarify was surrounding the header bit 
fields.  Given the late date, I would guess that the fields are past the 
point of discussion, but I am wondering why the TID/Y fields weren't put 
into the RSV bit space? For temporal layering this would allow for the 
last octet to be skipped most of the time, as the current specification 
doesn't require that the KEYIDX always be sent.  In the most recent 
chrome/rtc code I noted that KEYIDX was always set to 0, so it seems 
only beneficial to drop it.  A RSV 3 bit space could just be moved to 
coexist with KEYIDX instead.   Alternately, you could also increase the 
size of KEYIDX to make it more useful.  It seems a minor point I guess 
but why send an extra byte all the time when it isn't needed?

Proposal Data layout:
+-+-+-+-+-+-+-+-+
|X|R|N|S|PartID | (REQUIRED)
+-+-+-+-+-+-+-+-+
X: |I|L|T|K|TID|Y|R (OPTIONAL)
+-+-+-+-+-+-+-+-+
I: | PictureID | (OPTIONAL)
+-+-+-+-+-+-+-+-+
L: | TL0PICIDX | (OPTIONAL)
+-+-+-+-+-+-+-+-+
K:RSV|  KEYIDX       | (OPTIONAL)
+-+-+-+-+-+-+-+-+

Thanks for your consideration,

Tom