Re: [rtcweb] Camera rotation on mobile phones
Justin Uberti <juberti@google.com> Wed, 29 April 2015 19:31 UTC
Return-Path: <juberti@google.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 5AF4C1ACE54 for <rtcweb@ietfa.amsl.com>; Wed, 29 Apr 2015 12:31:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level:
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 iIiouuNxzhkX for <rtcweb@ietfa.amsl.com>; Wed, 29 Apr 2015 12:31:46 -0700 (PDT)
Received: from mail-ig0-x22c.google.com (mail-ig0-x22c.google.com [IPv6:2607:f8b0:4001:c05::22c]) (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 400F71ACE70 for <rtcweb@ietf.org>; Wed, 29 Apr 2015 12:31:46 -0700 (PDT)
Received: by iget9 with SMTP id t9so114041037ige.1 for <rtcweb@ietf.org>; Wed, 29 Apr 2015 12:31:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=Tqe9qbz1Dv6OUIECfmyO896F4d5y+axeoYZlX1zYHNA=; b=KUB2T87NnCQel5vHmI/3HEpczc2GgTpKWTZAn4hCGZ80HTeHR+fv3OAEpNLwl0UBb+ LTsil/HQIW/9ezhFGUhAu4o2EE7pdDwKWgV+hXDxU/cD+zvehsf6dyQ/xw8NLzYr/lLn 1eyF4TkHitnEkM3gbFwBXvLudxTAdcO4K3S0bIXQftOXaWg4oWxPdgIp12Icdx1phpsp R1KPLnbmRSisAb/nsP8DZTAfqoz4/RuZYCvxXK1pYJw5UQ2GvTougVUaRE4mhuHsyvja F/RFDDrL0P6Pvk/z8QYIWH5SGAcW8TbX8lCafCRH62yB8x+SdSCNSzs1A2nvdMZ2O86W M1XA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=Tqe9qbz1Dv6OUIECfmyO896F4d5y+axeoYZlX1zYHNA=; b=CPNkXKD1FmNNblDBwioNuryPPDx2gDf8yu1+tigr3y3wxLa6vhVduHk4njmQ/007wu bGRfuPLz1sGC06of4TAlERUbzah/B5fab2v171tOSFR7rFmld1nZkVgXJgrzWf+bS3AT PGqoLEqqVbK5DfyXae7Y6nR7slbDZMNjzzp/s3i8TIHAhgeQ5677MjYLBhUzFx/GBWeg x9TkKEs1Ph0aTaI8Ob8GYwOeq19fKZshMtpTYZax0WRWOuQTSHaXiFg89/ziCkhomjVI 7sq8r+7EACkNJ1HLaK333GPzEq4IusmOTwv7PZooY8R4ir53zl8erBqyVgD25NqAlruV oY6g==
X-Gm-Message-State: ALoCoQnR2ZBrNkICWd9DmntbS3mOlI06Xn3OVgtmrivk1cUxbBf3C8wPoLXNMmPlTuSixMEp/qga
X-Received: by 10.107.128.149 with SMTP id k21mr901392ioi.7.1430335905641; Wed, 29 Apr 2015 12:31:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.32.233 with HTTP; Wed, 29 Apr 2015 12:31:25 -0700 (PDT)
In-Reply-To: <553E01D7.6070600@gmail.com>
References: <52475369.9040107@gmail.com> <553E01D7.6070600@gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Wed, 29 Apr 2015 12:31:25 -0700
Message-ID: <CAOJ7v-1LB5MaDy2hzWvgWdWqe_8HYZzO44QCb2OZZT0CpEH0fg@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Content-Type: multipart/alternative; boundary="001a113f922490ed6b0514e2075b"
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/54wiwaHWN9dDnF5H_vcGhv0MBbM>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Camera rotation on mobile phones
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, 29 Apr 2015 19:31:49 -0000
CVO is part of the rtcweb-video requirements. On Mon, Apr 27, 2015 at 2:31 AM, Sergio Garcia Murillo < sergio.garcia.murillo@gmail.com> wrote: > Hi all, > > > I have just seen that Chrome 43 has added CVO as per my suggestion in the > message below > > > - > > Issue 4145 <https://code.google.com/p/webrtc/issues/detail?id=4145> > Added support for CVO (Coordination of video rotation) header extension in > webrtc. When both sides support CVO, device rotation will not cause a new > key-frame. > > https://code.google.com/p/webrtc/issues/detail?id=4145 > > I have always thought that it would be a nice addition to the WebRTC > requirements, especially in terms of mobile performance and user > experience (at least in theory). Would it be possible if anyone from the > Chrome team could share some feedback about it's usage in the real life? > > Best regards > Sergio > > > On 29/09/2013 0:08, Sergio Garcia Murillo wrote: > > Hi all, > > Currently, in order to keep image property displayed on the receiver side > if the sender rotates the phone (and the camera), it is needed that the > sender rotates the image from WxH to HxW so it is sent in upward position > over the wire. Also, if the receiver is a mobile phone and has it rotated, > it will have to rotate it again to match the current phone orientation. > > How about using Coordination of Video Orientation as in 3GPP TS 26.114 ( > http://www.3gpp.org/ftp/Specs/html-info/26114.htm)? > > Coordination of Video Orientation consists in signalling of the current > orientation of the image captured on the sender side to the receiver for > appropriate rendering and displaying. When CVO is succesfully negotiated it > shall be signalled by the MTSI client. The signalling of the CVO uses RTP > Header Extensions as specified in IETF RFC 5285 [95]. The one-byte form of > the header shall be used. CVO information for a 2 bit granularity of > Rotation (corresponding to urn:3gpp:video-orientation) is carried as a byte > formatted as follows: > > Bit# 7 6 5 > 4 3 2 1 0 > (LSB) > Definition 0 0 0 0 C > F R1 R0 > > With the following definitions: > > C = Camera: indicates the direction of the camera used for this video > stream. It can be used by the MTSI client in receiver to e.g. display the > received video differently depending on the source camera. > > 0: Front-facing camera, facing the user. If camera direction is > unknown by the sending MTSI client in the terminal then this is the default > value used. > > 1: Back-facing camera, facing away from the user. > > F = Flip: indicates a horizontal (left-right flip) mirror operation on the > video as sent on the link. > > 0: No flip operation. If the sending MTSI client in terminal does not > know if a horizontal mirror operation is necessary, then this is the > default value used. > > 1: Horizontal flip operation > > R1, R0 = Rotation: indicates the rotation of the video as transmitted on > the link. The receiver should rotate the video to compensate that rotation. > E.g. a 90° Counter Clockwise rotation should be compensated by the receiver > with a 90° Clockwise rotation prior to displaying. > > Table 7.2: Rotation signalling for 2 bit granularity > > R1 > > R0 > > Rotation of the video as sent on the link > > Rotation on the receiver before display > > 0 > > 0 > > 0° rotation > > None > > 0 > > 1 > > 90° Counter Clockwise (CCW) rotation or 270° Clockwise (CW) rotation > > 90° CW rotation > > 1 > > 0 > > 180° CCW rotation or 180° CW rotation > > 180° CW rotation > > 1 > > 1 > > 270° CCW rotation or 90° CW rotation > > 90° CCW rotation > > > > CVO information for a higher granularity of Rotation (corresponding to > urn:3GPP:video-orientation:6) is carried as a byte formatted as follows: > > Bit# 7 6 5 > 4 3 2 1 0 > (LSB) > Definition R5 R4 R3 R2 C > F R1 R0 > > where C and F are as defined above and the bits R5,R4,R3,R2,R1,R0 > represent the Rotation, which indicates the rotation of the video as > transmitted on the link. Table 7.3 describes the rotation to be applied by > the receiver based on the rotation bits. > > Table 7.3: Rotation signalling for 6 bit granularity > > R1 > > R0 > > R5 > > R4 > > R3 > > R2 > > Rotation of the video as sent on the link > > Rotation on the receiver before display > > 0 > > 0 > > 0 > > 0 > > 0 > > 0 > > 0° rotation > > None > > 0 > > 0 > > 0 > > 0 > > 0 > > 1 > > (360/64)° Counter Clockwise (CCW) rotation > > (360/64)° CW rotation > > 0 > > 0 > > 0 > > 0 > > 1 > > 0 > > (2*360/64)° CCW rotation > > (2*360/64)° CW rotation > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > *.* > > 1 > > 1 > > 1 > > 1 > > 1 > > 0 > > (62*360/64)° CCW rotation > > (2*360/64)° CCW rotation > > 1 > > 1 > > 1 > > 1 > > 1 > > 1 > > (63*360/64)° CCW rotation > > (360/64)° CCW rotation > > > Best regards > Sergio > > > > _______________________________________________ > rtcweb mailing list > rtcweb@ietf.org > https://www.ietf.org/mailman/listinfo/rtcweb > >
- [rtcweb] Camera rotation on mobile phones Sergio Garcia Murillo
- Re: [rtcweb] Camera rotation on mobile phones Sergio Garcia Murillo
- Re: [rtcweb] Camera rotation on mobile phones Justin Uberti
- Re: [rtcweb] Camera rotation on mobile phones Sergio Garcia Murillo