Revert of Ignore Camera and Flip bits in CVO when parsing video rotation (patchset #3 id:80001 of https://codereview.webrtc.org/2280703002/ )

Reason for revert:
Breaks downstream build.

Original issue's description:
> Ignore Camera and Flip bits in CVO when parsing video rotation
>
> Currently, if WebRTC receives a CVO byte where the Camera or Flip bit is
> set, then rotation is incorrectly parsed as 0. This CL fixes that issue.
> The Camera and Flip bit is still unimplemented and will just be ignored
> though.
>
> BUG=webrtc:6120
> R=danilchap@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org
>
> Committed: https://chromium.googlesource.com/external/webrtc/+/f9e1b922ef3e0cbe70953dfb7a1d4cb2c44a49e3

TBR=pthatcher@webrtc.org,danilchap@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6120

Review-Url: https://codereview.webrtc.org/2300323002
Cr-Commit-Position: refs/heads/master@{#14035}
diff --git a/webrtc/DEPS b/webrtc/DEPS
index ffb67d1..41e0b71 100644
--- a/webrtc/DEPS
+++ b/webrtc/DEPS
@@ -13,7 +13,6 @@
   "+webrtc/call.h",
   "+webrtc/common.h",
   "+webrtc/common_types.h",
-  "+webrtc/common_video/rotation.h",
   "+webrtc/config.h",
   "+webrtc/engine_configurations.h",
   "+webrtc/transport.h",
diff --git a/webrtc/common_types.cc b/webrtc/common_types.cc
index 8f117e1..86e7813 100644
--- a/webrtc/common_types.cc
+++ b/webrtc/common_types.cc
@@ -27,7 +27,7 @@
       voiceActivity(false),
       audioLevel(0),
       hasVideoRotation(false),
-      videoRotation(kVideoRotation_0) {}
+      videoRotation(0) {}
 
 RTPHeader::RTPHeader()
     : markerBit(false),
diff --git a/webrtc/common_types.h b/webrtc/common_types.h
index cad748a..1ef5f91 100644
--- a/webrtc/common_types.h
+++ b/webrtc/common_types.h
@@ -18,7 +18,6 @@
 #include <string>
 #include <vector>
 
-#include "webrtc/common_video/rotation.h"
 #include "webrtc/typedefs.h"
 
 #if defined(_MSC_VER)
@@ -700,7 +699,7 @@
   // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/
   // ts_126114v120700p.pdf
   bool hasVideoRotation;
-  VideoRotation videoRotation;
+  uint8_t videoRotation;
 
   PlayoutDelay playout_delay = {-1, -1};
 };
diff --git a/webrtc/modules/rtp_rtcp/include/rtp_cvo.h b/webrtc/modules/rtp_rtcp/include/rtp_cvo.h
index b60b06e..5d5c995 100644
--- a/webrtc/modules/rtp_rtcp/include/rtp_cvo.h
+++ b/webrtc/modules/rtp_rtcp/include/rtp_cvo.h
@@ -34,10 +34,8 @@
   return 0;
 }
 
-inline VideoRotation ConvertCVOByteToVideoRotation(uint8_t cvo_byte) {
-  // CVO byte: |0 0 0 0 C F R R|.
-  const uint8_t rotation_bits = cvo_byte & 0x3;
-  switch (rotation_bits) {
+inline VideoRotation ConvertCVOByteToVideoRotation(uint8_t rotation) {
+  switch (rotation) {
     case 0:
       return kVideoRotation_0;
     case 1:
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc
index 6e65ed3..2d5dbf9 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc
@@ -177,7 +177,7 @@
 }
 
 bool VideoOrientation::Parse(const uint8_t* data, VideoRotation* rotation) {
-  *rotation = ConvertCVOByteToVideoRotation(data[0]);
+  *rotation = ConvertCVOByteToVideoRotation(data[0] & 0x03);
   return true;
 }
 
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc b/webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc
index 9f6d80a..7667c46 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc
@@ -94,8 +94,8 @@
 
   // Retrieve the video rotation information.
   if (rtp_header->header.extension.hasVideoRotation) {
-    rtp_header->type.Video.rotation =
-        rtp_header->header.extension.videoRotation;
+    rtp_header->type.Video.rotation = ConvertCVOByteToVideoRotation(
+        rtp_header->header.extension.videoRotation);
   }
 
   rtp_header->type.Video.playout_delay =
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
index b9f061a..e11bf1e 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -262,7 +262,8 @@
     EXPECT_EQ(rtp_sender_->SSRC(), rtp_header.ssrc);
     EXPECT_EQ(0, rtp_header.numCSRCs);
     EXPECT_EQ(0U, rtp_header.paddingLength);
-    EXPECT_EQ(rotation, rtp_header.extension.videoRotation);
+    EXPECT_EQ(ConvertVideoRotationToCVOByte(rotation),
+              rtp_header.extension.videoRotation);
   }
 };
 
@@ -576,7 +577,8 @@
   VerifyRTPHeaderCommon(rtp_header);
   EXPECT_EQ(length, rtp_header.headerLength);
   EXPECT_TRUE(rtp_header.extension.hasVideoRotation);
-  EXPECT_EQ(kRotation, rtp_header.extension.videoRotation);
+  EXPECT_EQ(ConvertVideoRotationToCVOByte(kRotation),
+            rtp_header.extension.videoRotation);
 }
 
 // Test CVO header extension is not set when marker bit is false.
