2
* gstvaapicodedbuffer_priv.h - VA coded buffer abstraction (private defs)
4
* Copyright (C) 2013 Intel Corporation
5
* Author: Wind Yuan <feng.yuan@intel.com>
6
* Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public License
10
* as published by the Free Software Foundation; either version 2.1
11
* of the License, or (at your option) any later version.
13
* This library is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with this library; if not, write to the Free
20
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
* Boston, MA 02110-1301 USA
24
#ifndef GST_VAAPI_CODED_BUFFER_PRIV_H
25
#define GST_VAAPI_CODED_BUFFER_PRIV_H
27
#include <gst/vaapi/gstvaapicontext.h>
28
#include "gstvaapicodedbuffer.h"
29
#include "gstvaapiobject_priv.h"
33
#define GST_VAAPI_CODED_BUFFER_CAST(obj) \
34
((GstVaapiCodedBuffer *)(obj))
36
typedef struct _GstVaapiCodedBufferClass GstVaapiCodedBufferClass;
39
* GstVaapiCodedBuffer:
41
* A VA coded buffer object wrapper.
43
struct _GstVaapiCodedBuffer
46
GstVaapiObject parent_instance;
48
GstVaapiContext *context;
49
VACodedBufferSegment *segment_list;
53
* GstVaapiCodedBufferClass:
55
* A VA coded buffer object wrapper class.
57
struct _GstVaapiCodedBufferClass
60
GstVaapiObjectClass parent_class;
65
gst_vaapi_coded_buffer_new (GstVaapiContext * context, guint buf_size);
69
gst_vaapi_coded_buffer_map (GstVaapiCodedBuffer * buf,
70
VACodedBufferSegment ** out_segment_list_ptr);
74
gst_vaapi_coded_buffer_unmap (GstVaapiCodedBuffer * buf);
78
#endif /* GST_VAAPI_CODED_BUFFER_PRIV_H */