summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/g3dvl/vl_types.h
blob: 4d210c9e0aa9e1c7357e8426f8edebd1a1f24bfb (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#ifndef vl_types_h
#define vl_types_h

enum VL_FORMAT
{
	VL_FORMAT_YCBCR_420,
	VL_FORMAT_YCBCR_422,
	VL_FORMAT_YCBCR_444
};

enum VL_PICTURE
{
	VL_TOP_FIELD,
	VL_BOTTOM_FIELD,
	VL_FRAME_PICTURE
};

enum VL_FIELD_ORDER
{
	VL_FIELD_FIRST,
	VL_FIELD_SECOND
};

enum VL_DCT_TYPE
{
	VL_DCT_FIELD_CODED,
	VL_DCT_FRAME_CODED
};

enum VL_SAMPLE_TYPE
{
	VL_FULL_SAMPLE,
	VL_DIFFERENCE_SAMPLE
};

enum VL_MC_TYPE
{
	VL_FIELD_MC,
	VL_FRAME_MC,
	VL_DUAL_PRIME_MC,
	VL_16x8_MC = VL_FRAME_MC
};

struct VL_VERTEX4F
{
	float x, y, z, w;
};

struct VL_VERTEX2F
{
	float x, y;
};

struct VL_TEXCOORD2F
{
	float s, t;
};

struct VL_MC_VS_CONSTS
{
	struct VL_VERTEX4F	scale;
	struct VL_VERTEX4F	mb_pos_trans;
	struct VL_VERTEX4F	denorm;
	struct
	{
		struct VL_VERTEX4F	top_field;
		struct VL_VERTEX4F	bottom_field;
	} mb_tc_trans[2];
};

struct VL_MC_FS_CONSTS
{
	struct VL_VERTEX4F	multiplier;
	struct VL_VERTEX4F	bias;
	struct VL_VERTEX4F	y_divider;
};

struct VL_CSC_VS_CONSTS
{
	struct VL_VERTEX4F	src_scale;
	struct VL_VERTEX4F	src_trans;
};

struct VL_CSC_FS_CONSTS
{
	struct VL_VERTEX4F	bias;
	float			matrix[16];
};

struct VL_MOTION_VECTOR
{
	struct
	{
		int x, y;
	} top_field, bottom_field;
};

struct VL_CONTEXT;
struct VL_SURFACE;

#endif