dca: Move syncword definitions to a separate header

This commit is contained in:
Diego Biurrun
2015-02-25 13:50:15 +01:00
parent 1dc19729e9
commit 25f613f8be
7 changed files with 63 additions and 34 deletions

View File

@@ -24,6 +24,7 @@
#include "libavutil/error.h"
#include "dca.h"
#include "dca_syncwords.h"
#include "put_bits.h"
const uint32_t avpriv_dca_sample_rates[16] = {
@@ -45,18 +46,18 @@ int ff_dca_convert_bitstream(const uint8_t *src, int src_size, uint8_t *dst,
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:
case DCA_SYNCWORD_CORE_LE:
for (i = 0; i < (src_size + 1) >> 1; i++)
*sdst++ = av_bswap16(*ssrc++);
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);