FFmpeg
Data Structures | Macros | Functions | Variables
flacdec.c File Reference
#include "libavutil/channel_layout.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/flac.h"
#include "avformat.h"
#include "demux.h"
#include "flac_picture.h"
#include "internal.h"
#include "rawdec.h"
#include "oggdec.h"
#include "replaygain.h"

Go to the source code of this file.

Data Structures

struct  FLACDecContext
 

Macros

#define SEEKPOINT_SIZE   18
 

Functions

static void reset_index_position (int64_t metadata_head_size, AVStream *st)
 
static int flac_read_header (AVFormatContext *s)
 
static int raw_flac_probe (const AVProbeData *p)
 
static int flac_probe (const AVProbeData *p)
 
static av_unused int64_t flac_read_timestamp (AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit)
 
static int flac_close (AVFormatContext *s)
 
static int flac_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 

Variables

static const uint16_t sr_table [16]
 
const AVInputFormat ff_flac_demuxer
 

Macro Definition Documentation

◆ SEEKPOINT_SIZE

#define SEEKPOINT_SIZE   18

Definition at line 34 of file flacdec.c.

Function Documentation

◆ reset_index_position()

static void reset_index_position ( int64_t  metadata_head_size,
AVStream st 
)
static

Definition at line 43 of file flacdec.c.

Referenced by flac_read_header().

◆ flac_read_header()

static int flac_read_header ( AVFormatContext s)
static

Definition at line 55 of file flacdec.c.

◆ raw_flac_probe()

static int raw_flac_probe ( const AVProbeData p)
static

Definition at line 228 of file flacdec.c.

Referenced by flac_probe().

◆ flac_probe()

static int flac_probe ( const AVProbeData p)
static

Definition at line 244 of file flacdec.c.

◆ flac_read_timestamp()

static av_unused int64_t flac_read_timestamp ( AVFormatContext s,
int  stream_index,
int64_t *  ppos,
int64_t  pos_limit 
)
static

Definition at line 271 of file flacdec.c.

◆ flac_close()

static int flac_close ( AVFormatContext s)
static

Definition at line 334 of file flacdec.c.

◆ flac_seek()

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

Definition at line 343 of file flacdec.c.

Variable Documentation

◆ sr_table

const uint16_t sr_table[16]
static
Initial value:
= {
0, 1764, 3528, 3840, 160, 320, 441, 480, 640, 882, 960, 1920, 0, 0, 0, 0
}

Definition at line 51 of file flacdec.c.

Referenced by flac_read_header().

◆ ff_flac_demuxer

const AVInputFormat ff_flac_demuxer
Initial value:
= {
.name = "flac",
.long_name = NULL_IF_CONFIG_SMALL("raw FLAC"),
.read_probe = flac_probe,
.read_header = flac_read_header,
.read_close = flac_close,
.read_seek = flac_seek,
.read_timestamp = flac_read_timestamp,
.extensions = "flac",
.raw_codec_id = AV_CODEC_ID_FLAC,
.priv_data_size = sizeof(FLACDecContext),
.priv_class = &ff_raw_demuxer_class,
}

Definition at line 367 of file flacdec.c.

flac_probe
static int flac_probe(const AVProbeData *p)
Definition: flacdec.c:244
AV_CODEC_ID_FLAC
@ AV_CODEC_ID_FLAC
Definition: codec_id.h:455
flac_read_header
static int flac_read_header(AVFormatContext *s)
Definition: flacdec.c:55
flac_seek
static int flac_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Definition: flacdec.c:343
AVFMT_GENERIC_INDEX
#define AVFMT_GENERIC_INDEX
Use generic index building code.
Definition: avformat.h:481
ff_raw_read_partial_packet
int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt)
Definition: rawdec.c:32
ff_raw_demuxer_class
const AVClass ff_raw_demuxer_class
Definition: rawdec.c:140
FLACDecContext
Definition: flacdec.c:36
flac_read_timestamp
static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit)
Definition: flacdec.c:271
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:106
flac_close
static int flac_close(AVFormatContext *s)
Definition: flacdec.c:334