xine-lib: xine-lib-1.2.13/src/demuxers/demux_ivf.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Functions | Variables
demux_ivf.c File Reference
`#include <stdlib.h>`
`#include "group_video.h"`
`#include <xine/xine_internal.h>`
`#include <xine/demux.h>`
`#include "bswap.h"`

## Data Structures
struct | demux_ivf_t

## Macros
#define | LOG_MODULE "demux_ivf"
#define | LOG_VERBOSE

## Functions
static int | demux_ivf_send_chunk (demux_plugin_t *this_gen)
static int | demux_ivf_get_status (demux_plugin_t *this_gen)
static void | demux_ivf_send_headers (demux_plugin_t *this_gen)
static int | demux_ivf_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
static int | demux_ivf_get_stream_length (demux_plugin_t *this_gen)
static uint32_t | demux_ivf_get_capabilities (demux_plugin_t *this_gen)
static int | demux_ivf_get_optional_data (demux_plugin_t *this_gen, void *data, int data_type)
static demux_plugin_t * | open_plugin (demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input)
void * | demux_ivf_init_class (xine_t *xine, const void *data)

## Variables
struct { |
uint32_t buf_type |
char fourcc [4] |
} | ivf_tag_map [] |

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "demux_ivf"

Referenced by demux_ivf_send_headers(), and open_plugin().

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Function Documentation

## ◆ demux_ivf_get_capabilities()

static uint32_t demux_ivf_get_capabilities | ( | demux_plugin_t * | this_gen | ) |
| static

References DEMUX_CAP_NOCAP.

Referenced by open_plugin().

## ◆ demux_ivf_get_optional_data()

static int demux_ivf_get_optional_data | ( | demux_plugin_t * | this_gen,
|  | void * | data,
|  | int | data_type )
| static

References DEMUX_OPTIONAL_UNSUPPORTED.

Referenced by open_plugin().

## ◆ demux_ivf_get_status()

static int demux_ivf_get_status | ( | demux_plugin_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ demux_ivf_get_stream_length()

static int demux_ivf_get_stream_length | ( | demux_plugin_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ demux_ivf_init_class()

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

References demux_plugin_s::dispose, N_, NULL, demux_class_s::open_plugin, and open_plugin().

## ◆ demux_ivf_seek()

static int demux_ivf_seek | ( | demux_plugin_t * | this_gen,
|  | off_t | start_pos,
|  | int | start_time,
|  | int | playing )
| static

References _x_demux_flush_engine(), DEMUX_OK, and input().

Referenced by open_plugin().

## ◆ demux_ivf_send_chunk()

static int demux_ivf_send_chunk | ( | demux_plugin_t * | this_gen | ) |
| static

References _x_demux_control_newpts(), _x_demux_read_send_data(), _X_LE_32, _X_LE_64, BUF_FLAG_SEEK, buf_type, DEMUX_FINISHED, input(), and lprintf.

Referenced by open_plugin().

## ◆ demux_ivf_send_headers()

static void demux_ivf_send_headers | ( | demux_plugin_t * | this_gen | ) |
| static

References _x_demux_control_start(), _X_LE_16, _X_LE_32, _x_stream_info_set(), xine_bmiheader::biHeight, xine_bmiheader::biSize, xine_bmiheader::biWidth, BUF_FLAG_ASPECT, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_HEADER, BUF_FLAG_STDHEADER, buf_type, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, DEMUX_FINISHED, DEMUX_OK, height, input(), LOG_MODULE, buf_element_s::size, buf_element_s::type, width, XINE_STREAM_INFO_FRAME_DURATION, XINE_STREAM_INFO_HAS_AUDIO, XINE_STREAM_INFO_HAS_VIDEO, XINE_STREAM_INFO_VIDEO_BITRATE, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by open_plugin().

## ◆ open_plugin()

static demux_plugin_t * open_plugin | ( | demux_class_t * | class_gen,
|  | xine_stream_t * | stream,
|  | input_plugin_t * | input )
| static

References _x_demux_read_header(), _x_is_fourcc(), _X_LE_16, _X_LE_32, buf_type, demux_ivf_t::buf_type, xine_stream_s::content_detection_method, default_demux_plugin_dispose, DEMUX_FINISHED, demux_ivf_get_capabilities(), demux_ivf_get_optional_data(), demux_ivf_get_status(), demux_ivf_get_stream_length(), demux_ivf_seek(), demux_ivf_send_chunk(), demux_ivf_send_headers(), fourcc, input(), ivf_tag_map, LOG_MODULE, METHOD_BY_CONTENT, METHOD_BY_MRL, METHOD_EXPLICIT, NULL, input_plugin_s::seek, xine_stream_s::xine, XINE_VERBOSITY_LOG, and xprintf.

Referenced by demux_ivf_init_class().

## Variable Documentation

## ◆ buf_type

uint32_t buf_type

Referenced by _x_buf_audio_name(), _x_buf_video_name(), demux_ac3_send_chunk(), demux_ac3_send_headers(), demux_image_next(), demux_ivf_send_chunk(), demux_ivf_send_headers(), format_lang_string(), get_auds_codec_name(), get_vids_codec_n_name(), get_vids_codec_name(), gsm610_decode_data(), open_ac3_file(), open_plugin(), open_plugin(), parse_video_stream(), read_flv_packet(), w32v_init_codec(), and w32v_init_ds_dmo_codec().

## ◆ fourcc

char fourcc[4]

Referenced by demux_ra_send_headers(), fill_extra_data(), open_plugin(), open_ra_file(), probe_snd_file(), real_parse_audio_specific_data(), real_parse_headers(), and vaapi_create_subpicture().

## ◆ [struct]

const struct { ... } ivf_tag_map[]

Initial value:
= {
{ BUF_VIDEO_AV1, "AV01" },
{ BUF_VIDEO_H264, "H264" },
{ BUF_VIDEO_HEVC, "HEVC" },
{ BUF_VIDEO_VP8, "VP80" },
{ BUF_VIDEO_VP9, "VP90" },
}
BUF_VIDEO_VP9
#define BUF_VIDEO_VP9
Definition buffer.h:195
BUF_VIDEO_HEVC
#define BUF_VIDEO_HEVC
Definition buffer.h:196
BUF_VIDEO_AV1
#define BUF_VIDEO_AV1
Definition buffer.h:197
BUF_VIDEO_VP8
#define BUF_VIDEO_VP8
Definition buffer.h:194
BUF_VIDEO_H264
#define BUF_VIDEO_H264
Definition buffer.h:167

Referenced by open_plugin().