OLD | NEW |
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 Loading... |
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 |
OLD | NEW |