[FFmpeg-devel] [PATCH 1/5] oma: move some constants into libavcodec
misty at brew.sh
misty at brew.sh
Fri Dec 22 16:35:08 EET 2017
From: Misty De Meo <mistydemeo at gmail.com>
Most of the constants in libavcodec/oma aren't specific to
libavformat; moving them into libavcodec makes them available to
libavcodec as well as keeping them compatible with libavformat.
ff_oma_codec_tags uses a libavformat-specific type, so it has been
left in libavformat.
---
Changelog | 1 +
libavcodec/oma.c | 40 ++++++++++++++++++++++++++++++++++++++++
libavcodec/oma.h | 37 +++++++++++++++++++++++++++++++++++++
libavcodec/version.h | 2 +-
libavformat/oma.c | 18 ------------------
libavformat/oma.h | 13 +------------
libavformat/omadec.c | 1 +
libavformat/omaenc.c | 1 +
libavformat/version.h | 2 +-
9 files changed, 83 insertions(+), 32 deletions(-)
create mode 100644 libavcodec/oma.c
create mode 100644 libavcodec/oma.h
diff --git a/Changelog b/Changelog
index ee48876128..31e720091c 100644
--- a/Changelog
+++ b/Changelog
@@ -27,6 +27,7 @@ version <next>:
- video setrange filter
- nsp demuxer
- support LibreSSL (via libtls)
+- Move some OMA constants from libavformat into libavcodec
version 3.4:
diff --git a/libavcodec/oma.c b/libavcodec/oma.c
new file mode 100644
index 0000000000..dbc763f291
--- /dev/null
+++ b/libavcodec/oma.c
@@ -0,0 +1,40 @@
+/*
+ * Sony OpenMG (OMA) common data
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "internal.h"
+#include "oma.h"
+#include "libavcodec/avcodec.h"
+#include "libavutil/channel_layout.h"
+
+const uint16_t ff_oma_srate_tab[8] = { 320, 441, 480, 882, 960, 0 };
+
+/** map ATRAC-X channel id to internal channel layout */
+const uint64_t ff_oma_chid_to_native_layout[7] = {
+ AV_CH_LAYOUT_MONO,
+ AV_CH_LAYOUT_STEREO,
+ AV_CH_LAYOUT_SURROUND,
+ AV_CH_LAYOUT_4POINT0,
+ AV_CH_LAYOUT_5POINT1_BACK,
+ AV_CH_LAYOUT_6POINT1_BACK,
+ AV_CH_LAYOUT_7POINT1
+};
+
+/** map ATRAC-X channel id to total number of channels */
+const int ff_oma_chid_to_num_channels[7] = {1, 2, 3, 4, 6, 7, 8};
diff --git a/libavcodec/oma.h b/libavcodec/oma.h
new file mode 100644
index 0000000000..7f6731839d
--- /dev/null
+++ b/libavcodec/oma.h
@@ -0,0 +1,37 @@
+/*
+ * Sony OpenMG (OMA) common data
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVCODEC_OMA_H
+#define AVCODEC_OMA_H
+
+#include <stdint.h>
+
+#include "internal.h"
+
+#define EA3_HEADER_SIZE 96
+#define ID3v2_EA3_MAGIC "ea3"
+#define OMA_ENC_HEADER_SIZE 16
+
+extern const uint16_t ff_oma_srate_tab[8];
+
+extern const uint64_t ff_oma_chid_to_native_layout[7];
+extern const int ff_oma_chid_to_num_channels[7];
+
+#endif /* AVCODEC_OMA_H */
diff --git a/libavcodec/version.h b/libavcodec/version.h
index d55de89797..d48857578d 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
#define LIBAVCODEC_VERSION_MAJOR 58
#define LIBAVCODEC_VERSION_MINOR 8
-#define LIBAVCODEC_VERSION_MICRO 100
+#define LIBAVCODEC_VERSION_MICRO 101
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
diff --git a/libavformat/oma.c b/libavformat/oma.c
index f7ae3c9948..86347e6062 100644
--- a/libavformat/oma.c
+++ b/libavformat/oma.c
@@ -20,10 +20,6 @@
#include "internal.h"
#include "oma.h"
-#include "libavcodec/avcodec.h"
-#include "libavutil/channel_layout.h"
-
-const uint16_t ff_oma_srate_tab[8] = { 320, 441, 480, 882, 960, 0 };
const AVCodecTag ff_oma_codec_tags[] = {
{ AV_CODEC_ID_ATRAC3, OMA_CODECID_ATRAC3 },
@@ -34,17 +30,3 @@ const AVCodecTag ff_oma_codec_tags[] = {
{ AV_CODEC_ID_ATRAC3AL, OMA_CODECID_ATRAC3AL },
{ 0 },
};
-
-/** map ATRAC-X channel id to internal channel layout */
-const uint64_t ff_oma_chid_to_native_layout[7] = {
- AV_CH_LAYOUT_MONO,
- AV_CH_LAYOUT_STEREO,
- AV_CH_LAYOUT_SURROUND,
- AV_CH_LAYOUT_4POINT0,
- AV_CH_LAYOUT_5POINT1_BACK,
- AV_CH_LAYOUT_6POINT1_BACK,
- AV_CH_LAYOUT_7POINT1
-};
-
-/** map ATRAC-X channel id to total number of channels */
-const int ff_oma_chid_to_num_channels[7] = {1, 2, 3, 4, 6, 7, 8};
diff --git a/libavformat/oma.h b/libavformat/oma.h
index 36fd0125e4..4417deeb4d 100644
--- a/libavformat/oma.h
+++ b/libavformat/oma.h
@@ -21,14 +21,8 @@
#ifndef AVFORMAT_OMA_H
#define AVFORMAT_OMA_H
-#include <stdint.h>
-
#include "internal.h"
-#define EA3_HEADER_SIZE 96
-#define ID3v2_EA3_MAGIC "ea3"
-#define OMA_ENC_HEADER_SIZE 16
-
enum {
OMA_CODECID_ATRAC3 = 0,
OMA_CODECID_ATRAC3P = 1,
@@ -39,11 +33,6 @@ enum {
OMA_CODECID_ATRAC3AL = 34,
};
-extern const uint16_t ff_oma_srate_tab[8];
-
extern const AVCodecTag ff_oma_codec_tags[];
-extern const uint64_t ff_oma_chid_to_native_layout[7];
-extern const int ff_oma_chid_to_num_channels[7];
-
-#endif /* AVFORMAT_OMA_H */
+#endif /* AVFORMAT_OMA_H */
\ No newline at end of file
diff --git a/libavformat/omadec.c b/libavformat/omadec.c
index 423d52b3aa..ccefd6c1bc 100644
--- a/libavformat/omadec.c
+++ b/libavformat/omadec.c
@@ -48,6 +48,7 @@
#include "libavutil/intreadwrite.h"
#include "libavutil/des.h"
#include "libavutil/mathematics.h"
+#include "libavcodec/oma.h"
#include "oma.h"
#include "pcm.h"
#include "id3v2.h"
diff --git a/libavformat/omaenc.c b/libavformat/omaenc.c
index 7952808bf8..6e72c3ee85 100644
--- a/libavformat/omaenc.c
+++ b/libavformat/omaenc.c
@@ -24,6 +24,7 @@
#include "avio_internal.h"
#include "id3v2.h"
#include "internal.h"
+#include "libavcodec/oma.h"
#include "oma.h"
#include "rawenc.h"
diff --git a/libavformat/version.h b/libavformat/version.h
index 5ced041f0a..6453d4559f 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -33,7 +33,7 @@
// Also please add any ticket numbers that you believe might be affected here
#define LIBAVFORMAT_VERSION_MAJOR 58
#define LIBAVFORMAT_VERSION_MINOR 3
-#define LIBAVFORMAT_VERSION_MICRO 100
+#define LIBAVFORMAT_VERSION_MICRO 101
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
--
2.15.1
More information about the ffmpeg-devel
mailing list