xine-lib: xine-lib-1.2.12/src/video_dec/libvdpau/alterh264_decode.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Functions
alterh264_decode.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <stdarg.h>`
`#include <string.h>`
`#include <sys/types.h>`
`#include <unistd.h>`
`#include <xine/xine_internal.h>`
`#include <xine/video_out.h>`
`#include <xine/buffer.h>`
`#include <xine/xineutils.h>`
`#include "accel_vdpau.h"`
`#include <vdpau/vdpau.h>`
`#include "group_vdpau.h"`
`#include "vdec_hw_h264.h"`

## Data Structures
struct | vdpau_h264_alter_decoder_t

## Macros
#define | LOG_MODULE "vdpau_h264"

## Functions
static VdpDecoderProfile | vdpau_h264_map_profile (int profile_idc)
static | __attribute__ ((format(printf, 3, 4)))
static int | vdpau_h264_alter_frame_new (void *user_data, vdec_hw_h264_frame_t *frame)
static int | vdpau_h264_alter_frame_render (void *user_data, vdec_hw_h264_frame_t *frame)
static int | vdpau_h264_alter_frame_ready (void *user_data, vdec_hw_h264_frame_t *frame)
static void | vdpau_h264_alter_frame_delete (void *user_data, vdec_hw_h264_frame_t *frame)
static void | vdpau_h264_alter_decode_data (video_decoder_t *this_gen, buf_element_t *buf)
static void | vdpau_h264_alter_flush (video_decoder_t *this_gen)
static void | vdpau_h264_alter_reset (video_decoder_t *this_gen)
static void | vdpau_h264_alter_discontinuity (video_decoder_t *this_gen)
static void | vdpau_h264_alter_dispose (video_decoder_t *this_gen)
static video_decoder_t * | open_plugin (video_decoder_class_t *class_gen, xine_stream_t *stream)
void * | h264_alter_init_plugin (xine_t *xine, const void *data)

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "vdpau_h264"

## Function Documentation

## ◆ __attribute__()

static __attribute__ | ( | (format(printf, 3, 4)) |  | ) |
| static

References LOG_MODULE, user_data(), VDEC_HW_H264_LOGG_ERR, VDEC_HW_H264_LOGG_INFO, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

## ◆ h264_alter_init_plugin()

void * h264_alter_init_plugin | ( | xine_t * | xine,
|  | const void * | data
| ) |  |

References N_, NULL, open_plugin(), and video_decoder_class_s::open_plugin.

## ◆ open_plugin()

static video_decoder_t * open_plugin | ( | video_decoder_class_t * | class_gen,
|  | xine_stream_t * | stream
| ) |  |
| static

References vo_frame_s::accel_data, vo_frame_s::free, xine_video_port_s::get_capabilities, xine_video_port_s::get_frame, xine_video_port_s::get_property, vdpau_accel_t::lock, NULL, xine_video_port_s::open, vdpau_accel_t::unlock, vdec_hw_h264_new(), vdpau_accel_t::vdp_decoder_create, vdpau_accel_t::vdp_decoder_destroy, vdpau_accel_t::vdp_device, vdpau_accel_t::vdp_runtime_nr, vdpau_h264_alter_decode_data(), vdpau_h264_alter_discontinuity(), vdpau_h264_alter_dispose(), vdpau_h264_alter_flush(), vdpau_h264_alter_frame_delete(), vdpau_h264_alter_frame_new(), vdpau_h264_alter_frame_ready(), vdpau_h264_alter_frame_render(), vdpau_h264_alter_reset(), xine_stream_s::video_out, VO_BOTH_FIELDS, VO_CAP_VDPAU_H264, vdpau_accel_t::vo_frame, VO_GET_FRAME_MAY_FAIL, VO_PROP_BUFS_TOTAL, xine_stream_s::xine, XINE_IMGFMT_VDPAU, XINE_VERBOSITY_LOG, and xprintf.

Referenced by h264_alter_init_plugin().

## ◆ vdpau_h264_alter_decode_data()

