1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 #ifndef MEDIA_BASE_YCBCR_TO_RGB565_H_
5 #define MEDIA_BASE_YCBCR_TO_RGB565_H_
6 #include "yuv_convert.h"
7 #include "mozilla/arm.h"
9 // It's currently only worth including this if we have NEON support.
10 #if defined(__arm__) && defined(MOZILLA_MAY_SUPPORT_NEON)
11 #define HAVE_YCBCR_TO_RGB565 1
18 #ifdef HAVE_YCBCR_TO_RGB565
19 // Convert a frame of YUV to 16 bit RGB565.
20 void ConvertYCbCrToRGB565(const uint8_t* yplane
,
21 const uint8_t* uplane
,
22 const uint8_t* vplane
,
33 // Used to test if we have an accelerated version.
34 bool IsConvertYCbCrToRGB565Fast(int pic_x
,
40 // Scale a frame of YUV to 16 bit RGB565.
41 void ScaleYCbCrToRGB565(const uint8_t *yplane
,
42 const uint8_t *uplane
,
43 const uint8_t *vplane
,
57 // Used to test if we have an accelerated version.
58 bool IsScaleYCbCrToRGB565Fast(int source_x0
,
66 #endif // HAVE_YCBCR_TO_RGB565
70 } // namespace mozilla
72 #endif // MEDIA_BASE_YCBCR_TO_RGB565_H_