xine-lib: xine-lib-1.2.12/src/video_out/vaapi/vaapi_frame.c File Reference

xine-lib 1.2.12

Macros | Functions
vaapi_frame.c File Reference
`#include <stdlib.h>`
`#include <pthread.h>`
`#include <va/va.h>`
`#include <xine/xine_internal.h>`
`#include <xine/xineutils.h>`
`#include <xine/video_out.h>`
`#include "vaapi_frame.h"`
`#include "accel_vaapi.h"`

## Macros
#define | LOG_MODULE "vaapi_frame"
#define | FRAME_FORMAT_STR(f)

## Functions
void | _x_va_frame_provide_standard_frame_data (vo_frame_t *vo_frame, xine_current_frame_data_t *data)
void | _x_va_frame_duplicate_frame_data (vo_frame_t *this_gen, vo_frame_t *original)
void | _x_va_frame_update_frame_format (vo_driver_t *this_gen, vo_frame_t *vo_frame, uint32_t width, uint32_t height, double ratio, int format, int flags)
vaapi_frame_t * | _x_va_frame_alloc_frame (vaapi_context_impl_t *va, vo_driver_t *driver, int guarded_render)

## Macro Definition Documentation

## ◆ FRAME_FORMAT_STR

#define FRAME_FORMAT_STR | ( |  | f | ) |

Value:
( (f) == XINE_IMGFMT_VAAPI ? "XINE_IMGFMT_VAAPI" : \
(f) == XINE_IMGFMT_YV12 ? "XINE_IMGFMT_YV12" : \
(f) == XINE_IMGFMT_YUY2 ? "XINE_IMGFMT_YUY2" : \
(f) == XINE_IMGFMT_NV12 ? "XINE_IMGFMT_NV12" : \
"UNKNOWN")
XINE_IMGFMT_VAAPI
#define XINE_IMGFMT_VAAPI
Definition: xine.h:504
XINE_IMGFMT_YV12
#define XINE_IMGFMT_YV12
Definition: xine.h:498
XINE_IMGFMT_YUY2
#define XINE_IMGFMT_YUY2
Definition: xine.h:500
XINE_IMGFMT_NV12
#define XINE_IMGFMT_NV12
Definition: xine.h:499

## ◆ LOG_MODULE

#define LOG_MODULE "vaapi_frame"

## Function Documentation

## ◆ _x_va_frame_alloc_frame()

vaapi_frame_t * _x_va_frame_alloc_frame | ( | vaapi_context_impl_t * | va,
|  | vo_driver_t * | driver,
|  | int | guarded_render
| ) |  |

References _mem_frame_alloc_frame(), _x_va_accel_alloc_vaapi_surface(), _x_va_accel_get_context(), _x_va_accel_get_vaapi_surface(), _x_va_accel_guarded_render(), _x_va_accel_lock_decode_dummy(), _x_va_accel_profile_from_imgfmt(), _x_va_accel_release_vaapi_surface(), _x_va_accel_render_vaapi_surface(), _x_va_accel_vaapi_init(), vo_frame_s::accel_data, vaapi_frame_t::ctx_impl, vaapi_accel_s::f, vaapi_context_impl::frames, vaapi_accel_funcs_s::guarded_render, vaapi_accel_s::index, LOG_MODULE, vaapi_frame_t::mem_frame, NULL, vaapi_context_impl::num_frames, RENDER_SURFACES, vaapi_frame_t::vaapi_accel_data, vaapi_accel_funcs_s::vaapi_init, mem_frame_t::vo_frame, vaapi_context_impl::xine, XINE_VERBOSITY_LOG, and xprintf.

Referenced by _alloc_frame(), and vaapi_alloc_frame().

## ◆ _x_va_frame_duplicate_frame_data()

void _x_va_frame_duplicate_frame_data | ( | vo_frame_t * | this_gen,
|  | vo_frame_t * | original
| ) |  |

References _ctx_from_frame(), _x_assert, _x_va_accel_alloc_vaapi_surface(), _x_va_accel_guarded_render(), _x_va_check_status(), _x_va_create_image(), _x_va_destroy_image(), _x_va_surface_displayed(), vo_frame_s::accel_data, vaapi_context_impl::c, vaapi_context_impl::ctx_lock, vo_frame_s::format, vo_frame_s::height, ff_vaapi_context_s::height, ff_vaapi_surface_s::index, vaapi_accel_s::index, LOG_MODULE, lprintf, NULL, RENDER_SURFACES, ff_vaapi_surface_s::status, SURFACE_RENDER_RELEASE, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, vo_frame_s::width, ff_vaapi_context_s::width, vaapi_context_impl::xine, xine_fast_memcpy, XINE_IMGFMT_VAAPI, XINE_VERBOSITY_LOG, and xprintf.

Referenced by _x_va_frame_update_frame_format().

## ◆ _x_va_frame_provide_standard_frame_data()

void _x_va_frame_provide_standard_frame_data | ( | vo_frame_t * | vo_frame,
|  | xine_current_frame_data_t * | data
| ) |  |

References _ctx_from_frame(), _x_assert, _x_nv12_to_yv12(), _x_va_check_status(), _x_va_create_image(), _x_va_destroy_image(), vo_frame_s::accel_data, vaapi_context_impl::c, vaapi_context_impl::ctx_lock, xine_current_frame_data_s::format, vo_frame_s::format, xine_current_frame_data_s::height, vo_frame_s::height, height, ff_vaapi_context_s::height, xine_current_frame_data_s::img, xine_current_frame_data_s::img_size, vaapi_accel_s::index, LOG_MODULE, lprintf, vaapi_context_impl::query_va_status, RENDER_SURFACES, ff_vaapi_context_s::va_display, ff_vaapi_context_s::va_render_surfaces, ff_vaapi_surface_s::va_surface_id, xine_current_frame_data_s::width, vo_frame_s::width, width, ff_vaapi_context_s::width, vaapi_context_impl::xine, XINE_IMGFMT_VAAPI, XINE_IMGFMT_YV12, XINE_VERBOSITY_LOG, xprintf, and yv12_to_yv12().

Referenced by _x_va_frame_update_frame_format().

## ◆ _x_va_frame_update_frame_format()

void _x_va_frame_update_frame_format | ( | vo_driver_t * | this_gen,
|  | vo_frame_t * | vo_frame,
|  | uint32_t | width,
|  | uint32_t | height,
|  | double | ratio,
|  | int | format,
|  | int | flags
| ) |  |

References _ctx_from_frame(), _x_assert, _x_va_accel_guarded_render(), _x_va_frame_displayed(), _x_va_frame_duplicate_frame_data(), _x_va_frame_provide_standard_frame_data(), vo_frame_s::accel_data, vaapi_context_impl::ctx_lock, mem_frame_t::format, FRAME_FORMAT_STR, height, vaapi_accel_s::index, lprintf, mem_frame_update_frame_format(), NULL, vo_frame_s::proc_duplicate_frame_data, vo_frame_s::proc_provide_standard_frame_data, RENDER_SURFACES, mem_frame_t::vo_frame, vo_frame_s::width, width, mem_frame_t::width, xine_container_of, and XINE_IMGFMT_VAAPI.

Referenced by _get_instance(), and vaapi_open_plugin().