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_close (AVFormatContext *s)
 
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 }
 
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 121 of file mpc.c.

◆ mpc_read_close()

static int mpc_read_close ( AVFormatContext s)
static

Definition at line 180 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 195 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

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 229 of file mpc.c.

mpc_read_close
static int mpc_read_close(AVFormatContext *s)
Definition: mpc.c:180
mpc_read_packet
static int mpc_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: mpc.c:121
MPCContext
Definition: mpc.h:52
read_seek
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
read_close
static av_cold int read_close(AVFormatContext *ctx)
Definition: libcdio.c:145
read_header
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:530
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:188
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:195
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