Re: [payload] VP8 payload, decoder processing capabilities

tom harper <tharper@logitech.com> Thu, 03 May 2012 05:15 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 ABB0721F85FC for <payload@ietfa.amsl.com>; Wed, 2 May 2012 22:15:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.999
X-Spam-Level:
X-Spam-Status: No, score=-5.999 tagged_above=-999 required=5 tests=[AWL=0.600, BAYES_00=-2.599, 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 ULbwheYov-nT for <payload@ietfa.amsl.com>; Wed, 2 May 2012 22:15:01 -0700 (PDT)
Received: from na3sys009aog131.obsmtp.com (na3sys009aog131.obsmtp.com [74.125.149.247]) by ietfa.amsl.com (Postfix) with ESMTP id 5B86721F85FF for <payload@ietf.org>; Wed, 2 May 2012 22:15:01 -0700 (PDT)
Received: from mail-pb0-f41.google.com ([209.85.160.41]) (using TLSv1) by na3sys009aob131.postini.com ([74.125.148.12]) with SMTP ID DSNKT6IUVNTIuIFioxBXg95ON3DYokZ/MEpv@postini.com; Wed, 02 May 2012 22:15:01 PDT
Received: by pbbrp2 with SMTP id rp2so1864514pbb.28 for <payload@ietf.org>; Wed, 02 May 2012 22:15:00 -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 :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=j6wakoTSX+xF8S4KmWBZ3UGFJIDraq2DG0/1lT5mwZI=; b=OAKLQP7b6XBbpqwSe3EQm9BMK1N4DmrXpJiNdY2raYmMfwm1WYrCk3URHW9YZnFd/m xC4rpj3q8fYCqQ9F61mgfn+WSf2ROeO8E+8YKmfpc9DZyRF+Z0IyRdc6cisQAdCcxGa9 hz1LHoDWP7PTZCgsqOwlQDvO4kuIZtcqkwXx4XN7TiIWREC4ECURFaTvH4GKN5uz+/zH 6xgvQMNlC6EiPAFMzWcRHtMygVyy4mwSmXQjU908/i1jftEjmHrW4y19qfPGCpRfUahn je9/YLKNfFVcP1b78gExiNlm9ksfInkIj6XAxF8zIdpWhIzsNGxHiC4fnEv988hgJrRP rUlA==
Received: by 10.68.225.104 with SMTP id rj8mr3692615pbc.135.1336022100237; Wed, 02 May 2012 22:15:00 -0700 (PDT)
Received: from [192.168.1.108] (c-76-126-8-251.hsd1.ca.comcast.net. [76.126.8.251]) by mx.google.com with ESMTPS id y3sm4123642pbh.59.2012.05.02.22.14.59 (version=SSLv3 cipher=OTHER); Wed, 02 May 2012 22:14:59 -0700 (PDT)
Message-ID: <4FA21442.8030002@logitech.com>
Date: Wed, 02 May 2012 22:14:42 -0700
From: tom harper <tharper@logitech.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: payload@ietf.org
References: <4F87D9B1.4000206@alvestrand.no> <CBB1D76E.85DD1%stewe@stewe.org><4f8d1296.e950b40a.7abe.4224@mx.google.com> <4F8D1FF0.5050002@logitech.com> <E1CBF4C7095A3D4CAAAEAD09FBB8E08C06D5FEF9@xmb-sjc-234.amer.cisco.com> <4F969A29.3040908@logitech.com> <4f970f96.634cb40a.7e67.ffff8a0e@mx.google.com> <5B1A263B43E389479AB3DAC1EAF0C8F5024458@SJEXCHMB12.corp.ad.broadcom.com> <1335303658.1928.3.camel@TesterTop4> <5B1A263B43E389479AB3DAC1EAF0C8F5025DC5@SJEXCHMB12.corp.ad.broadcom.com>
In-Reply-To: <5B1A263B43E389479AB3DAC1EAF0C8F5025DC5@SJEXCHMB12.corp.ad.broadcom.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Gm-Message-State: ALoCoQnVmBzcGpQpQfhWvqgAbWyrehdzwVUBEGYG6+HuWcWWDYwSTrYrM/DrE+4jM/kvJEsJVV3s
Subject: Re: [payload] VP8 payload, decoder processing capabilities
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, 03 May 2012 05:15:02 -0000

Has there been any follow up on this subject?  I have seen a great deal 
of tangential discussion on the rtcweb list, but I am wondering if that 
discussion changes what is done here?

It seemed like there was some consensus on this list about including 
max-mbps, max-fs, and max-fr type equivalents.  And possibly the number 
of partitions used or equivalent?

Regarding RFC 6236, it seems like so much of it is optional that it 
could just cause more interoperability problems than it could solve- but 
maybe I misinterpret the intent?  The syntax itself seems promising as 
an alternative- was any final decision made about whether it would work 
in this particular case?

Thanks!

Tom



On 4/25/2012 9:26 AM, Sandy (Alexander) MacInnis wrote:
> Thanks Olivier.
>
> I was hoping to hear from someone at Google about this.
>
> BTW, there might be a misunderstanding here. What I have in mind is that a sender would offer a stream indicating how many coefficient partitions that stream uses, along with the frame size and rate (or whatever alternative such as pixel rate or macroblock rate the group decides on). A receiver would be able to decide based on this information whether or not it can decode the stream. The receiver might need at least a certain number of coefficient partitions to be able to decode a stream with a certain frame size&  rate.
>
> Note 1: This does not apply to all receivers, but it might apply to some.
>
> Note 2: If the stream has more coefficient partitions than the receiver needs, that's not a problem, but if it has too few, that could potentially be a problem.
>
> In this scenario it doesn't matter whether the receiver's capability are static or dynamic; all that matters is that the receiver knows what its capabilities are at the time it decides whether or not it can decode the stream.
>
> If the concern is that the receiver's capability might be reduced after it starts to decode the stream, that opens a bigger issue that I was not trying to address. However, I don't think that concern applies to the specific question of how many coefficient partitions the stream has. If the receiver either requires a certain number of coefficient partitions initially, or anticipates that due to dynamic behavior it might require them in the future, it can use that information to decide whether or not to accept the stream. On the other hand, if the receiver might in the future require a smaller frame size&  rate stream after the stream has started, that's another matter altogether.
>
> --Sandy (Alexander) MacInnis
> Broadcom
>
>
> -----Original Message-----
> From: payload-bounces@ietf.org [mailto:payload-bounces@ietf.org] On Behalf Of Olivier Crête
> Sent: Tuesday, April 24, 2012 2:41 PM
> To: payload@ietf.org
> Subject: Re: [payload] VP8 payload, decoder processing capabilities
>
> On Tue, 2012-04-24 at 21:31 +0000, Sandy (Alexander) MacInnis wrote:
>> I have another question about this.
>>
>> Background:
>> In the VP8 bitstream spec, and in the payload draft, the use of multiple coefficient partitions is optional and not required.
>>
>> A VP8 decoder might use multi-threaded processing, such that it can achieve significantly greater throughput by decoding multiple coefficient partitions in parallel. Such a decoder might rely on the presence of a certain number of coefficient partitions in order to achieve a certain level of throughput.
>>
>> For example, some receiver might comprise a multi-threaded decoder that can decode 1920x1080p60 if the stream has at least four coefficient partitions, but if the stream has only one coefficient partition it might be limited to a significantly smaller product of frame size and frame rate.
>>
>> Question: With the current draft, how does a multi-threaded decoder know in advance how many coefficient partitions the stream uses, so it can decide whether it can decode a stream of a given frame size and frame rate? Or does this aspect not matter?
> I think the receiver should include all of that in its SDP, maybe
> something like: SamplesPerCoefficientPartition=X
> MaxParallelCoeffficientPartitions=Y
>
> That said, I'm concerned that all of this is a really static view of
> things, which is useful on a fixed device. But is completely pointless
> when writing software that runs on a general purpose computer (such as a
> desktop or a smartphone), in which case we want something more dynamic.
> So maybe all of this discussion is mostly pointless and we should push
> for a more dynamic solution (maybe some kind of RTCP feedback?)
>