*参照元 [#n06e488a] #backlinks *説明 [#pb3abb6c] -パス: [[linux-4.4.1/include/media/videobuf2-core.h]] -FIXME: これは何? --説明 **参考 [#me1b43cd] *実装 [#p2d82066] /** * struct vb2_buffer - represents a video buffer * @vb2_queue: the queue to which this driver belongs * @index: id number of the buffer * @type: buffer type * @memory: the method, in which the actual data is passed * @num_planes: number of planes in the buffer * on an internal driver queue * @planes: private per-plane information; do not change */ struct vb2_buffer { struct vb2_queue *vb2_queue; - --[[linux-4.4.1/vb2_queue]] unsigned int index; unsigned int type; unsigned int memory; unsigned int num_planes; struct vb2_plane planes[VB2_MAX_PLANES]; - --[[linux-4.4.1/vb2_plane]] /* private: internal use only * * state: current buffer state; do not change * queued_entry: entry on the queued buffers list, which holds * all buffers queued from userspace * done_entry: entry on the list that stores all buffers ready * to be dequeued to userspace */ enum vb2_buffer_state state; - --[[linux-4.4.1/vb2_buffer_state]] struct list_head queued_entry; struct list_head done_entry; - --[[linux-4.4.1/list_head]] #ifdef CONFIG_VIDEO_ADV_DEBUG - --[[linux-4.4.1/CONFIG_VIDEO_ADV_DEBUG]] /* * Counters for how often these buffer-related ops are * called. Used to check for unbalanced ops. */ u32 cnt_mem_alloc; u32 cnt_mem_put; u32 cnt_mem_get_dmabuf; u32 cnt_mem_get_userptr; u32 cnt_mem_put_userptr; u32 cnt_mem_prepare; u32 cnt_mem_finish; u32 cnt_mem_attach_dmabuf; u32 cnt_mem_detach_dmabuf; u32 cnt_mem_map_dmabuf; u32 cnt_mem_unmap_dmabuf; u32 cnt_mem_vaddr; u32 cnt_mem_cookie; u32 cnt_mem_num_users; u32 cnt_mem_mmap; u32 cnt_buf_init; u32 cnt_buf_prepare; u32 cnt_buf_finish; u32 cnt_buf_cleanup; u32 cnt_buf_queue; /* This counts the number of calls to vb2_buffer_done() */ u32 cnt_buf_done; #endif }; *コメント [#a7297c15]