nouveau_video.h revision ebe7c687ceed4e5ca704b325aac6b91791d394b0
1#ifndef __NOUVEAU_VIDEO_H__ 2#define __NOUVEAU_SCREEN_H__ 3 4#include "nv17_mpeg.xml.h" 5#include "nv31_mpeg.xml.h" 6 7struct nouveau_video_buffer { 8 struct pipe_video_buffer base; 9 unsigned num_planes; 10 struct pipe_resource *resources[3]; 11 struct pipe_sampler_view *sampler_view_planes[3]; 12 struct pipe_sampler_view *sampler_view_components[3]; 13 struct pipe_surface *surfaces[3]; 14}; 15 16struct nouveau_decoder { 17 struct pipe_video_decoder base; 18 struct nouveau_screen *screen; 19 struct nouveau_grobj *mpeg; 20 struct nouveau_bo *cmd_bo, *data_bo, *fence_bo; 21 22 unsigned *fence_map; 23 unsigned fence_seq; 24 25 unsigned ofs; 26 unsigned *cmds; 27 28 unsigned *data; 29 unsigned data_pos; 30 unsigned picture_structure; 31 32 unsigned past, future, current; 33 unsigned num_surfaces; 34 struct nouveau_video_buffer *surfaces[8]; 35}; 36 37static INLINE void 38nouveau_vpe_write(struct nouveau_decoder *dec, unsigned data) { 39 dec->cmds[dec->ofs++] = data; 40} 41 42#endif 43