1744f5739019d1fd917f981e740b353c3d73fd1a8David Smith/*
2744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * Copyright (C) 2014 The Android Open Source Project
3744f5739019d1fd917f981e740b353c3d73fd1a8David Smith *
4744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * Licensed under the Apache License, Version 2.0 (the "License");
5744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * you may not use this file except in compliance with the License.
6744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * You may obtain a copy of the License at
7744f5739019d1fd917f981e740b353c3d73fd1a8David Smith *
8744f5739019d1fd917f981e740b353c3d73fd1a8David Smith *      http://www.apache.org/licenses/LICENSE-2.0
9744f5739019d1fd917f981e740b353c3d73fd1a8David Smith *
10744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * Unless required by applicable law or agreed to in writing, software
11744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * distributed under the License is distributed on an "AS IS" BASIS,
12744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * See the License for the specific language governing permissions and
14744f5739019d1fd917f981e740b353c3d73fd1a8David Smith * limitations under the License.
15744f5739019d1fd917f981e740b353c3d73fd1a8David Smith */
16744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
17744f5739019d1fd917f981e740b353c3d73fd1a8David Smith#ifndef COLOR_CONVERT_H_
18744f5739019d1fd917f981e740b353c3d73fd1a8David Smith#define COLOR_CONVERT_H_
19744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
20744f5739019d1fd917f981e740b353c3d73fd1a8David Smith#include <inttypes.h>
21744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
22744f5739019d1fd917f981e740b353c3d73fd1a8David Smithnamespace android {
23744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
24744f5739019d1fd917f981e740b353c3d73fd1a8David Smithvoid YUVToRGB(
25744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        int32_t y, int32_t u, int32_t v,
26744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        int32_t* r, int32_t* g, int32_t* b);
27744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
28744f5739019d1fd917f981e740b353c3d73fd1a8David Smithvoid convertYUV420spToARGB(
29744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        uint8_t *pY, uint8_t *pUV, int32_t width, int32_t height,
30744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        uint8_t *dest);
31744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
32744f5739019d1fd917f981e740b353c3d73fd1a8David Smithvoid convertYUV420spToRGB888(
33744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        uint8_t *pY, uint8_t *pUV, int32_t width, int32_t height,
34744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        uint8_t *dest);
35744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
36e7f4e676bb88b17241d71731f9ea50c18cfcb039David Smith// TODO: remove when RGBA support is added to SoftwareRenderer
37e7f4e676bb88b17241d71731f9ea50c18cfcb039David Smithvoid convertRGBAToARGB(
38e7f4e676bb88b17241d71731f9ea50c18cfcb039David Smith        uint8_t *src, int32_t width, int32_t height, uint32_t stride,
39e7f4e676bb88b17241d71731f9ea50c18cfcb039David Smith        uint8_t *dest);
40e7f4e676bb88b17241d71731f9ea50c18cfcb039David Smith
41744f5739019d1fd917f981e740b353c3d73fd1a8David Smith}   // namespace android
42744f5739019d1fd917f981e740b353c3d73fd1a8David Smith
43744f5739019d1fd917f981e740b353c3d73fd1a8David Smith#endif  // COLOR_CONVERT_H_
44