static void vdpau_h264_alter_decode_data | ( | video_decoder_t * | this_gen,
|  | buf_element_t * | buf
| ) |  |
| static

References xine_bmiheader::biHeight, xine_bmiheader::biSize, xine_bmiheader::biWidth, BUF_FLAG_ASPECT, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_SPECIAL, BUF_FLAG_STDHEADER, BUF_SPECIAL_DECODER_CONFIG, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, lprintf, buf_element_s::pts, buf_element_s::size, vdec_hw_h264_put_config(), vdec_hw_h264_put_container_info(), and vdec_hw_h264_put_frame().

Referenced by open_plugin().

## ◆ vdpau_h264_alter_discontinuity()

static void vdpau_h264_alter_discontinuity | ( | video_decoder_t * | this_gen | ) |
| static

References lprintf, and vdec_hw_h264_zero_pts().

Referenced by open_plugin().

## ◆ vdpau_h264_alter_dispose()

static void vdpau_h264_alter_dispose | ( | video_decoder_t * | this_gen | ) |
| static

References lprintf, and vdec_hw_h264_delete().

Referenced by open_plugin().

## ◆ vdpau_h264_alter_flush()

static void vdpau_h264_alter_flush | ( | video_decoder_t * | this_gen | ) |
| static

References lprintf, and vdec_hw_h264_flush().

Referenced by open_plugin().

## ◆ vdpau_h264_alter_frame_delete()

static void vdpau_h264_alter_frame_delete | ( | void * | user_data,
|  | vdec_hw_h264_frame_t * | frame
| ) |  |
| static

References vo_frame_s::free, LOG_MODULE, NULL, vdec_hw_h264_frame_t::user_data, user_data(), XINE_VERBOSITY_LOG, and xprintf.

Referenced by open_plugin().

## ◆ vdpau_h264_alter_frame_new()

static int vdpau_h264_alter_frame_new | ( | void * | user_data,
|  | vdec_hw_h264_frame_t * | frame
| ) |  |
| static

References vo_frame_s::bad_frame, vdec_hw_h264_frame_t::bad_frame, vdec_hw_h264_frame_t::color_matrix, vo_frame_s::duration, vdec_hw_h264_frame_t::duration, vdec_hw_h264_frame_t::flags, vdec_hw_h264_frame_t::height, LOG_MODULE, vo_frame_s::progressive_frame, vdec_hw_h264_frame_t::progressive_frame, vo_frame_s::pts, vdec_hw_h264_frame_t::pts, vdec_hw_h264_frame_t::ratio, vdec_hw_h264_frame_t::user_data, user_data(), VDEC_HW_H264_FRAME_BOTTOM_FIELD, VDEC_HW_H264_FRAME_NEW_SEQ, VDEC_HW_H264_FRAME_TOP_FIELD, VO_BOTTOM_FIELD, VO_NEW_SEQUENCE_FLAG, VO_SET_FLAGS_CM, VO_TOP_FIELD, vdec_hw_h264_frame_t::width, XINE_IMGFMT_VDPAU, XINE_VERBOSITY_LOG, and xprintf.

Referenced by open_plugin().

## ◆ vdpau_h264_alter_frame_ready()

static int vdpau_h264_alter_frame_ready | ( | void * | user_data,
|  | vdec_hw_h264_frame_t * | frame
| ) |  |
| static

References vo_frame_s::draw, vo_frame_s::pts, vdec_hw_h264_frame_t::pts, vo_frame_s::top_field_first, vdec_hw_h264_frame_t::top_field_first, vdec_hw_h264_frame_t::user_data, user_data(), and xine_usec_sleep().

Referenced by open_plugin().

## ◆ vdpau_h264_alter_frame_render()

static int vdpau_h264_alter_frame_render | ( | void * | user_data,
|  | vdec_hw_h264_frame_t * | frame
| ) |  |
| static

