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