#include "avcodec.h"
#include "put_bits.h"
#include "dsputil.h"
#include "lpc.h"
#include "mathops.h"
Go to the source code of this file.
Data Structures | |
struct | RiceContext |
struct | AlacLPCContext |
struct | AlacEncodeContext |
Macros | |
#define | DEFAULT_FRAME_SIZE 4096 |
ALAC audio encoder Copyright (c) 2008 Jaikrishnan Menon reali tyma n@gmx .net | |
#define | DEFAULT_SAMPLE_SIZE 16 |
#define | MAX_CHANNELS 8 |
#define | ALAC_EXTRADATA_SIZE 36 |
#define | ALAC_FRAME_HEADER_SIZE 55 |
#define | ALAC_FRAME_FOOTER_SIZE 3 |
#define | ALAC_ESCAPE_CODE 0x1FF |
#define | ALAC_MAX_LPC_ORDER 30 |
#define | DEFAULT_MAX_PRED_ORDER 6 |
#define | DEFAULT_MIN_PRED_ORDER 4 |
#define | ALAC_MAX_LPC_PRECISION 9 |
#define | ALAC_MAX_LPC_SHIFT 9 |
#define | ALAC_CHMODE_LEFT_RIGHT 0 |
#define | ALAC_CHMODE_LEFT_SIDE 1 |
#define | ALAC_CHMODE_RIGHT_SIDE 2 |
#define | ALAC_CHMODE_MID_SIDE 3 |
Typedefs | |
typedef struct RiceContext | RiceContext |
typedef struct AlacLPCContext | AlacLPCContext |
typedef struct AlacEncodeContext | AlacEncodeContext |
Functions | |
static void | init_sample_buffers (AlacEncodeContext *s, const int16_t *input_samples) |
static void | encode_scalar (AlacEncodeContext *s, int x, int k, int write_sample_size) |
static void | write_frame_header (AlacEncodeContext *s, int is_verbatim) |
static void | calc_predictor_params (AlacEncodeContext *s, int ch) |
static int | estimate_stereo_mode (int32_t *left_ch, int32_t *right_ch, int n) |
static void | alac_stereo_decorrelation (AlacEncodeContext *s) |
static void | alac_linear_predictor (AlacEncodeContext *s, int ch) |
static void | alac_entropy_coder (AlacEncodeContext *s) |
static void | write_compressed_frame (AlacEncodeContext *s) |
static av_cold int | alac_encode_init (AVCodecContext *avctx) |
static int | alac_encode_frame (AVCodecContext *avctx, uint8_t *frame, int buf_size, void *data) |
static av_cold int | alac_encode_close (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_alac_encoder |
#define ALAC_CHMODE_LEFT_RIGHT 0 |
Definition at line 42 of file alacenc.c.
Referenced by alac_stereo_decorrelation().
#define ALAC_CHMODE_LEFT_SIDE 1 |
Definition at line 43 of file alacenc.c.
Referenced by alac_stereo_decorrelation().
#define ALAC_CHMODE_RIGHT_SIDE 2 |
Definition at line 44 of file alacenc.c.
Referenced by alac_stereo_decorrelation().
#define ALAC_ESCAPE_CODE 0x1FF |
Definition at line 35 of file alacenc.c.
Referenced by encode_scalar().
#define ALAC_EXTRADATA_SIZE 36 |
Definition at line 31 of file alacenc.c.
Referenced by alac_encode_init().
#define ALAC_MAX_LPC_ORDER 30 |
Definition at line 36 of file alacenc.c.
Referenced by alac_encode_init().
#define ALAC_MAX_LPC_PRECISION 9 |
Definition at line 39 of file alacenc.c.
Referenced by calc_predictor_params().
#define ALAC_MAX_LPC_SHIFT 9 |
Definition at line 40 of file alacenc.c.
Referenced by calc_predictor_params().
#define DEFAULT_FRAME_SIZE 4096 |
ALAC audio encoder Copyright (c) 2008 Jaikrishnan Menon reali tyma n@gmx .net
This file is part of Libav.
Libav is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
Libav is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with Libav; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Definition at line 28 of file alacenc.c.
Referenced by alac_encode_frame(), and alac_encode_init().
#define DEFAULT_MAX_PRED_ORDER 6 |
Definition at line 37 of file alacenc.c.
Referenced by alac_encode_init().
#define DEFAULT_MIN_PRED_ORDER 4 |
Definition at line 38 of file alacenc.c.
Referenced by alac_encode_init().
#define DEFAULT_SAMPLE_SIZE 16 |
Definition at line 29 of file alacenc.c.
Referenced by alac_encode_init().
typedef struct AlacEncodeContext AlacEncodeContext |
typedef struct AlacLPCContext AlacLPCContext |
typedef struct RiceContext RiceContext |
|
static |
|
static |
|
static |
|
static |
Definition at line 302 of file alacenc.c.
Referenced by write_compressed_frame().
|
static |
Definition at line 239 of file alacenc.c.
Referenced by write_compressed_frame().
|
static |
Definition at line 194 of file alacenc.c.
Referenced by write_compressed_frame().
|
static |
Definition at line 130 of file alacenc.c.
Referenced by write_compressed_frame().
|
static |
Definition at line 92 of file alacenc.c.
Referenced by alac_entropy_coder().
|
static |
Definition at line 160 of file alacenc.c.
Referenced by alac_stereo_decorrelation().
|
static |
Definition at line 78 of file alacenc.c.
Referenced by alac_encode_frame().
|
static |
Definition at line 348 of file alacenc.c.
Referenced by alac_encode_frame().
|
static |
Definition at line 120 of file alacenc.c.
Referenced by alac_encode_frame().
AVCodec ff_alac_encoder |