References _x_meta_info_set_utf8(), _x_stream_info_set(), vo_frame_s::accel_data, xine_format_change_data_t::aspect, vdec_hw_h264_frame_info_s::bottom_field_flag, vdec_hw_h264_info_ref_frame_t::bottom_is_reference, CAST_VdpPictureInfo_PTR, vdec_hw_h264_frame_info_s::chroma_qp_index_offset, vdec_hw_h264_frame_info_s::constrained_intra_pred_flag, vdec_hw_h264_frame_info_s::deblocking_filter_control_present_flag, vdec_hw_h264_frame_info_s::delta_pic_order_always_zero_flag, vdec_hw_h264_frame_info_s::direct_8x8_inference_flag, vdec_hw_h264_frame_t::duration, vdec_hw_h264_frame_info_s::entropy_coding_mode_flag, vdec_hw_h264_info_ref_frame_t::field_order_cnt, vdec_hw_h264_frame_info_s::field_order_cnt, vdec_hw_h264_frame_info_s::field_pic_flag, vdec_hw_h264_info_ref_frame_t::frame, vdec_hw_h264_info_ref_frame_t::frame_idx, vdec_hw_h264_frame_info_s::frame_mbs_only_flag, vdec_hw_h264_frame_info_s::frame_num, xine_format_change_data_t::height, vdec_hw_h264_frame_t::height, vdec_hw_h264_frame_t::info, vdec_hw_h264_frame_info_s::is_reference, vdec_hw_h264_frame_info_s::log2_max_frame_num_minus4, vdec_hw_h264_frame_info_s::log2_max_pic_order_cnt_lsb_minus4, LOG_MODULE, lprintf, vdec_hw_h264_frame_info_s::mb_adaptive_frame_field_flag, vdec_hw_h264_frame_t::num_ref_frames, vdec_hw_h264_frame_info_s::num_ref_frames, vdec_hw_h264_frame_info_s::num_ref_idx_l0_active_minus1, vdec_hw_h264_frame_info_s::num_ref_idx_l1_active_minus1, vdec_hw_h264_frame_info_s::pic_init_qp_minus26, vdec_hw_h264_frame_info_s::pic_order_cnt_type, vdec_hw_h264_frame_info_s::pic_order_present_flag, vdec_hw_h264_frame_t::profile, vdec_hw_h264_frame_t::ratio, vdec_hw_h264_frame_info_s::redundant_pic_cnt_present_flag, vdec_hw_h264_frame_info_s::referenceFrames, vdec_hw_h264_frame_info_s::scaling_lists_4x4, vdec_hw_h264_frame_info_s::scaling_lists_8x8, vdec_hw_h264_frame_info_s::second_chroma_qp_index_offset, vdec_hw_h264_frame_info_s::slice_count, vdec_hw_h264_frame_info_s::slices_bitstream, vdec_hw_h264_frame_info_s::slices_bytes, vdec_hw_h264_info_ref_frame_t::top_is_reference, vdec_hw_h264_frame_info_s::transform_8x8_mode_flag, vdec_hw_h264_frame_t::user_data, user_data(), vdpau_h264_map_profile(), vdec_hw_h264_frame_info_s::weighted_bipred_idc, vdec_hw_h264_frame_info_s::weighted_pred_flag, xine_format_change_data_t::width, vdec_hw_h264_frame_t::width, XINE_EVENT_FRAME_FORMAT_CHANGE, xine_event_send(), xine_fast_memcpy, XINE_META_INFO_VIDEOCODEC, XINE_STREAM_INFO_FRAME_DURATION, XINE_STREAM_INFO_VIDEO_HEIGHT, XINE_STREAM_INFO_VIDEO_RATIO, XINE_STREAM_INFO_VIDEO_WIDTH, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by open_plugin().

## ◆ vdpau_h264_alter_reset()

static void vdpau_h264_alter_reset | ( | video_decoder_t * | this_gen | ) |
| static

References lprintf, and vdec_hw_h264_reset().

Referenced by open_plugin().

## ◆ vdpau_h264_map_profile()

static VdpDecoderProfile vdpau_h264_map_profile | ( | int | profile_idc | ) |
| static

Referenced by vdpau_h264_alter_frame_render().