Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoo86 <foobaz86@gmail.com>2016-05-01 18:42:14 +0300
committerJames Almer <jamrial@gmail.com>2016-05-01 22:50:32 +0300
commit1fee770a1cece01f1e31a3127f7039e784a449eb (patch)
tree46452af20bb49fddebf01b0c67540e1a25d76a5c /libavcodec/dca.h
parent2df7d4fa4524b6f83c65428d75192267a2d0c113 (diff)
avcodec/dca: move channel counter utility into dca.h
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/dca.h')
-rw-r--r--libavcodec/dca.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/libavcodec/dca.h b/libavcodec/dca.h
index ccb02af91c..a1ac763105 100644
--- a/libavcodec/dca.h
+++ b/libavcodec/dca.h
@@ -28,6 +28,7 @@
#include <stdint.h>
+#include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
@@ -90,6 +91,33 @@ enum DCASpeakerMask {
#define DCA_HAS_STEREO(mask) \
((mask & DCA_SPEAKER_LAYOUT_STEREO) == DCA_SPEAKER_LAYOUT_STEREO)
+enum DCASpeakerPair {
+ DCA_SPEAKER_PAIR_C = 0x0001,
+ DCA_SPEAKER_PAIR_LR = 0x0002,
+ DCA_SPEAKER_PAIR_LsRs = 0x0004,
+ DCA_SPEAKER_PAIR_LFE1 = 0x0008,
+ DCA_SPEAKER_PAIR_Cs = 0x0010,
+ DCA_SPEAKER_PAIR_LhRh = 0x0020,
+ DCA_SPEAKER_PAIR_LsrRsr = 0x0040,
+ DCA_SPEAKER_PAIR_Ch = 0x0080,
+ DCA_SPEAKER_PAIR_Oh = 0x0100,
+ DCA_SPEAKER_PAIR_LcRc = 0x0200,
+ DCA_SPEAKER_PAIR_LwRw = 0x0400,
+ DCA_SPEAKER_PAIR_LssRss = 0x0800,
+ DCA_SPEAKER_PAIR_LFE2 = 0x1000,
+ DCA_SPEAKER_PAIR_LhsRhs = 0x2000,
+ DCA_SPEAKER_PAIR_Chr = 0x4000,
+ DCA_SPEAKER_PAIR_LhrRhr = 0x8000
+};
+
+/**
+ * Return number of individual channels in DCASpeakerPair mask
+ */
+static inline int ff_dca_count_chs_for_mask(unsigned int mask)
+{
+ return av_popcount((mask & 0xffff) | ((mask & 0xae66) << 16));
+}
+
enum DCARepresentationType {
DCA_REPR_TYPE_LtRt = 2,
DCA_REPR_TYPE_LhRh = 3