Imported Upstream version 0.6.3
[fdkaac.git] / src / aacenc.h
CommitLineData
48e2f01c 1/*
2 * Copyright (C) 2013 nu774
3 * For conditions of distribution and use, see copyright notice in COPYING
4 */
5#ifndef AACENC_H
6#define AACENC_H
7
8#include <fdk-aac/aacenc_lib.h>
9#include "lpcm.h"
10
11#define AACENC_PARAMS \
12 unsigned profile; \
13 unsigned bitrate; \
14 unsigned bitrate_mode; \
15 unsigned bandwidth; \
16 unsigned afterburner; \
17 unsigned lowdelay_sbr; \
e1adc178 18 unsigned sbr_ratio; \
48e2f01c 19 unsigned sbr_signaling; \
20 unsigned transport_format; \
21 unsigned adts_crc_check; \
22 unsigned header_period;
23
24typedef struct aacenc_param_t {
25 AACENC_PARAMS
26} aacenc_param_t;
27
d533c8e0 28typedef struct aacenc_frame_t {
3b518efd 29 uint8_t *data;
d533c8e0 30 uint32_t size, capacity;
31} aacenc_frame_t;
3b518efd 32
9b7e1ca6
MG
33int aacenc_is_explicit_bw_compatible_sbr_signaling_available();
34
e1adc178 35int aacenc_is_sbr_ratio_available();
36
48e2f01c 37int aacenc_is_sbr_active(const aacenc_param_t *params);
38
e1adc178 39int aacenc_is_dual_rate_sbr(const aacenc_param_t *params);
40
41void aacenc_get_lib_info(LIB_INFO *info);
42
9b7e1ca6
MG
43int aacenc_mp4asc(const aacenc_param_t *params,
44 const uint8_t *asc, uint32_t ascsize,
45 uint8_t *outasc, uint32_t *outsize);
46
48e2f01c 47int aacenc_init(HANDLE_AACENCODER *encoder, const aacenc_param_t *params,
48 const pcm_sample_description_t *format,
49 AACENC_InfoStruct *info);
50
51int aac_encode_frame(HANDLE_AACENCODER encoder,
52 const pcm_sample_description_t *format,
53 const int16_t *input, unsigned iframes,
d533c8e0 54 aacenc_frame_t *output);
48e2f01c 55
56#endif
This page took 0.013686 seconds and 4 git commands to generate.