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

@ -23,6 +23,7 @@
*/
#include "dca.h"
#include "dca_syncwords.h"
#include "get_bits.h"
#include "parser.h"
@ -35,9 +36,9 @@ typedef struct DCAParseContext {
} DCAParseContext;
#define IS_MARKER(state, i, buf, buf_size) \
((state == DCA_MARKER_14B_LE && (i < buf_size - 2) && (buf[i + 1] & 0xF0) == 0xF0 && buf[i + 2] == 0x07) || \
(state == DCA_MARKER_14B_BE && (i < buf_size - 2) && buf[i + 1] == 0x07 && (buf[i + 2] & 0xF0) == 0xF0) || \
state == DCA_MARKER_RAW_LE || state == DCA_MARKER_RAW_BE)
((state == DCA_SYNCWORD_CORE_14B_LE && (i < buf_size - 2) && (buf[i + 1] & 0xF0) == 0xF0 && buf[i + 2] == 0x07) || \
(state == DCA_SYNCWORD_CORE_14B_BE && (i < buf_size - 2) && buf[i + 1] == 0x07 && (buf[i + 2] & 0xF0) == 0xF0) || \
state == DCA_SYNCWORD_CORE_LE || state == DCA_SYNCWORD_CORE_BE)
/**
* Find the end of the current frame in the bitstream.
@ -75,7 +76,7 @@ static int dca_find_frame_end(DCAParseContext *pc1, const uint8_t *buf,
for (; i < buf_size; i++) {
pc1->size++;
state = (state << 8) | buf[i];
if (state == DCA_HD_MARKER && !pc1->hd_pos)
if (state == DCA_SYNCWORD_SUBSTREAM && !pc1->hd_pos)
pc1->hd_pos = pc1->size;
if (state == pc1->lastmarker && IS_MARKER(state, i, buf, buf_size)) {
if (pc1->framesize > pc1->size)