@@ -1689,26 +1691,4 @@
       transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
       hdr.rotation);
 }
-
-// Make sure rotation is parsed correctly when the Camera (C) and Flip (F) bits
-// are set in the CVO byte.
-TEST_F(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) {
-  // Test extracting rotation when Camera (C) and Flip (F) bits are zero.
-  EXPECT_EQ(kVideoRotation_0, ConvertCVOByteToVideoRotation(0));
-  EXPECT_EQ(kVideoRotation_90, ConvertCVOByteToVideoRotation(1));
-  EXPECT_EQ(kVideoRotation_180, ConvertCVOByteToVideoRotation(2));
-  EXPECT_EQ(kVideoRotation_270, ConvertCVOByteToVideoRotation(3));
-  // Test extracting rotation when Camera (C) and Flip (F) bits are set.
-  const int flip_bit = 1 << 2;
-  const int camera_bit = 1 << 3;
-  EXPECT_EQ(kVideoRotation_0,
-            ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 0));
-  EXPECT_EQ(kVideoRotation_90,
-            ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 1));
-  EXPECT_EQ(kVideoRotation_180,
-            ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 2));
-  EXPECT_EQ(kVideoRotation_270,
-            ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 3));
-}
-
 }  // namespace webrtc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc
index 7dd5973..e38b3a3 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc
@@ -13,7 +13,6 @@
 #include <string.h>
 
 #include "webrtc/base/logging.h"
-#include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h"
 #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
 
 namespace webrtc {
@@ -247,7 +246,7 @@
 
   // May not be present in packet.
   header->extension.hasVideoRotation = false;
-  header->extension.videoRotation = kVideoRotation_0;
+  header->extension.videoRotation = 0;
 
   // May not be present in packet.
   header->extension.playout_delay.min_ms = -1;
@@ -398,8 +397,7 @@
           // |  ID   | len=0 |0 0 0 0 C F R R|
           // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           header->extension.hasVideoRotation = true;
-          header->extension.videoRotation =
-              ConvertCVOByteToVideoRotation(ptr[0]);
+          header->extension.videoRotation = ptr[0];
           break;
         }
         case kRtpExtensionTransportSequenceNumber: {
diff --git a/webrtc/sdk/DEPS b/webrtc/sdk/DEPS
index d6e53d5..16ef0f6 100644
--- a/webrtc/sdk/DEPS
+++ b/webrtc/sdk/DEPS
@@ -2,6 +2,7 @@
   "+WebRTC",
   "+webrtc/api",
   "+webrtc/common_video/include",
+  "+webrtc/common_video/rotation.h",
   "+webrtc/media",
   "+webrtc/system_wrappers",
 ]
diff --git a/webrtc/video/rtp_stream_receiver.cc b/webrtc/video/rtp_stream_receiver.cc
index 20acc06..d5b547f 100644
--- a/webrtc/video/rtp_stream_receiver.cc
+++ b/webrtc/video/rtp_stream_receiver.cc
@@ -443,7 +443,8 @@
   rtp_header.type.Video.codec = payload_specific.Video.videoCodecType;
   rtp_header.type.Video.rotation = kVideoRotation_0;
   if (header.extension.hasVideoRotation) {
-    rtp_header.type.Video.rotation = header.extension.videoRotation;
+    rtp_header.type.Video.rotation =
+        ConvertCVOByteToVideoRotation(header.extension.videoRotation);
   }
   rtp_header.type.Video.playout_delay = header.extension.playout_delay;