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

Side by Side Diff: ui/gfx/color_space_win.cc

Issue 2697863003: color: Clarify default behaviors (Closed)
Patch Set: Do less Created 3 years, 10 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 "ui/gfx/color_space_win.h" 5 #include "ui/gfx/color_space_win.h"
6 6
7 namespace gfx { 7 namespace gfx {
8 8
9 DXVA2_ExtendedFormat ColorSpaceWin::GetExtendedFormat( 9 DXVA2_ExtendedFormat ColorSpaceWin::GetExtendedFormat(
10 const ColorSpace& color_space) { 10 const ColorSpace& color_space) {
11 DXVA2_ExtendedFormat format; 11 DXVA2_ExtendedFormat format;
12 memset(&format, 0, sizeof(format)); 12 memset(&format, 0, sizeof(format));
13 format.SampleFormat = DXVA2_SampleProgressiveFrame; 13 format.SampleFormat = DXVA2_SampleProgressiveFrame;
14 format.VideoLighting = DXVA2_VideoLighting_dim; 14 format.VideoLighting = DXVA2_VideoLighting_dim;
15 format.NominalRange = DXVA2_NominalRange_16_235; 15 format.NominalRange = DXVA2_NominalRange_16_235;
16 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_BT709; 16 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_BT709;
17 format.VideoPrimaries = DXVA2_VideoPrimaries_BT709; 17 format.VideoPrimaries = DXVA2_VideoPrimaries_BT709;
18 format.VideoTransferFunction = DXVA2_VideoTransFunc_709; 18 format.VideoTransferFunction = DXVA2_VideoTransFunc_709;
19 19
20 switch (color_space.range_) { 20 switch (color_space.range_) {
21 case gfx::ColorSpace::RangeID::LIMITED: 21 case gfx::ColorSpace::RangeID::LIMITED:
22 format.NominalRange = DXVA2_NominalRange_16_235; 22 format.NominalRange = DXVA2_NominalRange_16_235;
23 break; 23 break;
24 case gfx::ColorSpace::RangeID::FULL: 24 case gfx::ColorSpace::RangeID::FULL:
25 format.NominalRange = DXVA2_NominalRange_0_255; 25 format.NominalRange = DXVA2_NominalRange_0_255;
26 break; 26 break;
27 27
28 case gfx::ColorSpace::RangeID::UNSPECIFIED: 28 case gfx::ColorSpace::RangeID::UNSPECIFIED:
29 case gfx::ColorSpace::RangeID::DERIVED: 29 case gfx::ColorSpace::RangeID::DERIVED:
30 case gfx::ColorSpace::RangeID::INVALID:
30 // Not handled 31 // Not handled
31 break; 32 break;
32 } 33 }
33 34
34 switch (color_space.matrix_) { 35 switch (color_space.matrix_) {
35 case gfx::ColorSpace::MatrixID::BT709: 36 case gfx::ColorSpace::MatrixID::BT709:
36 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_BT709; 37 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_BT709;
37 break; 38 break;
38 case gfx::ColorSpace::MatrixID::BT470BG: 39 case gfx::ColorSpace::MatrixID::BT470BG:
39 case gfx::ColorSpace::MatrixID::SMPTE170M: 40 case gfx::ColorSpace::MatrixID::SMPTE170M:
40 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_BT601; 41 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_BT601;
41 break; 42 break;
42 case gfx::ColorSpace::MatrixID::SMPTE240M: 43 case gfx::ColorSpace::MatrixID::SMPTE240M:
43 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_SMPTE240M; 44 format.VideoTransferMatrix = DXVA2_VideoTransferMatrix_SMPTE240M;
44 break; 45 break;
45 46
46 case gfx::ColorSpace::MatrixID::RGB: 47 case gfx::ColorSpace::MatrixID::RGB:
47 case gfx::ColorSpace::MatrixID::UNSPECIFIED: 48 case gfx::ColorSpace::MatrixID::UNSPECIFIED:
48 case gfx::ColorSpace::MatrixID::RESERVED: 49 case gfx::ColorSpace::MatrixID::RESERVED:
49 case gfx::ColorSpace::MatrixID::FCC: 50 case gfx::ColorSpace::MatrixID::FCC:
50 case gfx::ColorSpace::MatrixID::YCOCG: 51 case gfx::ColorSpace::MatrixID::YCOCG:
51 case gfx::ColorSpace::MatrixID::BT2020_NCL: 52 case gfx::ColorSpace::MatrixID::BT2020_NCL:
52 case gfx::ColorSpace::MatrixID::BT2020_CL: 53 case gfx::ColorSpace::MatrixID::BT2020_CL:
53 case gfx::ColorSpace::MatrixID::YDZDX: 54 case gfx::ColorSpace::MatrixID::YDZDX:
54 case gfx::ColorSpace::MatrixID::UNKNOWN: 55 case gfx::ColorSpace::MatrixID::INVALID:
55 // Not handled 56 // Not handled
56 break; 57 break;
57 } 58 }
58 59
59 switch (color_space.primaries_) { 60 switch (color_space.primaries_) {
60 case gfx::ColorSpace::PrimaryID::BT709: 61 case gfx::ColorSpace::PrimaryID::BT709:
61 format.VideoPrimaries = DXVA2_VideoPrimaries_BT709; 62 format.VideoPrimaries = DXVA2_VideoPrimaries_BT709;
62 break; 63 break;
63 case gfx::ColorSpace::PrimaryID::BT470M: 64 case gfx::ColorSpace::PrimaryID::BT470M:
64 format.VideoPrimaries = DXVA2_VideoPrimaries_BT470_2_SysM; 65 format.VideoPrimaries = DXVA2_VideoPrimaries_BT470_2_SysM;
65 break; 66 break;
66 case gfx::ColorSpace::PrimaryID::BT470BG: 67 case gfx::ColorSpace::PrimaryID::BT470BG:
67 format.VideoPrimaries = DXVA2_VideoPrimaries_BT470_2_SysBG; 68 format.VideoPrimaries = DXVA2_VideoPrimaries_BT470_2_SysBG;
68 break; 69 break;
69 case gfx::ColorSpace::PrimaryID::SMPTE170M: 70 case gfx::ColorSpace::PrimaryID::SMPTE170M:
70 format.VideoPrimaries = DXVA2_VideoPrimaries_SMPTE170M; 71 format.VideoPrimaries = DXVA2_VideoPrimaries_SMPTE170M;
71 break; 72 break;
72 case gfx::ColorSpace::PrimaryID::SMPTE240M: 73 case gfx::ColorSpace::PrimaryID::SMPTE240M:
73 format.VideoPrimaries = DXVA2_VideoPrimaries_SMPTE240M; 74 format.VideoPrimaries = DXVA2_VideoPrimaries_SMPTE240M;
74 break; 75 break;
75 76
76 case gfx::ColorSpace::PrimaryID::RESERVED0: 77 case gfx::ColorSpace::PrimaryID::RESERVED0:
77 case gfx::ColorSpace::PrimaryID::UNSPECIFIED: 78 case gfx::ColorSpace::PrimaryID::UNSPECIFIED:
78 case gfx::ColorSpace::PrimaryID::RESERVED: 79 case gfx::ColorSpace::PrimaryID::RESERVED:
79 case gfx::ColorSpace::PrimaryID::FILM: 80 case gfx::ColorSpace::PrimaryID::FILM:
80 case gfx::ColorSpace::PrimaryID::BT2020: 81 case gfx::ColorSpace::PrimaryID::BT2020:
81 case gfx::ColorSpace::PrimaryID::SMPTEST428_1: 82 case gfx::ColorSpace::PrimaryID::SMPTEST428_1:
82 case gfx::ColorSpace::PrimaryID::SMPTEST431_2: 83 case gfx::ColorSpace::PrimaryID::SMPTEST431_2:
83 case gfx::ColorSpace::PrimaryID::SMPTEST432_1: 84 case gfx::ColorSpace::PrimaryID::SMPTEST432_1:
84 case gfx::ColorSpace::PrimaryID::UNKNOWN:
85 case gfx::ColorSpace::PrimaryID::XYZ_D50: 85 case gfx::ColorSpace::PrimaryID::XYZ_D50:
86 case gfx::ColorSpace::PrimaryID::ADOBE_RGB: 86 case gfx::ColorSpace::PrimaryID::ADOBE_RGB:
87 case gfx::ColorSpace::PrimaryID::CUSTOM: 87 case gfx::ColorSpace::PrimaryID::CUSTOM:
88 case gfx::ColorSpace::PrimaryID::INVALID:
88 // Not handled 89 // Not handled
89 break; 90 break;
90 } 91 }
91 92
92 switch (color_space.transfer_) { 93 switch (color_space.transfer_) {
93 case gfx::ColorSpace::TransferID::BT709: 94 case gfx::ColorSpace::TransferID::BT709:
94 case gfx::ColorSpace::TransferID::SMPTE170M: 95 case gfx::ColorSpace::TransferID::SMPTE170M:
95 format.VideoTransferFunction = DXVA2_VideoTransFunc_709; 96 format.VideoTransferFunction = DXVA2_VideoTransFunc_709;
96 break; 97 break;
97 case gfx::ColorSpace::TransferID::SMPTE240M: 98 case gfx::ColorSpace::TransferID::SMPTE240M:
(...skipping 18 matching lines...) Expand all
116 case gfx::ColorSpace::TransferID::RESERVED: 117 case gfx::ColorSpace::TransferID::RESERVED:
117 case gfx::ColorSpace::TransferID::LOG: 118 case gfx::ColorSpace::TransferID::LOG:
118 case gfx::ColorSpace::TransferID::LOG_SQRT: 119 case gfx::ColorSpace::TransferID::LOG_SQRT:
119 case gfx::ColorSpace::TransferID::IEC61966_2_4: 120 case gfx::ColorSpace::TransferID::IEC61966_2_4:
120 case gfx::ColorSpace::TransferID::BT1361_ECG: 121 case gfx::ColorSpace::TransferID::BT1361_ECG:
121 case gfx::ColorSpace::TransferID::BT2020_10: 122 case gfx::ColorSpace::TransferID::BT2020_10:
122 case gfx::ColorSpace::TransferID::BT2020_12: 123 case gfx::ColorSpace::TransferID::BT2020_12:
123 case gfx::ColorSpace::TransferID::SMPTEST2084: 124 case gfx::ColorSpace::TransferID::SMPTEST2084:
124 case gfx::ColorSpace::TransferID::SMPTEST428_1: 125 case gfx::ColorSpace::TransferID::SMPTEST428_1:
125 case gfx::ColorSpace::TransferID::ARIB_STD_B67: 126 case gfx::ColorSpace::TransferID::ARIB_STD_B67:
126 case gfx::ColorSpace::TransferID::UNKNOWN:
127 case gfx::ColorSpace::TransferID::GAMMA24: 127 case gfx::ColorSpace::TransferID::GAMMA24:
128 case gfx::ColorSpace::TransferID::SMPTEST2084_NON_HDR: 128 case gfx::ColorSpace::TransferID::SMPTEST2084_NON_HDR:
129 case gfx::ColorSpace::TransferID::CUSTOM: 129 case gfx::ColorSpace::TransferID::CUSTOM:
130 case gfx::ColorSpace::TransferID::INVALID:
130 // Not handled 131 // Not handled
131 break; 132 break;
132 } 133 }
133 134
134 return format; 135 return format;
135 } 136 }
136 137
137 } // namespace gfx 138 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698