FFmpeg
Data Structures | Macros | Functions | Variables
mpc.c File Reference
#include "libavutil/channel_layout.h"
#include "avformat.h"
#include "internal.h"
#include "apetag.h"
#include "id3v1.h"
#include "libavutil/dict.h"

Go to the source code of this file.

Data Structures

struct  MPCFrame
 
struct  MPCContext
 

Macros

#define MPC_FRAMESIZE   1152
 
#define DELAY_FRAMES   32
 

Functions

static int mpc_probe (const AVProbeData *p)
 
static int mpc_read_header (AVFormatContext *s)
 
static int mpc_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mpc_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 Seek to the given position If position is unknown but is within the limits of file then packets are skipped unless desired position is reached. More...
 

Variables

static const int mpc_rate [4] = { 44100, 48000, 37800, 32000 }
 
const AVInputFormat ff_mpc_demuxer
 

Macro Definition Documentation

◆ MPC_FRAMESIZE

#define MPC_FRAMESIZE   1152

Definition at line 30 of file mpc.c.

◆ DELAY_FRAMES

#define DELAY_FRAMES   32

Definition at line 31 of file mpc.c.

Function Documentation

◆ mpc_probe()

static int mpc_probe ( const AVProbeData p)
static

Definition at line 48 of file mpc.c.

◆ mpc_read_header()

static int mpc_read_header ( AVFormatContext s)
static

Definition at line 56 of file mpc.c.

◆ mpc_read_packet()

static int mpc_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 122 of file mpc.c.

◆ mpc_read_seek()

static int mpc_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
)
static

Seek to the given position If position is unknown but is within the limits of file then packets are skipped unless desired position is reached.

Also this function makes use of the fact that timestamp == frameno

Definition at line 187 of file mpc.c.

Variable Documentation

◆ mpc_rate

const int mpc_rate[4] = { 44100, 48000, 37800, 32000 }
static

Definition at line 33 of file mpc.c.

Referenced by mpc_read_header().

◆ ff_mpc_demuxer

const AVInputFormat ff_mpc_demuxer
Initial value:
= {
.name = "mpc",
.long_name = NULL_IF_CONFIG_SMALL("Musepack"),
.priv_data_size = sizeof(MPCContext),
.extensions = "mpc",
}

Definition at line 221 of file mpc.c.

mpc_read_packet
static int mpc_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: mpc.c:122
MPCContext
Definition: mpc.h:53
read_seek
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
read_header
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:527
read_probe
static int read_probe(const AVProbeData *pd)
Definition: jvdec.c:55
mpc_read_header
static int mpc_read_header(AVFormatContext *s)
Definition: mpc.c:56
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:117
mpc_read_seek
static int mpc_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Seek to the given position If position is unknown but is within the limits of file then packets are s...
Definition: mpc.c:187
read_packet
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
mpc_probe
static int mpc_probe(const AVProbeData *p)
Definition: mpc.c:48