Re: [rtcweb] MTI Video Codec: a novel proposal

Gaelle Martin-Cocher <gmartincocher@blackberry.com> Wed, 12 November 2014 15:40 UTC

Return-Path: <gmartincocher@blackberry.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 382551A1AB2 for <rtcweb@ietfa.amsl.com>; Wed, 12 Nov 2014 07:40:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.493
X-Spam-Level:
X-Spam-Status: No, score=-2.493 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.594] autolearn=ham
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 rwjJO_z7qtdI for <rtcweb@ietfa.amsl.com>; Wed, 12 Nov 2014 07:40:40 -0800 (PST)
Received: from smtp-p01.blackberry.com (smtp-p01.blackberry.com [208.65.78.88]) by ietfa.amsl.com (Postfix) with ESMTP id D45F71A1A3B for <rtcweb@ietf.org>; Wed, 12 Nov 2014 07:40:39 -0800 (PST)
Received: from xct107cnc.rim.net ([10.65.161.207]) by mhs211cnc.rim.net with ESMTP/TLS/AES128-SHA; 12 Nov 2014 10:40:24 -0500
Received: from XMB111CNC.rim.net ([fe80::fcd6:cc6c:9e0b:25bc]) by XCT107CNC.rim.net ([fe80::b815:71ef:9f8f:e07c%16]) with mapi id 14.03.0174.001; Wed, 12 Nov 2014 10:40:23 -0500
From: Gaelle Martin-Cocher <gmartincocher@blackberry.com>
To: Randell Jesup <randell-ietf@jesup.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Thread-Topic: [rtcweb] MTI Video Codec: a novel proposal
Thread-Index: AQHP/ItBc8la/WTkdEq+gk4aCR6lE5xbaqcggACZwKCAAWPYgP//sW9g
Date: Wed, 12 Nov 2014 15:40:22 +0000
Message-ID: <92D0D52F3A63344CA478CF12DB0648AADF312D5B@XMB111CNC.rim.net>
References: <54601E19.8080203@nostrum.com> <92D0D52F3A63344CA478CF12DB0648AADF312676@XMB111CNC.rim.net> <5463719F.8010400@jesup.org>
In-Reply-To: <5463719F.8010400@jesup.org>
Accept-Language: fr-FR, en-CA, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.65.160.249]
Content-Type: multipart/alternative; boundary="_000_92D0D52F3A63344CA478CF12DB0648AADF312D5BXMB111CNCrimnet_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/hxqvgMI_UYwc9TXC9YB8ACocWBs
Subject: Re: [rtcweb] MTI Video Codec: a novel proposal
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Nov 2014 15:40:44 -0000

(gmc] Please see inline.

From: rtcweb [mailto:rtcweb-bounces@ietf.org] On Behalf Of Randell Jesup
Sent: Wednesday, November 12, 2014 9:42 AM
To: rtcweb@ietf.org
Subject: Re: [rtcweb] MTI Video Codec: a novel proposal

On 11/11/2014 5:41 PM, Gaelle Martin-Cocher wrote:

Thanks for the effort Adam.

Agreed.  This is an incredibly thorny issue due to politics, ideology, money, etc - almost none of which is technical, except in the ramifications of various not-clean-1-codec-MTI options, as mentioned somewhat here.  While I personally (this is the IETF) would prefer a pure VP8 MTI, I realize that isn't going to happen right now, and this may be (to steal a quote from B5) our last best hope for peace... I mean MTI.
[GMC] except that it does not mitigate any issues.
As an example, I can't think of a single good justification to implement two encoders. Can anyone elaborate?
Interop might not be in a better place if a number of WebRTC-compatible-endpoints-that-are-compatible-endpoints-but-by-one-codec are not implementing the same codec.



We would still prefer a single video MTI codec. That said, here is an alternative to/modification of the 'novel proposal' to try to mitigate the concerns.



When video interoperability is required, the following applies:

- All WebRTC endpoints SHOULD implement decoding for at least

   VP8 and H.264.



- In operating environments that expose a platform provided

   implementation of H.264, WebRTC endpoints MUST implement H.264

You assume "platform" codec implementations (H.264 and VP8) are inherently useful for WebRTC.  They often aren't.  You can include wiggle words about "usable" or "realtime", which helps but certainly makes the decision the domain of the implementing device/browser (to decide if it's usable).  I would extend this to must support both if they have "usable" platform-provided implementations.
[GMC] No that is not the assumption. The platform supplied  implementation would be "good enough" for many not for all endpoints. That is pretty clear. An endpoints that wishes to have its own implementation of a required codec would do it and would be willing to afford the additional cost implications.
The proposed requirement here does not mandate an endpoint to use the supplied platform codec implementation. It can chose to use it, or implement its own. This is about mitigating the concerns and cost to various actors.

Some device/OS vendors have released API to hardware supported codec (BlackBerry included). One of the goal is to offer codec access without additional cost to non-platform-native UA/browser/device/non-browser, hence maximizing interoperability for WebRTC endpoints. And without having multiple occurrences of codecs being loaded on the platform.

We should leverage this possibility as this becomes more widely available across platforms.

Agreed - but this can be easier said than done, especially on Android, and may require per-device/OS-version validation to use.
[GMC] I guess the (web) industry has demonstrated its willingness to support a variety of endpoints/actors by exposing platform codec implementations. APIs will evolve. Yes, it might takes time before we reach a perfect world.
The 'novel proposal' will not remove the need of per-device/OS version validation. Even in the 'novel proposal' some endpoints will leverage and use H264/VP8 codecs provided by a platform implementations to claim "H264/VP8 support".

Older OS's (Windows pre 8.x for example) don't have viable realtime H.264 codecs by default, and we haven't yet verified if the Win8 codec meets the WebRTC needs (though likely it does), and so far as I know it's software-only.  Others may not be available to applications (iOS? especially older iOS).
[GMC] this is true for VP8 too.  Hence the proposed "otherwise" requirements.


--

Randell Jesup -- rjesup a t mozilla d o t com