Go to the documentation of this file.
37 8000, 16000, 32000, 64000, 128000, 22050, 44100, 88200,
38 176400, 352800, 12000, 24000, 48000, 96000, 192000, 384000,
42 0, 1, 2, 3, 4, 1, 2, 3, 4, 4, 0, 1, 2, 3, 4, 4
46 16, 16, 20, 20, 0, 24, 24, 0
56 if ((
unsigned) src_size > (
unsigned) max_size)
63 memcpy(dst,
src, src_size);
66 for (
i = 0;
i < (src_size + 1) >> 1;
i++) {
75 for (
i = 0;
i < (src_size + 1) >> 1;
i++,
src += 2) {
102 if (
h->frame_size < 96)
static int put_bytes_output(const PutBitContext *s)
static unsigned int get_bits_long(GetBitContext *s, int n)
Read 0-32 bits.
static void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
Initialize the PutBitContext s.
#define DCA_SYNCWORD_CORE_14B_BE
static void put_bits(Jpeg2000EncoderContext *s, int val, int n)
put n times val bit
#define DCA_SUBBAND_SAMPLES
static void skip_bits(GetBitContext *s, int n)
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
int avpriv_dca_convert_bitstream(const uint8_t *src, int src_size, uint8_t *dst, int max_size)
Convert bitstream to one representation based on sync marker.
@ DCA_PARSE_ERROR_FRAME_SIZE
static int init_get_bits8(GetBitContext *s, const uint8_t *buffer, int byte_size)
Initialize GetBitContext.
@ DCA_PARSE_ERROR_PCM_RES
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
const uint32_t ff_dca_sample_rates[16]
static unsigned int get_bits1(GetBitContext *s)
#define DCA_SYNCWORD_CORE_BE
@ DCA_PARSE_ERROR_SYNC_WORD
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_RB32
#define DCA_SYNCWORD_CORE_14B_LE
@ DCA_PARSE_ERROR_DEFICIT_SAMPLES
int ff_dca_parse_core_frame_header(DCACoreFrameHeader *h, GetBitContext *gb)
Parse and validate core frame header.
#define i(width, name, range_min, range_max)
#define DCA_SYNCWORD_SUBSTREAM
#define DCA_PCMBLOCK_SAMPLES
const uint8_t ff_dca_bits_per_sample[8]
@ DCA_PARSE_ERROR_PCM_BLOCKS
const uint32_t ff_dca_sampling_freqs[16]
@ DCA_PARSE_ERROR_LFE_FLAG
@ DCA_PARSE_ERROR_SAMPLE_RATE
#define DCA_SYNCWORD_CORE_LE
int avpriv_dca_parse_core_frame_header(DCACoreFrameHeader *h, const uint8_t *buf, int size)
Parse and validate core frame header.
@ DCA_PARSE_ERROR_RESERVED_BIT
const uint8_t ff_dca_freq_ranges[16]
static void flush_put_bits(PutBitContext *s)
Pad the end of the output stream with zeros.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_WB32 unsigned int_TMPL AV_WB24 unsigned int_TMPL AV_RB16