Go to the documentation of this file.
41 #define MSBC_BLOCKS 15
44 #define SBC_FREQ_16000 0x00
45 #define SBC_FREQ_32000 0x01
46 #define SBC_FREQ_44100 0x02
47 #define SBC_FREQ_48000 0x03
50 #define SBC_BLK_4 0x00
51 #define SBC_BLK_8 0x01
52 #define SBC_BLK_12 0x02
53 #define SBC_BLK_16 0x03
56 #define SBC_MODE_MONO 0x00
57 #define SBC_MODE_DUAL_CHANNEL 0x01
58 #define SBC_MODE_STEREO 0x02
59 #define SBC_MODE_JOINT_STEREO 0x03
62 #define SBC_AM_LOUDNESS 0x00
63 #define SBC_AM_SNR 0x01
70 #define SBC_SYNCWORD 0x9C
71 #define MSBC_SYNCWORD 0xAD
74 #define SBCDEC_FIXED_EXTRA_BITS 2
enum sbc_frame::@216 mode
uint32_t scale_factor[2][8]
#define DECLARE_ALIGNED(n, t, v)
void ff_sbc_calculate_bits(const struct sbc_frame *frame, int(*bits)[8])
enum sbc_frame::@217 allocation
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a frame
uint8_t ff_sbc_crc8(const AVCRC *crc_ctx, const uint8_t *data, size_t len)
#define SBC_MODE_DUAL_CHANNEL
int32_t sb_sample[16][2][8]
#define SBC_MODE_JOINT_STEREO
int32_t sb_sample_f[16][2][8]