diff options
author | Dale Curtis <dalecurtis@chromium.org> | 2015-06-03 10:29:53 -0700 |
---|---|---|
committer | Dale Curtis <dalecurtis@chromium.org> | 2015-06-03 17:31:48 +0000 |
commit | f0dd4b113adf2070a05ee50198225b52d5fcaff9 (patch) | |
tree | bd1e19130e50c4cb5f136363fc5c978c1ba253b9 | |
parent | 80021b1be403584979a226a37a8eadbd3d3616c4 (diff) | |
download | chromium_src-f0dd4b113adf2070a05ee50198225b52d5fcaff9.zip chromium_src-f0dd4b113adf2070a05ee50198225b52d5fcaff9.tar.gz chromium_src-f0dd4b113adf2070a05ee50198225b52d5fcaff9.tar.bz2 |
Merge to 2420: "Restore correct VideoFrame::BytesPerElement() calculation case for NV12."
A likely accidental removal of NV12 case from this method broke HW video decode
on CrOS ARM, as plane size calculations for NV12 were using incorrect
BytesPerElement result.
TBR=mcasas@chromium.org,dalecurtis@chromium.org
BUG=494912
TEST=video playback, apprtc
Review URL: https://codereview.chromium.org/1163973002
Cr-Commit-Position: refs/heads/master@{#332566}
(cherry picked from commit 0360c9825afe3740669d707cf75295b763cbcba4)
Review URL: https://codereview.chromium.org/1162993004
Cr-Commit-Position: refs/branch-heads/2420@{#3}
Cr-Branched-From: 39d27afab20c3f8559bde9207d8c0260cc94322d-refs/heads/master@{#332301}
-rw-r--r-- | media/base/video_frame.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/media/base/video_frame.cc b/media/base/video_frame.cc index 8e323a6..9575e7c 100644 --- a/media/base/video_frame.cc +++ b/media/base/video_frame.cc @@ -86,6 +86,12 @@ static int BytesPerElement(VideoFrame::Format format, size_t plane) { DCHECK(VideoFrame::IsValidPlane(plane, format)); if (format == VideoFrame::ARGB || format == VideoFrame::XRGB) return 4; + +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) + if (format == VideoFrame::NV12 && plane == VideoFrame::kUVPlane) + return 2; +#endif + return 1; } @@ -111,10 +117,11 @@ bool VideoFrame::IsYuvPlanar(Format format) { case YV16: case YV12A: case YV24: - return true; #if defined(OS_MACOSX) || defined(OS_CHROMEOS) case NV12: #endif + return true; + case UNKNOWN: case ARGB: case XRGB: |