Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: media/base/video_frame.cc

Issue 430583005: Make VEA test support videos with different coded size and visible size (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address review comments of patch set 15 Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/video_frame.h" 5 #include "media/base/video_frame.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 bool VideoFrame::IsValidPlane(size_t plane, VideoFrame::Format format) { 738 bool VideoFrame::IsValidPlane(size_t plane, VideoFrame::Format format) {
739 return (plane < NumPlanes(format)); 739 return (plane < NumPlanes(format));
740 } 740 }
741 741
742 int VideoFrame::stride(size_t plane) const { 742 int VideoFrame::stride(size_t plane) const {
743 DCHECK(IsValidPlane(plane, format_)); 743 DCHECK(IsValidPlane(plane, format_));
744 return strides_[plane]; 744 return strides_[plane];
745 } 745 }
746 746
747 // static 747 // static
748 int VideoFrame::RowBytes(size_t plane, VideoFrame::Format format, int width) { 748 size_t VideoFrame::RowBytes(size_t plane, VideoFrame::Format format,
749 int width) {
749 DCHECK(IsValidPlane(plane, format)); 750 DCHECK(IsValidPlane(plane, format));
750 switch (format) { 751 switch (format) {
751 case VideoFrame::YV24: 752 case VideoFrame::YV24:
752 switch (plane) { 753 switch (plane) {
753 case kYPlane: 754 case kYPlane:
754 case kUPlane: 755 case kUPlane:
755 case kVPlane: 756 case kVPlane:
756 return width; 757 return width;
757 default: 758 default:
758 break; 759 break;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 } 803 }
803 NOTREACHED() << "Unsupported video frame format/plane: " << format << "/" 804 NOTREACHED() << "Unsupported video frame format/plane: " << format << "/"
804 << plane; 805 << plane;
805 return 0; 806 return 0;
806 } 807 }
807 808
808 int VideoFrame::row_bytes(size_t plane) const { 809 int VideoFrame::row_bytes(size_t plane) const {
809 return RowBytes(plane, format_, coded_size_.width()); 810 return RowBytes(plane, format_, coded_size_.width());
810 } 811 }
811 812
812 int VideoFrame::rows(size_t plane) const { 813 // static
813 DCHECK(IsValidPlane(plane, format_)); 814 size_t VideoFrame::Rows(size_t plane, VideoFrame::Format format, int height) {
814 int height = coded_size_.height(); 815 DCHECK(IsValidPlane(plane, format));
815 switch (format_) { 816 switch (format) {
816 case VideoFrame::YV24: 817 case VideoFrame::YV24:
817 case VideoFrame::YV16: 818 case VideoFrame::YV16:
818 switch (plane) { 819 switch (plane) {
819 case kYPlane: 820 case kYPlane:
820 case kUPlane: 821 case kUPlane:
821 case kVPlane: 822 case kVPlane:
822 return height; 823 return height;
823 default: 824 default:
824 break; 825 break;
825 } 826 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 break; 860 break;
860 } 861 }
861 break; 862 break;
862 case VideoFrame::UNKNOWN: 863 case VideoFrame::UNKNOWN:
863 #if defined(VIDEO_HOLE) 864 #if defined(VIDEO_HOLE)
864 case VideoFrame::HOLE: 865 case VideoFrame::HOLE:
865 #endif // defined(VIDEO_HOLE) 866 #endif // defined(VIDEO_HOLE)
866 case VideoFrame::NATIVE_TEXTURE: 867 case VideoFrame::NATIVE_TEXTURE:
867 break; 868 break;
868 } 869 }
869 NOTREACHED() << "Unsupported video frame format/plane: " 870 NOTREACHED() << "Unsupported video frame format/plane: " << format << "/"
870 << format_ << "/" << plane; 871 << plane;
871 return 0; 872 return 0;
872 } 873 }
873 874
875 int VideoFrame::rows(size_t plane) const {
876 return Rows(plane, format_, coded_size_.height());
877 }
878
874 uint8* VideoFrame::data(size_t plane) const { 879 uint8* VideoFrame::data(size_t plane) const {
875 DCHECK(IsValidPlane(plane, format_)); 880 DCHECK(IsValidPlane(plane, format_));
876 return data_[plane]; 881 return data_[plane];
877 } 882 }
878 883
879 const gpu::MailboxHolder* VideoFrame::mailbox_holder() const { 884 const gpu::MailboxHolder* VideoFrame::mailbox_holder() const {
880 DCHECK_EQ(format_, NATIVE_TEXTURE); 885 DCHECK_EQ(format_, NATIVE_TEXTURE);
881 return mailbox_holder_.get(); 886 return mailbox_holder_.get();
882 } 887 }
883 888
(...skipping 30 matching lines...) Expand all
914 break; 919 break;
915 for (int row = 0; row < rows(plane); ++row) { 920 for (int row = 0; row < rows(plane); ++row) {
916 base::MD5Update(context, base::StringPiece( 921 base::MD5Update(context, base::StringPiece(
917 reinterpret_cast<char*>(data(plane) + stride(plane) * row), 922 reinterpret_cast<char*>(data(plane) + stride(plane) * row),
918 row_bytes(plane))); 923 row_bytes(plane)));
919 } 924 }
920 } 925 }
921 } 926 }
922 927
923 } // namespace media 928 } // namespace media
OLDNEW
« content/common/gpu/media/video_encode_accelerator_unittest.cc ('K') | « media/base/video_frame.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698