[rtcweb] Asymmetric codecs

"Mo Zanaty (mzanaty)" <mzanaty@cisco.com> Mon, 25 November 2013 02:11 UTC

Return-Path: <mzanaty@cisco.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com []) by ietfa.amsl.com (Postfix) with ESMTP id 68AB91AE3F3 for <rtcweb@ietfa.amsl.com>; Sun, 24 Nov 2013 18:11:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.601
X-Spam-Status: No, score=-12.601 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id shNYlHlP-aGp for <rtcweb@ietfa.amsl.com>; Sun, 24 Nov 2013 18:11:00 -0800 (PST)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com []) by ietfa.amsl.com (Postfix) with ESMTP id EDB0A1AE3E3 for <rtcweb@ietf.org>; Sun, 24 Nov 2013 18:10:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8737; q=dns/txt; s=iport; t=1385345439; x=1386555039; h=from:to:cc:subject:date:message-id:mime-version; bh=DljxyfHLBX2eO52qi+KlkJk0fj2UwSItb4g5zaAsdqU=; b=DrnJjXT4mRTnXEyeHTvjpa+cKs6HzjmbEphp6t4brmRCkSQoYPbys68K eYnETM21n+gBv7Bs+0bM4wy7jrM3ELg49K0s+Sti3YY82VqYUBllcSj50 3mdT+6kMeKZdmZYLr4GsEuf0vK4Elli89zUaqLJrDio5wWy4XZ1I2Jmud E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ap4GAEexklKtJXHB/2dsb2JhbABZgwc4U7NRiEyBHhZ0gix5EgFvEScEAQ0FCRKHVAMPDbQUDYgkjHiBPgEBT4Q6A5YpgWuBMIsqhTiDKIFxOQ
X-IronPort-AV: E=Sophos; i="4.93,765,1378857600"; d="scan'208,217"; a="287213775"
Received: from rcdn-core2-6.cisco.com ([]) by rcdn-iport-7.cisco.com with ESMTP; 25 Nov 2013 02:10:38 +0000
Received: from xhc-rcd-x11.cisco.com (xhc-rcd-x11.cisco.com []) by rcdn-core2-6.cisco.com (8.14.5/8.14.5) with ESMTP id rAP2Actc028056 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 25 Nov 2013 02:10:38 GMT
Received: from xmb-rcd-x14.cisco.com ([]) by xhc-rcd-x11.cisco.com ([]) with mapi id 14.03.0123.003; Sun, 24 Nov 2013 20:10:37 -0600
From: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>, Martin Thomson <martin.thomson@gmail.com>, "Paul Giralt (pgiralt)" <pgiralt@cisco.com>
Thread-Topic: Asymmetric codecs
Thread-Index: AQHO6YOHQHY8Un59WEC1K24yFUskgQ==
Date: Mon, 25 Nov 2013 02:10:37 +0000
Message-ID: <CEB676E0.1ED44%mzanaty@cisco.com>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_CEB676E01ED44mzanatyciscocom_"
MIME-Version: 1.0
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: [rtcweb] Asymmetric codecs
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: Mon, 25 Nov 2013 02:11:02 -0000

I started a draft on how to standardize support for asymmetric codecs back in September. The primary motivation was decoding H.264 and H.265 while only encoding H.264. A secondary motivation, for rtcweb, was decoding H.264 and VP8 while only encoding one of them, as Stefan mentioned. I thought it would be a trivial thing to write up by the Oct. 6 deadline for MTI proposals. The draft is still incomplete and unpublished because all solutions are ugly and overly complex for something so seemingly trivial, just like bundle and unified plan. I now sympathize with Christer and Adam for how they arrived at those (not exactly elegant) solutions, and agree with Martin that a pair of (bundled) m-lines is the most viable (although not exactly elegant) solution for asymmetric codecs.

RFC 4317 drafts originally included asymmetric codecs until they were removed in draft 02:

They were removed for fear of issues with shared ports:

Now that we (almost) have bundle, can we resurrect asymmetric codecs with separate sendonly and recvonly m-lines? Are folks ok with a dependency on bundle? I would be happy to complete a draft in that direction. (That is, a general mmusic draft on asymmetric codecs, not a rtcweb draft on MTI asymmetric codecs. I will move the discussion to mmusic after getting rtcweb opinions first.)

Some may consider this a bizarre corner case. However, for hardware codecs, it is the norm not the exception to have asymmetric encoder and decoder formats. Especially for new formats, which usually appear in hardware decoders well before hardware encoders are available. This happened for H.264, H.265, VP8, and virtually every popular codec format in virtually every popular chipset.


On 11/23/13, 9:09 AM, Christer Holmberg <christer.holmberg@ericsson.com> wrote:
Like some others, I think the must-decode-both-must-endcode-one alternative as such sounds interesting (whether it has any impact on the licence/IPR issues I'll leave to others to speak for). However, I have big concerns over the proposal to indicate sendrecv for a codec even if an entity is only able to receive/decode it. … Usage of unidirectional, sendonly/recvonly, m- line would of course solve this, and you might know that it is one option we are discussing in CLUE (for other reasons than MTI codec, though).

On 22 November 2013 16:20, Paul Giralt (pgiralt) <pgiralt@cisco.com> wrote:
I gave this as an example of a possible way to do it, but that means you need two separate m= lines - one for send and one for receive. Seems strange to do this for something that you really want to be a single bi-directional stream.

On 11/22/13, 8:03 PM, Martin Thomson <martin.thomson@gmail.com> wrote:
The bidirectional thing in O/A is the strange way to do things.  Two lines is pretty intuitive.