dca: Move syncword definitions to a separate header
This commit is contained in:
parent
1dc19729e9
commit
25f613f8be
7 changed files with 63 additions and 34 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue