~ubuntu-branches/debian/sid/ffmpeg/sid

« back to all changes in this revision

Viewing changes to libavcodec/vaapi_internal.h

  • Committer: Package Import Robot
  • Author(s): Andreas Cadhalpun, Fabian Greffrath, Andreas Cadhalpun
  • Date: 2015-09-22 15:15:20 UTC
  • mfrom: (0.1.29)
  • Revision ID: package-import@ubuntu.com-20150922151520-hhmd3in9ykigjvs9
Tags: 7:2.8-1
[ Fabian Greffrath ]
* Pass the --dbg-package=ffmpeg-dbg parameter only to dh_strip.
* Add alternative Depends: libavcodec-ffmpeg-extra56 to libavcodec-dev and
  ffmpeg-dbg to allow for building and debugging with this library installed.

[ Andreas Cadhalpun ]
* Import new major upstream release 2.8.
* Remove the transitional lib*-ffmpeg-dev packages.
* Drop old Breaks on kodi-bin.
* Drop workaround for sparc, which is no Debian architecture anymore.
* Re-enable x265 on alpha, as it's available again.
* Disable unavailable frei0r, opencv and x264 on mips64el.
* Disable libopenjpeg (#787275) and libschroedinger (#787957) decoders.
  (Closes: #786670)
* Disable libdc1394 on sparc64, because it links against the broken due to
  #790560 libudev1.
* Enable libsnappy support.
* Add new symbols.
* Update debian/copyright.
* Update debian/tests/encdec_list.txt.
* Add hls-only-seek-if-there-is-an-offset.patch. (Closes: #798189)
* Add 'Breaks: libavutil-ffmpeg54 (>= 8:0)' to the libraries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
 * @{
36
36
 */
37
37
 
 
38
typedef struct {
 
39
    VADisplay display;                  ///< Windowing system dependent handle
 
40
    VAConfigID config_id;               ///< Configuration ID
 
41
    VAContextID context_id;             ///< Context ID (video decode pipeline)
 
42
    VABufferID pic_param_buf_id;        ///< Picture parameter buffer
 
43
    VABufferID iq_matrix_buf_id;        ///< Inverse quantiser matrix buffer
 
44
    VABufferID bitplane_buf_id;         ///< Bitplane buffer (for VC-1 decoding)
 
45
    VABufferID *slice_buf_ids;          ///< Slice parameter/data buffers
 
46
    unsigned int n_slice_buf_ids;       ///< Number of effective slice buffers
 
47
    unsigned int slice_buf_ids_alloc;   ///< Number of allocated slice buffers
 
48
    void *slice_params;                 ///< Pointer to slice parameter buffers
 
49
    unsigned int slice_param_size;      ///< Size of a slice parameter element
 
50
    unsigned int slice_params_alloc;    ///< Number of allocated slice parameters
 
51
    unsigned int slice_count;           ///< Number of slices currently filled in
 
52
    const uint8_t *slice_data;          ///< Pointer to slice data buffer base
 
53
    unsigned int slice_data_size;       ///< Current size of slice data
 
54
} FFVAContext;
 
55
 
 
56
/** Extract vaapi_context from an AVCodecContext */
 
57
static inline FFVAContext *ff_vaapi_get_context(AVCodecContext *avctx)
 
58
{
 
59
    return avctx->internal->hwaccel_priv_data;
 
60
}
 
61
 
38
62
/** Extract VASurfaceID from an AVFrame */
39
63
static inline VASurfaceID ff_vaapi_get_surface_id(AVFrame *pic)
40
64
{
41
65
    return (uintptr_t)pic->data[3];
42
66
}
43
67
 
 
68
/** Common AVHWAccel.init() implementation */
 
69
int ff_vaapi_context_init(AVCodecContext *avctx);
 
70
 
 
71
/** Common AVHWAccel.uninit() implementation */
 
72
int ff_vaapi_context_fini(AVCodecContext *avctx);
 
73
 
44
74
/** Common AVHWAccel.end_frame() implementation */
45
75
void ff_vaapi_common_end_frame(AVCodecContext *avctx);
46
76
 
47
77
/** Allocate a new picture parameter buffer */
48
 
void *ff_vaapi_alloc_pic_param(struct vaapi_context *vactx, unsigned int size);
 
78
void *ff_vaapi_alloc_pic_param(FFVAContext *vactx, unsigned int size);
49
79
 
50
80
/** Allocate a new IQ matrix buffer */
51
 
void *ff_vaapi_alloc_iq_matrix(struct vaapi_context *vactx, unsigned int size);
 
81
void *ff_vaapi_alloc_iq_matrix(FFVAContext *vactx, unsigned int size);
52
82
 
53
83
/** Allocate a new bit-plane buffer */
54
 
uint8_t *ff_vaapi_alloc_bitplane(struct vaapi_context *vactx, uint32_t size);
 
84
uint8_t *ff_vaapi_alloc_bitplane(FFVAContext *vactx, uint32_t size);
55
85
 
56
86
/**
57
87
 * Allocate a new slice descriptor for the input slice.
61
91
 * @param size the size of the slice in bytes
62
92
 * @return the newly allocated slice parameter
63
93
 */
64
 
VASliceParameterBufferBase *ff_vaapi_alloc_slice(struct vaapi_context *vactx, const uint8_t *buffer, uint32_t size);
 
94
VASliceParameterBufferBase *ff_vaapi_alloc_slice(FFVAContext *vactx, const uint8_t *buffer, uint32_t size);
65
95
 
66
96
int ff_vaapi_mpeg_end_frame(AVCodecContext *avctx);
67
 
int ff_vaapi_commit_slices(struct vaapi_context *vactx);
68
 
int ff_vaapi_render_picture(struct vaapi_context *vactx, VASurfaceID surface);
 
97
int ff_vaapi_commit_slices(FFVAContext *vactx);
 
98
int ff_vaapi_render_picture(FFVAContext *vactx, VASurfaceID surface);
69
99
 
70
100
/* @} */
71
101