FFmpeg
|
#include <limits.h>
#include "libavutil/avassert.h"
#include "libavutil/crc.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "get_bits.h"
#include "golomb.h"
#include "flac.h"
#include "flacdsp.h"
#include "flac_parse.h"
#include "thread.h"
#include "unary.h"
Go to the source code of this file.
Data Structures | |
struct | FLACContext |
Macros | |
#define | DECODER_SUBFRAME_FIXED_WIDE(residual) |
Functions | |
static int | allocate_buffers (FLACContext *s) |
static void | flac_set_bps (FLACContext *s) |
static av_cold int | flac_decode_init (AVCodecContext *avctx) |
static void | dump_headers (AVCodecContext *avctx, FLACStreaminfo *s) |
static int | parse_streaminfo (FLACContext *s, const uint8_t *buf, int buf_size) |
Parse the STREAMINFO from an inline header. More... | |
static int | get_metadata_size (const uint8_t *buf, int buf_size) |
Determine the size of an inline header. More... | |
static int | decode_residuals (FLACContext *s, int32_t *decoded, int pred_order) |
static int | decode_subframe_fixed (FLACContext *s, int32_t *decoded, int pred_order, int bps) |
static int | decode_subframe_fixed_wide (FLACContext *s, int32_t *decoded, int pred_order, int bps) |
static int | decode_subframe_fixed_33bps (FLACContext *s, int64_t *decoded, int32_t *residual, int pred_order) |
static void | lpc_analyze_remodulate (SUINT32 *decoded, const int coeffs[32], int order, int qlevel, int len, int bps) |
static int | decode_subframe_lpc (FLACContext *s, int32_t *decoded, int pred_order, int bps) |
static int | decode_subframe_lpc_33bps (FLACContext *s, int64_t *decoded, int32_t *residual, int pred_order) |
static int | decode_subframe (FLACContext *s, int channel) |
static int | decode_frame (FLACContext *s) |
static void | decorrelate_33bps (int ch_mode, int32_t **decoded, int64_t *decoded_33bps, int len) |
static int | flac_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) |
static av_cold int | flac_decode_close (AVCodecContext *avctx) |
Variables | |
static const AVOption | options [] |
static const AVClass | flac_decoder_class |
const FFCodec | ff_flac_decoder |
FLAC (Free Lossless Audio Codec) decoder
This decoder can be used in 1 of 2 ways: Either raw FLAC data can be fed through, starting from the initial 'fLaC' signature; or by passing the 34-byte streaminfo structure through avctx->extradata[_size] followed by data starting with the 0xFFF8 marker.
Definition in file flacdec.c.
|
static |
Definition at line 137 of file flacdec.c.
Referenced by decode_frame(), flac_decode_init(), and parse_streaminfo().
|
static |
Definition at line 76 of file flacdec.c.
Referenced by decode_frame(), flac_decode_init(), and parse_streaminfo().
|
static |
|
static |
Definition at line 128 of file flacdec.c.
Referenced by decode_frame().
|
static |
Parse the STREAMINFO from an inline header.
s | the flac decoding context |
buf | input buffer, starting with the "fLaC" marker |
buf_size | buffer size |
Definition at line 187 of file flacdec.c.
Referenced by flac_decode_frame().
|
static |
Determine the size of an inline header.
buf | input buffer, starting with the "fLaC" marker |
buf_size | buffer size |
Definition at line 220 of file flacdec.c.
Referenced by flac_decode_frame().
|
static |
Definition at line 241 of file flacdec.c.
Referenced by decode_subframe_fixed(), decode_subframe_lpc(), and decode_subframe_lpc_33bps().
|
static |
Definition at line 302 of file flacdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 389 of file flacdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 400 of file flacdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 410 of file flacdec.c.
Referenced by decode_subframe_lpc().
|
static |
Definition at line 437 of file flacdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 481 of file flacdec.c.
Referenced by decode_subframe().
|
inlinestatic |
Definition at line 517 of file flacdec.c.
Referenced by decode_frame().
|
static |
Definition at line 609 of file flacdec.c.
Referenced by flac_decode_frame().
|
static |
Definition at line 694 of file flacdec.c.
Referenced by flac_decode_frame().
|
static |
|
static |
|
static |
const FFCodec ff_flac_decoder |