FFmpeg  4.0
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 (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.

Referenced by mpc_read_header().

◆ DELAY_FRAMES

#define DELAY_FRAMES   32

Definition at line 31 of file mpc.c.

Referenced by mpc_read_seek().

Function Documentation

◆ mpc_probe()

static int mpc_probe ( 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 118 of file mpc.c.

◆ mpc_read_close()

static int mpc_read_close ( AVFormatContext s)
static

Definition at line 177 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 192 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",
}
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
static int mpc_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: mpc.c:118
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:192
static int mpc_read_close(AVFormatContext *s)
Definition: mpc.c:177
static av_cold int read_close(AVFormatContext *ctx)
Definition: libcdio.c:145
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
static int read_probe(AVProbeData *pd)
Definition: jvdec.c:55
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:530
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
static int mpc_read_header(AVFormatContext *s)
Definition: mpc.c:56
static int mpc_probe(AVProbeData *p)
Definition: mpc.c:48
Definition: mpc.h:52

Definition at line 226 of file mpc.c.