xine-lib 1.2.13-20230125hg15249
|
xine interface to libmusepack/libmpcdec More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <xine/xine_internal.h>
#include <xine/audio_out.h>
#include <xine/buffer.h>
#include <xine/xineutils.h>
#include "mpcdec/mpcdec.h"
Data Structures | |
struct | mpc_decoder_s |
Macros | |
#define | LOG_MODULE "mpc_decoder" |
#define | LOG_VERBOSE |
#define | MPC_DECODER_MEMSIZE 65536 |
#define | MPC_DECODER_MEMSIZE2 (MPC_DECODER_MEMSIZE/2) |
#define | INIT_BUFSIZE (MPC_DECODER_MEMSIZE*2) |
#define | MPC_THIS mpc_decoder_t * const this = (mpc_decoder_t *)data |
Typedefs | |
typedef struct mpc_decoder_s | mpc_decoder_t |
Functions | |
static int32_t | mpc_reader_read (void *const data, void *const ptr, int size) |
static mpc_bool_t | mpc_reader_seek (void *const data, const int32_t offset) |
static int32_t | mpc_reader_tell (void *const data) |
static int32_t | mpc_reader_get_size (void *const data) |
static mpc_bool_t | mpc_reader_canseek (void *data) |
static void | float_to_int (const float *const _f, int16_t *const s16, const int samples) |
Convert a array of floating point samples into 16-bit signed integer samples. | |
static int | mpc_decode_frame (mpc_decoder_t *this) |
static void | mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) |
static void | mpc_reset (audio_decoder_t *this_gen) |
static void | mpc_discontinuity (audio_decoder_t *this_gen) |
static void | mpc_dispose (audio_decoder_t *this_gen) |
static audio_decoder_t * | open_plugin (audio_decoder_class_t *class_gen, xine_stream_t *stream) |
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 |
xine interface to libmusepack/libmpcdec
Add support for 32-bit float samples.
Add support for seeking.
#define INIT_BUFSIZE (MPC_DECODER_MEMSIZE*2) |
Referenced by mpc_decode_data().
#define LOG_MODULE "mpc_decoder" |
#define LOG_VERBOSE |
#define MPC_DECODER_MEMSIZE 65536 |
Referenced by mpc_decode_data().
#define MPC_DECODER_MEMSIZE2 (MPC_DECODER_MEMSIZE/2) |
Referenced by mpc_decode_data().
#define MPC_THIS mpc_decoder_t * const this = (mpc_decoder_t *)data |
Referenced by mpc_reader_get_size(), mpc_reader_read(), and mpc_reader_seek().
typedef struct mpc_decoder_s mpc_decoder_t |
|
inlinestatic |
Convert a array of floating point samples into 16-bit signed integer samples.
f | Floating point samples array (origin) |
s16 | 16-bit signed integer samples array (destination) |
samples | Number of samples to convert |
References INT16_MAX, and INT16_MIN.
Referenced by mpc_decode_frame().
|
static |
References audio_decoder_s::dispose, N_, NULL, open_plugin(), and audio_decoder_class_s::open_plugin.
|
static |
References _, _x_ao_channels2mode(), _x_meta_info_set_utf8(), _x_stream_info_get(), _x_stream_info_set(), BUF_FLAG_FRAME_END, BUF_FLAG_HEADER, BUF_FLAG_SPECIAL, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, INIT_BUFSIZE, lprintf, mpc_decode_frame(), MPC_DECODER_MEMSIZE, MPC_DECODER_MEMSIZE2, mpc_reader_canseek(), mpc_reader_get_size(), mpc_reader_read(), mpc_reader_seek(), mpc_reader_tell(), buf_element_s::size, xine_container_of, xine_fast_memcpy, XINE_META_INFO_AUDIOCODEC, XINE_STREAM_INFO_AUDIO_BITRATE, XINE_STREAM_INFO_AUDIO_HANDLED, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.
Referenced by open_plugin().
|
static |
References float_to_int(), lprintf, audio_buffer_s::mem, audio_buffer_s::num_frames, audio_buffer_s::stream, and audio_buffer_s::vpts.
Referenced by mpc_decode_data().
|
static |
Referenced by open_plugin().
|
static |
References _x_freep(), and xine_container_of.
Referenced by open_plugin().
|
static |
References lprintf.
Referenced by mpc_decode_data().
|
static |
References lprintf, and MPC_THIS.
Referenced by mpc_decode_data().
|
static |
References lprintf, MPC_THIS, and xine_fast_memcpy.
Referenced by mpc_decode_data().
|
static |
References lprintf, and MPC_THIS.
Referenced by mpc_decode_data().
|
static |
References lprintf.
Referenced by mpc_decode_data().
|
static |
References xine_container_of.
Referenced by open_plugin().
|
static |
References audio_decoder_class_s::dispose, mpc_decode_data(), mpc_discontinuity(), mpc_dispose(), mpc_reset(), and NULL.
Referenced by init_plugin().
|
static |
|
static |
const plugin_info_t xine_plugin_info [] EXPORTED |