xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Typedefs | Functions | Variables
xine_a52_decoder.c File Reference
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <xine/xine_internal.h>
#include <xine/audio_out.h>
#include "a52.h"
#include <xine/buffer.h>
#include <xine/xineutils.h>
#include "xine_a52_parser.h"

Data Structures

struct  a52dec_class_t
 
struct  a52dec_decoder_s
 

Macros

#define LOG_MODULE   "a52_decoder"
 
#define LOG_VERBOSE
 
#define SAMPLE_OFFS   384
 

Typedefs

typedef struct a52dec_decoder_s a52dec_decoder_t
 

Functions

static void a52dec_reset (audio_decoder_t *this_gen)
 
static void a52dec_discontinuity (audio_decoder_t *this_gen)
 
static void downmix_lfe_1 (sample_t *target, sample_t *lfe, sample_t gain)
 
static void downmix_lfe_2 (sample_t *target1, sample_t *target2, sample_t *lfe, sample_t gain)
 
static void float_to_int (sample_t *_f, int16_t *s16, int num_channels)
 
static void mute_channel (int16_t *s16, int num_channels)
 
static void a52dec_decode_frame (a52dec_decoder_t *this, int64_t pts, int preview_mode)
 
static void a52dec_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
 
static void a52dec_dispose (audio_decoder_t *this_gen)
 
static audio_decoder_topen_plugin (audio_decoder_class_t *class_gen, xine_stream_t *stream)
 
static void dispose_class (audio_decoder_class_t *this_gen)
 
static void lfe_level_change_cb (void *this_gen, xine_cfg_entry_t *entry)
 
static void a52_level_change_cb (void *this_gen, xine_cfg_entry_t *entry)
 
static void dynrng_compress_change_cb (void *this_gen, xine_cfg_entry_t *entry)
 
static void surround_downmix_change_cb (void *this_gen, xine_cfg_entry_t *entry)
 
static void * init_plugin (xine_t *xine, const void *data)
 

Variables

static const uint32_t audio_types []
 
static const decoder_info_t dec_info_audio
 
const plugin_info_t xine_plugin_info[] EXPORTED
 

Macro Definition Documentation

◆ LOG_MODULE

#define LOG_MODULE   "a52_decoder"

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ SAMPLE_OFFS

#define SAMPLE_OFFS   384

Referenced by a52dec_decode_frame().

Typedef Documentation

◆ a52dec_decoder_t

Function Documentation

◆ a52_level_change_cb()

static void a52_level_change_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

◆ a52dec_decode_data()

static void a52dec_decode_data ( audio_decoder_t * this_gen,
buf_element_t * buf )
static

◆ a52dec_decode_frame()

static void a52dec_decode_frame ( a52dec_decoder_t * this,
int64_t pts,
int preview_mode )
static

◆ a52dec_discontinuity()

static void a52dec_discontinuity ( audio_decoder_t * this_gen)
static

References xine_container_of.

Referenced by open_plugin().

◆ a52dec_dispose()

static void a52dec_dispose ( audio_decoder_t * this_gen)
static

References NULL, and xine_container_of.

Referenced by open_plugin().

◆ a52dec_reset()

static void a52dec_reset ( audio_decoder_t * this_gen)
static

References xine_a52_parser_reset(), and xine_container_of.

Referenced by open_plugin().

◆ dispose_class()

static void dispose_class ( audio_decoder_class_t * this_gen)
static

◆ downmix_lfe_1()

static void downmix_lfe_1 ( sample_t * target,
sample_t * lfe,
sample_t gain )
inlinestatic

Referenced by a52dec_decode_frame().

◆ downmix_lfe_2()

static void downmix_lfe_2 ( sample_t * target1,
sample_t * target2,
sample_t * lfe,
sample_t gain )
inlinestatic

References v.

Referenced by a52dec_decode_frame().

◆ dynrng_compress_change_cb()

static void dynrng_compress_change_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

References xine_cfg_entry_s::num_value.

Referenced by init_plugin().

◆ float_to_int()

static void float_to_int ( sample_t * _f,
int16_t * s16,
int num_channels )
inlinestatic

References v.

Referenced by a52dec_decode_frame().

◆ init_plugin()

static void * init_plugin ( xine_t * xine,
const void * data )
static

◆ lfe_level_change_cb()

static void lfe_level_change_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

◆ mute_channel()

static void mute_channel ( int16_t * s16,
int num_channels )
inlinestatic

Referenced by a52dec_decode_frame().

◆ open_plugin()

static audio_decoder_t * open_plugin ( audio_decoder_class_t * class_gen,
xine_stream_t * stream )
static

◆ surround_downmix_change_cb()

static void surround_downmix_change_cb ( void * this_gen,
xine_cfg_entry_t * entry )
static

References xine_cfg_entry_s::num_value.

Referenced by init_plugin().

Variable Documentation

◆ audio_types

const uint32_t audio_types[]
static
Initial value:
= {
0
}
#define BUF_AUDIO_DNET
Definition buffer.h:224
#define BUF_AUDIO_A52
Definition buffer.h:209

◆ dec_info_audio

const decoder_info_t dec_info_audio
static
Initial value:
= {
.supported_types = audio_types,
.priority = 8,
}
static const uint32_t audio_types[]
Definition xine_a52_decoder.c:705

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
static void * init_plugin(xine_t *xine, const void *data)
Definition xine_a52_decoder.c:636
static const decoder_info_t dec_info_audio
Definition xine_a52_decoder.c:711
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
Definition xine_plugin.c:78
#define PLUGIN_AUDIO_DECODER
Definition xine_plugin.h:32
#define PLUGIN_NONE
Definition xine_plugin.h:29
#define PLUGIN_MUST_PRELOAD
Definition xine_plugin.h:46