2 * Copyright (C) 2013 nu774
3 * For conditions of distribution and use, see copyright notice in COPYING
8 #include <fdk-aac/aacenc_lib.h>
11 #define AACENC_PARAMS \
14 unsigned bitrate_mode; \
16 unsigned afterburner; \
17 unsigned lowdelay_sbr; \
19 unsigned sbr_signaling; \
20 unsigned transport_format; \
21 unsigned adts_crc_check; \
22 unsigned header_period;
24 typedef struct aacenc_param_t
{
28 typedef struct aacenc_frame_t
{
30 uint32_t size
, capacity
;
33 int aacenc_is_explicit_bw_compatible_sbr_signaling_available();
35 int aacenc_is_sbr_ratio_available();
37 int aacenc_is_sbr_active(const aacenc_param_t
*params
);
39 int aacenc_is_dual_rate_sbr(const aacenc_param_t
*params
);
41 void aacenc_get_lib_info(LIB_INFO
*info
);
43 int aacenc_mp4asc(const aacenc_param_t
*params
,
44 const uint8_t *asc
, uint32_t ascsize
,
45 uint8_t *outasc
, uint32_t *outsize
);
47 int aacenc_init(HANDLE_AACENCODER
*encoder
, const aacenc_param_t
*params
,
48 const pcm_sample_description_t
*format
,
49 AACENC_InfoStruct
*info
);
51 int aac_encode_frame(HANDLE_AACENCODER encoder
,
52 const pcm_sample_description_t
*format
,
53 const int16_t *input
, unsigned iframes
,
54 aacenc_frame_t
*output
);