#include <stdint.h>
#include <string.h>
-#include "put_bits.h"
+#include "libavutil/error.h"
+
#include "dca.h"
+#include "dca_syncwords.h"
+#include "put_bits.h"
-const uint32_t avpriv_dca_sample_rates[16] =
-{
+const uint32_t avpriv_dca_sample_rates[16] = {
0, 8000, 16000, 32000, 0, 0, 11025, 22050, 44100, 0, 0,
12000, 24000, 48000, 96000, 192000
};
{
uint32_t mrk;
int i, tmp;
- const uint16_t *ssrc = (const uint16_t *) src;
- uint16_t *sdst = (uint16_t *) dst;
PutBitContext pb;
if ((unsigned) src_size > (unsigned) max_size)
mrk = AV_RB32(src);
switch (mrk) {
- case DCA_MARKER_RAW_BE:
+ case DCA_SYNCWORD_CORE_BE:
memcpy(dst, src, src_size);
return src_size;
- case DCA_MARKER_RAW_LE:
- for (i = 0; i < (src_size + 1) >> 1; i++)
- *sdst++ = av_bswap16(*ssrc++);
+ case DCA_SYNCWORD_CORE_LE:
+ for (i = 0; i < (src_size + 1) >> 1; i++) {
+ AV_WB16(dst, AV_RL16(src));
+ src += 2;
+ dst += 2;
+ }
return src_size;
- case DCA_MARKER_14B_BE:
- case DCA_MARKER_14B_LE:
+ case DCA_SYNCWORD_CORE_14B_BE:
+ case DCA_SYNCWORD_CORE_14B_LE:
init_put_bits(&pb, dst, max_size);
for (i = 0; i < (src_size + 1) >> 1; i++, src += 2) {
- tmp = ((mrk == DCA_MARKER_14B_BE) ? AV_RB16(src) : AV_RL16(src)) & 0x3FFF;
+ tmp = ((mrk == DCA_SYNCWORD_CORE_14B_BE) ? AV_RB16(src) : AV_RL16(src)) & 0x3FFF;
put_bits(&pb, 14, tmp);
}
flush_put_bits(&pb);