Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3769 | Serge | 1 | #ifndef _I965_MEDIA_H264_H_ |
2 | #define _I965_MEDIA_H264_H_ |
||
3 | |||
4 | #include "i965_avc_bsd.h" |
||
5 | #include "i965_avc_hw_scoreboard.h" |
||
6 | #include "i965_avc_ildb.h" |
||
7 | #include "i965_decoder.h" |
||
8 | |||
9 | struct decode_state; |
||
10 | struct i965_media_context; |
||
11 | |||
12 | #define INST_UNIT_GEN4 16 |
||
13 | #define INST_UNIT_GEN5 8 |
||
14 | |||
15 | #define MB_CMD_IN_BYTES 64 |
||
16 | #define MB_CMD_IN_DWS 16 |
||
17 | #define MB_CMD_IN_OWS 4 |
||
18 | |||
19 | enum { |
||
20 | H264_AVC_COMBINED = 0, |
||
21 | H264_AVC_NULL |
||
22 | }; |
||
23 | |||
24 | #define NUM_H264_AVC_KERNELS 2 |
||
25 | |||
26 | struct i965_h264_context |
||
27 | { |
||
28 | struct { |
||
29 | dri_bo *bo; |
||
30 | unsigned int mbs; |
||
31 | } avc_it_command_mb_info; |
||
32 | |||
33 | struct { |
||
34 | dri_bo *bo; |
||
35 | long write_offset; |
||
36 | } avc_it_data; |
||
37 | |||
38 | struct { |
||
39 | dri_bo *bo; |
||
40 | } avc_ildb_data; |
||
41 | |||
42 | struct { |
||
43 | unsigned int width_in_mbs; |
||
44 | unsigned int height_in_mbs; |
||
45 | int mbaff_frame_flag; |
||
46 | int i_flag; |
||
47 | } picture; |
||
48 | |||
49 | int enable_avc_ildb; |
||
50 | int use_avc_hw_scoreboard; |
||
51 | |||
52 | int use_hw_w128; |
||
53 | unsigned int weight128_luma_l0; |
||
54 | unsigned int weight128_luma_l1; |
||
55 | unsigned int weight128_chroma_l0; |
||
56 | unsigned int weight128_chroma_l1; |
||
57 | char weight128_offset0_flag; |
||
58 | short weight128_offset0; |
||
59 | |||
60 | struct i965_avc_bsd_context i965_avc_bsd_context; |
||
61 | struct i965_avc_hw_scoreboard_context avc_hw_scoreboard_context; |
||
62 | struct i965_avc_ildb_context avc_ildb_context; |
||
63 | |||
64 | GenFrameStore fsid_list[MAX_GEN_REFERENCE_FRAMES]; |
||
65 | |||
66 | struct i965_kernel avc_kernels[NUM_H264_AVC_KERNELS]; |
||
67 | struct intel_batchbuffer *batch; |
||
68 | }; |
||
69 | |||
70 | void i965_media_h264_decode_init(VADriverContextP ctx, struct decode_state *decode_state, struct i965_media_context *media_context); |
||
71 | void i965_media_h264_dec_context_init(VADriverContextP ctx, struct i965_media_context *media_context); |
||
72 | |||
73 | #endif /* _I965_MEDIA_H264_H_ */ |