Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > VSs > VSs__H264__App
view libavcodec/cell/h264_dma.h @ 2:897f711a7157
rearrange to work with autoconf
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Tue, 25 Sep 2012 15:55:33 +0200 |
| parents | |
| children |
line source
1 #ifndef H264_DMA_H
2 #define H264_DMA_H
4 #include "libavutil/mem.h"
6 typedef struct dma_list_elem {
7 union {
8 unsigned int all32;
9 struct {
10 unsigned int stall : 1;
11 unsigned int reserved : 15;
12 unsigned int nbytes : 16;
13 } bits;
14 } size;
15 uint64_t ea_low : 32;
16 }dma_list_elem_t;
18 extern DECLARE_ALIGNED_16(dma_list_elem_t, put_list_buf[2*(52+26+26)]);
19 extern dma_list_elem_t* put_list;
21 extern DECLARE_ALIGNED_16(dma_list_elem_t, get_list_buf[16*(4+5 + 2*3)]);
22 extern dma_list_elem_t* get_list;
24 enum{
25 MBD_slice=1,
26 MBD_buf1,
27 MBD_buf2,
28 MBD_buf3,
29 MBD_put,
30 MBD_pic,
31 MBD_mc_buf1,
32 MBD_mc_buf2
33 };
35 enum{
36 ED_spe=1,
37 ED_slice,
38 ED_raw,
39 ED_get,
40 ED_get2,
41 ED_get_mv,
42 ED_put,
43 ED_putmb0,
44 ED_putmb1,
45 };
47 // Functions to get/put a block from/to main memory
48 void get_dma_list(void *dst, void* ea, unsigned int w, unsigned int h, unsigned int stride, unsigned int tag, int barrier);
49 void put_dma_list(void *src, void* ea, unsigned int size, unsigned int h, unsigned int stride, unsigned int tag);
51 //Functions to do a dma transfer for 32-bit
52 void spu_dma_get(void *ls, unsigned ea, int size, int tag);
53 void spu_dma_put(void *ls, unsigned ea, int size, int tag);
54 void spu_dma_barrier_put(void *ls, unsigned ea, int size, int tag);
56 // Function that wait to finish a DMA transfer with especific id
57 void wait_dma_id(int id);
59 #endif
