summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-03-04 19:24:12 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-03-04 19:28:53 +0100
commit87db7e777262a7800cc6c76e07870f7a8f6301ed (patch)
treea9ddb30c4f4408ba8a136f13c84d322ba9ea79b6 /libavformat
parent634ce8ddad6b2c03d24bce12ba69f9217729d3f5 (diff)
parent25f613f8be3b51e4396b93cda131e4631ba54302 (diff)
Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'
* commit '25f613f8be3b51e4396b93cda131e4631ba54302': dca: Move syncword definitions to a separate header Conflicts: libavcodec/dca_parser.c libavformat/dtsdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/dtsdec.c17
-rw-r--r--libavformat/spdifenc.c11
2 files changed, 13 insertions, 15 deletions
diff --git a/libavformat/dtsdec.c b/libavformat/dtsdec.c
index d054f43537..50b14c6635 100644
--- a/libavformat/dtsdec.c
+++ b/libavformat/dtsdec.c
@@ -20,16 +20,13 @@
*/
#include "libavcodec/bytestream.h"
-#include "libavcodec/get_bits.h"
#include "libavcodec/dca.h"
+#include "libavcodec/dca_syncwords.h"
+#include "libavcodec/get_bits.h"
+
#include "avformat.h"
#include "rawdec.h"
-#define DCA_MARKER_14B_BE 0x1FFFE800
-#define DCA_MARKER_14B_LE 0xFF1F00E8
-#define DCA_MARKER_RAW_BE 0x7FFE8001
-#define DCA_MARKER_RAW_LE 0xFE7F0180
-
static int dts_probe(AVProbeData *p)
{
const uint8_t *buf, *bufp;
@@ -53,18 +50,18 @@ static int dts_probe(AVProbeData *p)
diff += FFABS(((int16_t)AV_RL16(buf)) - (int16_t)AV_RL16(buf-4));
/* regular bitstream */
- if (state == DCA_MARKER_RAW_BE)
+ if (state == DCA_SYNCWORD_CORE_BE)
marker = 0;
- else if (state == DCA_MARKER_RAW_LE)
+ else if (state == DCA_SYNCWORD_CORE_LE)
marker = 1;
/* 14 bits big-endian bitstream */
- else if (state == DCA_MARKER_14B_BE &&
+ else if (state == DCA_SYNCWORD_CORE_14B_BE &&
(bytestream_get_be16(&bufp) & 0xFFF0) == 0x07F0)
marker = 2;
/* 14 bits little-endian bitstream */
- else if (state == DCA_MARKER_14B_LE &&
+ else if (state == DCA_SYNCWORD_CORE_14B_LE &&
(bytestream_get_be16(&bufp) & 0xF0FF) == 0xF007)
marker = 3;
else
diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c
index 18afd42801..cdcff24421 100644
--- a/libavformat/spdifenc.c
+++ b/libavformat/spdifenc.c
@@ -51,6 +51,7 @@
#include "spdif.h"
#include "libavcodec/ac3.h"
#include "libavcodec/dca.h"
+#include "libavcodec/dca_syncwords.h"
#include "libavcodec/aacadtsdec.h"
#include "libavutil/opt.h"
@@ -251,25 +252,25 @@ static int spdif_header_dts(AVFormatContext *s, AVPacket *pkt)
return AVERROR_INVALIDDATA;
switch (syncword_dts) {
- case DCA_MARKER_RAW_BE:
+ case DCA_SYNCWORD_CORE_BE:
blocks = (AV_RB16(pkt->data + 4) >> 2) & 0x7f;
core_size = ((AV_RB24(pkt->data + 5) >> 4) & 0x3fff) + 1;
sample_rate = avpriv_dca_sample_rates[(pkt->data[8] >> 2) & 0x0f];
break;
- case DCA_MARKER_RAW_LE:
+ case DCA_SYNCWORD_CORE_LE:
blocks = (AV_RL16(pkt->data + 4) >> 2) & 0x7f;
ctx->extra_bswap = 1;
break;
- case DCA_MARKER_14B_BE:
+ case DCA_SYNCWORD_CORE_14B_BE:
blocks =
(((pkt->data[5] & 0x07) << 4) | ((pkt->data[6] & 0x3f) >> 2));
break;
- case DCA_MARKER_14B_LE:
+ case DCA_SYNCWORD_CORE_14B_LE:
blocks =
(((pkt->data[4] & 0x07) << 4) | ((pkt->data[7] & 0x3f) >> 2));
ctx->extra_bswap = 1;
break;
- case DCA_HD_MARKER:
+ case DCA_SYNCWORD_SUBSTREAM:
/* We only handle HD frames that are paired with core. However,
sometimes DTS-HD streams with core have a stray HD frame without
core in the beginning of the stream. */