FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
mpc8.c File Reference
#include "libavcodec/get_bits.h"
#include "libavcodec/unary.h"
#include "apetag.h"
#include "avformat.h"
#include "internal.h"
#include "avio_internal.h"

Go to the source code of this file.

Data Structures

struct  MPCContext
 

Macros

#define MKMPCTAG(a, b)   (a | (b << 8))
 Two-byte MPC tag.
 
#define TAG_MPCK   MKTAG('M','P','C','K')
 

Enumerations

enum  MPCPacketTags {
  TAG_STREAMHDR = MKMPCTAG('S','H'), TAG_STREAMEND = MKMPCTAG('S','E'), TAG_AUDIOPACKET = MKMPCTAG('A','P'), TAG_SEEKTBLOFF = MKMPCTAG('S','O'),
  TAG_SEEKTABLE = MKMPCTAG('S','T'), TAG_REPLAYGAIN = MKMPCTAG('R','G'), TAG_ENCINFO = MKMPCTAG('E','I')
}
 Reserved MPC tags. More...
 

Functions

static int64_t bs_get_v (const uint8_t **bs)
 
static int mpc8_probe (AVProbeData *p)
 
static int64_t gb_get_v (GetBitContext *gb)
 
static void mpc8_get_chunk_header (AVIOContext *pb, int *tag, int64_t *size)
 
static void mpc8_parse_seektable (AVFormatContext *s, int64_t off)
 
static void mpc8_handle_chunk (AVFormatContext *s, int tag, int64_t chunk_pos, int64_t size)
 
static int mpc8_read_header (AVFormatContext *s)
 
static int mpc8_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mpc8_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 

Variables

static const int mpc8_rate [8] = { 44100, 48000, 37800, 32000, -1, -1, -1, -1 }
 
AVInputFormat ff_mpc8_demuxer
 

Macro Definition Documentation

#define MKMPCTAG (   a,
  b 
)    (a | (b << 8))

Two-byte MPC tag.

Definition at line 30 of file mpc8.c.

#define TAG_MPCK   MKTAG('M','P','C','K')

Definition at line 32 of file mpc8.c.

Referenced by mpc8_probe(), and mpc8_read_header().

Enumeration Type Documentation

Reserved MPC tags.

Enumerator:
TAG_STREAMHDR 
TAG_STREAMEND 
TAG_AUDIOPACKET 
TAG_SEEKTBLOFF 
TAG_SEEKTABLE 
TAG_REPLAYGAIN 
TAG_ENCINFO 

Definition at line 35 of file mpc8.c.

Function Documentation

static int64_t bs_get_v ( const uint8_t **  bs)
inlinestatic

Definition at line 58 of file mpc8.c.

Referenced by mpc8_probe().

static int mpc8_probe ( AVProbeData p)
static

Definition at line 76 of file mpc8.c.

static int64_t gb_get_v ( GetBitContext gb)
inlinestatic

Definition at line 109 of file mpc8.c.

Referenced by mpc8_parse_seektable().

static void mpc8_get_chunk_header ( AVIOContext pb,
int *  tag,
int64_t *  size 
)
static

Definition at line 124 of file mpc8.c.

Referenced by mpc8_parse_seektable(), mpc8_read_header(), and mpc8_read_packet().

static void mpc8_parse_seektable ( AVFormatContext s,
int64_t  off 
)
static

Definition at line 133 of file mpc8.c.

Referenced by mpc8_handle_chunk().

static void mpc8_handle_chunk ( AVFormatContext s,
int  tag,
int64_t  chunk_pos,
int64_t  size 
)
static

Definition at line 185 of file mpc8.c.

Referenced by mpc8_read_header(), and mpc8_read_packet().

static int mpc8_read_header ( AVFormatContext s)
static

Definition at line 202 of file mpc8.c.

static int mpc8_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 266 of file mpc8.c.

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

Definition at line 296 of file mpc8.c.

Variable Documentation

const int mpc8_rate[8] = { 44100, 48000, 37800, 32000, -1, -1, -1, -1 }
static

Definition at line 48 of file mpc8.c.

Referenced by mpc8_read_header().

AVInputFormat ff_mpc8_demuxer
Initial value:
= {
.name = "mpc8",
.long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
.priv_data_size = sizeof(MPCContext),
}

Definition at line 309 of file mpc8.c.