xine-lib 1.2.13-20230125hg15249
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 <a52dec/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)
 
const plugin_info_t xine_plugin_info[] __attribute__ ((visibility("default")))
 

Variables

static const uint32_t audio_types []
 
static const decoder_info_t dec_info_audio
 

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

◆ __attribute__()

const plugin_info_t xine_plugin_info[] __attribute__ ( (visibility("default")) )

◆ a52_level_change_cb()

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

◆ a52dec_decode_data()

◆ a52dec_decode_frame()

◆ 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()

◆ 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()

◆ 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

Referenced by __attribute__().