| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2015 Google Inc. | 3 * Copyright 2015 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 // This test only works with the GPU backend. | 9 // This test only works with the GPU backend. |
| 10 | 10 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 uvPixels[0][uvIndex] = static_cast<signed char>( | 87 uvPixels[0][uvIndex] = static_cast<signed char>( |
| 88 ((-38 * rgb[0] - 74 * rgb[1] + 112 * rgb[2] + 128) >> 8) +
128); | 88 ((-38 * rgb[0] - 74 * rgb[1] + 112 * rgb[2] + 128) >> 8) +
128); |
| 89 uvPixels[1][uvIndex] = static_cast<signed char>( | 89 uvPixels[1][uvIndex] = static_cast<signed char>( |
| 90 ((112 * rgb[0] - 94 * rgb[1] - 18 * rgb[2] + 128) >> 8) +
128); | 90 ((112 * rgb[0] - 94 * rgb[1] - 18 * rgb[2] + 128) >> 8) +
128); |
| 91 } | 91 } |
| 92 } | 92 } |
| 93 fRGBImage.reset(SkImage::NewRasterCopy(rgbBmp.info(), rgbColors, rgbBmp.
rowBytes())); | 93 fRGBImage.reset(SkImage::NewRasterCopy(rgbBmp.info(), rgbColors, rgbBmp.
rowBytes())); |
| 94 } | 94 } |
| 95 | 95 |
| 96 void createYUVTextures(GrContext* context, GrBackendObject yuvHandles[3]) { | 96 void createYUVTextures(GrContext* context, GrBackendObject yuvHandles[3]) { |
| 97 const GrGpu* gpu = context->getGpu(); | 97 GrGpu* gpu = context->getGpu(); |
| 98 if (!gpu) { | 98 if (!gpu) { |
| 99 return; | 99 return; |
| 100 } | 100 } |
| 101 | 101 |
| 102 for (int i = 0; i < 3; ++i) { | 102 for (int i = 0; i < 3; ++i) { |
| 103 SkASSERT(fYUVBmps[i].width() == SkToInt(fYUVBmps[i].rowBytes())); | 103 SkASSERT(fYUVBmps[i].width() == SkToInt(fYUVBmps[i].rowBytes())); |
| 104 yuvHandles[i] = gpu->createTestingOnlyBackendTexture(fYUVBmps[i].get
Pixels(), | 104 yuvHandles[i] = gpu->createTestingOnlyBackendTexture(fYUVBmps[i].get
Pixels(), |
| 105 fYUVBmps[i].wid
th(), | 105 fYUVBmps[i].wid
th(), |
| 106 fYUVBmps[i].hei
ght(), | 106 fYUVBmps[i].hei
ght(), |
| 107 kAlpha_8_GrPixe
lConfig); | 107 kAlpha_8_GrPixe
lConfig); |
| 108 } | 108 } |
| 109 context->resetContext(); | 109 context->resetContext(); |
| 110 } | 110 } |
| 111 | 111 |
| 112 void deleteYUVTextures(GrContext* context, const GrBackendObject yuvHandles[
3]) { | 112 void deleteYUVTextures(GrContext* context, const GrBackendObject yuvHandles[
3]) { |
| 113 | 113 |
| 114 const GrGpu* gpu = context->getGpu(); | 114 GrGpu* gpu = context->getGpu(); |
| 115 if (!gpu) { | 115 if (!gpu) { |
| 116 return; | 116 return; |
| 117 } | 117 } |
| 118 | 118 |
| 119 for (int i = 0; i < 3; ++i) { | 119 for (int i = 0; i < 3; ++i) { |
| 120 gpu->deleteTestingOnlyBackendTexture(yuvHandles[i]); | 120 gpu->deleteTestingOnlyBackendTexture(yuvHandles[i]); |
| 121 } | 121 } |
| 122 | 122 |
| 123 context->resetContext(); | 123 context->resetContext(); |
| 124 } | 124 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 | 166 |
| 167 static const int kBmpSize = 32; | 167 static const int kBmpSize = 32; |
| 168 | 168 |
| 169 typedef GM INHERITED; | 169 typedef GM INHERITED; |
| 170 }; | 170 }; |
| 171 | 171 |
| 172 DEF_GM(return new ImageFromYUVTextures;) | 172 DEF_GM(return new ImageFromYUVTextures;) |
| 173 } | 173 } |
| 174 | 174 |
| 175 #endif | 175 #endif |
| OLD | NEW |