2
* vdpau_buffer.h - VDPAU backend for VA API (VA buffers)
4
* vdpau-video (C) 2009-2010 Splitted-Desktop Systems
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
21
#ifndef VDPAU_BUFFER_H
22
#define VDPAU_BUFFER_H
24
#include "vdpau_driver.h"
26
typedef struct object_buffer object_buffer_t;
27
struct object_buffer {
28
struct object_base base;
29
VAContextID va_context;
32
unsigned int buffer_size;
33
unsigned int max_num_elements;
34
unsigned int num_elements;
38
// Create VA buffer object
41
vdpau_driver_data_p driver_data,
43
VABufferType buffer_type,
44
unsigned int num_elements,
48
// Destroy VA buffer object
51
vdpau_driver_data_p driver_data,
52
object_buffer_p obj_buffer
55
// Schedule VA buffer object for destruction
57
schedule_destroy_va_buffer(
58
vdpau_driver_data_p driver_data,
59
object_buffer_p obj_buffer
69
unsigned int num_elements,
81
// vaBufferSetNumElements
83
vdpau_BufferSetNumElements(
86
unsigned int num_elements
100
VADriverContextP ctx,
104
#endif /* VDPAU_BUFFER_H */