xine-lib: xine-lib-1.2.13/src/combined/ffmpeg/ffmpeg_decoder.c File Reference

xine-lib 1.2.13-20230125hg15249

Functions | Variables
ffmpeg_decoder.c File Reference
`#include <pthread.h>`
`#include <avcodec.h>`
`#include "ffmpeg_compat.h"`
`#include <xine.h>`
`#include <xine/xine_internal.h>`
`#include <xine/xine_plugin.h>`
`#include <xine/buffer.h>`
`#include "ffmpeg_decoder.h"`
`#include "ff_audio_list.h"`
`#include "ff_video_list.h"`

## Functions
static void | _init_once_routine (void)
void | init_once_routine (void)

## Variables
const size_t | ff_video_lookup_entries = sizeof(ff_video_lookup) / sizeof(ff_video_lookup[0])
const size_t | ff_audio_lookup_entries = sizeof(ff_audio_lookup) / sizeof(ff_audio_lookup[0])
pthread_mutex_t | ffmpeg_lock
static const decoder_info_t | dec_info_ffmpeg_audio
static const uint32_t | wmv8_video_types []
static const decoder_info_t | dec_info_ffmpeg_wmv8
static const uint32_t | wmv9_video_types []
static const decoder_info_t | dec_info_ffmpeg_wmv9
static const decoder_info_t | dec_info_ffmpeg_video
const plugin_info_t xine_plugin_info[] | EXPORTED

## Function Documentation

## ◆ _init_once_routine()

static void _init_once_routine | ( | void |  | ) |
| static

References ffmpeg_lock, and NULL.

Referenced by init_once_routine().

## ◆ init_once_routine()

void init_once_routine | ( | void |  | ) |

References _init_once_routine(), and once_control.

Referenced by ff_audio_open_plugin(), ff_video_open_plugin(), input_avformat_get_instance(), input_avio_get_instance(), and open_demux_avformat_plugin().

## Variable Documentation

## ◆ dec_info_ffmpeg_audio

const decoder_info_t dec_info_ffmpeg_audio
| static

Initial value:
= {
.supported_types = supported_audio_types,
.priority = 7,
}
supported_audio_types
static uint32_t supported_audio_types[]
Definition ff_dvaudio_decoder.c:374

## ◆ dec_info_ffmpeg_video

const decoder_info_t dec_info_ffmpeg_video
| static

Initial value:
= {
.supported_types = supported_video_types,
.priority = 6,
}
supported_video_types
static const uint32_t supported_video_types[]
Definition ff_video_list.h:90

## ◆ dec_info_ffmpeg_wmv8

const decoder_info_t dec_info_ffmpeg_wmv8
| static

Initial value:
= {
.supported_types = wmv8_video_types,
.priority = 0,
}
wmv8_video_types
static const uint32_t wmv8_video_types[]
Definition ffmpeg_decoder.c:110

## ◆ dec_info_ffmpeg_wmv9

const decoder_info_t dec_info_ffmpeg_wmv9
| static

Initial value:
= {
.supported_types = wmv9_video_types,
.priority = 0,
}
wmv9_video_types
static const uint32_t wmv9_video_types[]
Definition ffmpeg_decoder.c:120

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_VIDEO_DECODER | PLUGIN_MUST_PRELOAD, 19, "ffmpegvideo", XINE_VERSION_CODE, &dec_info_ffmpeg_video, init_video_plugin },
{ PLUGIN_VIDEO_DECODER, 19, "ffmpeg-wmv8", XINE_VERSION_CODE, &dec_info_ffmpeg_wmv8, init_video_plugin },
{ PLUGIN_VIDEO_DECODER, 19, "ffmpeg-wmv9", XINE_VERSION_CODE, &dec_info_ffmpeg_wmv9, init_video_plugin },
{ PLUGIN_AUDIO_DECODER, 16, "ffmpegaudio", XINE_VERSION_CODE, &dec_info_ffmpeg_audio, init_audio_plugin },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
init_audio_plugin
void * init_audio_plugin(xine_t *xine, const void *data)
Definition ff_audio_decoder.c:1555
init_video_plugin
void * init_video_plugin(xine_t *xine, const void *data)
Definition ff_video_decoder.c:3230
dec_info_ffmpeg_audio
static const decoder_info_t dec_info_ffmpeg_audio
Definition ffmpeg_decoder.c:105
dec_info_ffmpeg_wmv8
static const decoder_info_t dec_info_ffmpeg_wmv8
Definition ffmpeg_decoder.c:115
dec_info_ffmpeg_wmv9
static const decoder_info_t dec_info_ffmpeg_wmv9
Definition ffmpeg_decoder.c:125
dec_info_ffmpeg_video
static const decoder_info_t dec_info_ffmpeg_video
Definition ffmpeg_decoder.c:130
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
NULL
Definition xine_plugin.c:78
PLUGIN_AUDIO_DECODER
#define PLUGIN_AUDIO_DECODER
Definition xine_plugin.h:32
PLUGIN_NONE
#define PLUGIN_NONE
Definition xine_plugin.h:29
PLUGIN_MUST_PRELOAD
#define PLUGIN_MUST_PRELOAD
Definition xine_plugin.h:46
PLUGIN_VIDEO_DECODER
#define PLUGIN_VIDEO_DECODER
Definition xine_plugin.h:33

## ◆ ff_audio_lookup_entries

const size_t ff_audio_lookup_entries = sizeof(ff_audio_lookup) / sizeof(ff_audio_lookup[0])

Referenced by audio_codec_lookup(), and ff_audio_init_codec().

## ◆ ff_video_lookup_entries

const size_t ff_video_lookup_entries = sizeof(ff_video_lookup) / sizeof(ff_video_lookup[0])

Referenced by ff_video_open_plugin(), and video_codec_lookup().

## ◆ ffmpeg_lock

pthread_mutex_t ffmpeg_lock

Referenced by _init_once_routine(), ff_aac_mode_parse(), ff_audio_dispose(), ff_audio_init_codec(), ff_audio_open_codec(), ff_audio_reset(), ff_audio_reset_parser(), ff_dispose(), ff_video_open_plugin(), and init_video_codec().

## ◆ wmv8_video_types

const uint32_t wmv8_video_types[]
| static

Initial value:
= {
BUF_VIDEO_WMV8,
0
}
BUF_VIDEO_WMV8
#define BUF_VIDEO_WMV8
Definition buffer.h:110

## ◆ wmv9_video_types

const uint32_t wmv9_video_types[]
| static

Initial value:
= {
BUF_VIDEO_WMV9,
0
}
BUF_VIDEO_WMV9
#define BUF_VIDEO_WMV9
Definition buffer.h:145