summaryrefslogtreecommitdiff
path: root/drivers/video/b2r2/b2r2_hw_convert.h
blob: e173e898e44e708672e428bb5b6fe06a8ba8aa06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * Copyright (C) ST-Ericsson SA 2012
 *
 * ST-Ericsson B2R2 hw color conversion definitions
 *
 * Author: Jorgen Nilsson <jorgen.nilsson@stericsson.com>
 * for ST-Ericsson.
 *
 * License terms: GNU General Public License (GPL), version 2.
 */

#ifndef B2R2_HW_CONVERT_H__
#define B2R2_HW_CONVERT_H__

#include "b2r2_internal.h"

enum b2r2_color_conversion {
	B2R2_CC_NOTHING = 0,
	B2R2_CC_RGB_TO_BGR,
	B2R2_CC_BLT_YUV888_TO_YVU,
	B2R2_CC_BLT_YUV888_TO_YUV,
	B2R2_CC_YUV_TO_BLT_YUV888,
	B2R2_CC_YVU_TO_YUV,
	B2R2_CC_YVU_TO_BLT_YUV888,
	B2R2_CC_RGB_TO_YUV,
	B2R2_CC_RGB_TO_YUV_FULL,
	B2R2_CC_RGB_TO_YVU,
	B2R2_CC_RGB_TO_YVU_FULL,
	B2R2_CC_RGB_TO_BLT_YUV888,
	B2R2_CC_RGB_TO_BLT_YUV888_FULL,
	B2R2_CC_BGR_TO_YVU,
	B2R2_CC_BGR_TO_YVU_FULL,
	B2R2_CC_BGR_TO_YUV,
	B2R2_CC_BGR_TO_YUV_FULL,
	B2R2_CC_YUV_TO_RGB,
	B2R2_CC_YUV_FULL_TO_RGB,
	B2R2_CC_YUV_TO_BGR,
	B2R2_CC_YUV_FULL_TO_BGR,
	B2R2_CC_YVU_TO_RGB,
	B2R2_CC_YVU_FULL_TO_RGB,
	B2R2_CC_YVU_TO_BGR,
	B2R2_CC_YVU_FULL_TO_BGR,
	B2R2_CC_BLT_YUV888_TO_RGB,
	B2R2_CC_BLT_YUV888_FULL_TO_RGB,
};

int b2r2_setup_ivmx(struct b2r2_node *node, enum b2r2_color_conversion cc);
int b2r2_setup_ovmx(struct b2r2_node *node, enum b2r2_color_conversion cc);
enum b2r2_color_conversion b2r2_get_color_conversion(enum b2r2_blt_fmt src_fmt,
		enum b2r2_blt_fmt dst_fmt, bool fullrange);
int b2r2_get_vmx(enum b2r2_color_conversion cc, const u32 **vmx);

#endif /* B2R2_HW_CONVERT_H__ */