aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2015-05-04 17:44:14 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-05-04 17:44:14 +0200
commitd90f91c1c85d252c7b6f6b42c256fc10f7d2b5e8 (patch)
tree920a67cc34889e83caabff29b76590561e28933a
parent5d309d309108684f742bbf5fc2393f1c519cda72 (diff)
downloadffmpeg-d90f91c1c85d252c7b6f6b42c256fc10f7d2b5e8.tar.gz
lavf/mxfenc: Write correct interlaced flag when muxing dnxhd.
Reported and early patch version tested by forum user gridtank. Reviewed-by: Tomas Härdin
-rw-r--r--libavcodec/dnxhddata.c8
-rw-r--r--libavcodec/dnxhddata.h1
-rw-r--r--libavcodec/version.h4
-rw-r--r--libavformat/mxfenc.c2
-rw-r--r--libavformat/version.h2
5 files changed, 14 insertions, 3 deletions
diff --git a/libavcodec/dnxhddata.c b/libavcodec/dnxhddata.c
index b6488994d7..ef918b0214 100644
--- a/libavcodec/dnxhddata.c
+++ b/libavcodec/dnxhddata.c
@@ -1102,6 +1102,14 @@ int avpriv_dnxhd_get_frame_size(int cid)
return ff_dnxhd_cid_table[i].frame_size;
}
+int avpriv_dnxhd_get_interlaced(int cid)
+{
+ int i = ff_dnxhd_get_cid_table(cid);
+ if (i < 0)
+ return i;
+ return ff_dnxhd_cid_table[i].interlaced;
+}
+
int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth)
{
int i, j;
diff --git a/libavcodec/dnxhddata.h b/libavcodec/dnxhddata.h
index d5629e25f1..8cc27e88e7 100644
--- a/libavcodec/dnxhddata.h
+++ b/libavcodec/dnxhddata.h
@@ -53,5 +53,6 @@ int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth);
void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel);
int avpriv_dnxhd_get_frame_size(int cid);
+int avpriv_dnxhd_get_interlaced(int cid);
#endif /* AVCODEC_DNXHDDATA_H */
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 69f9759f01..41c41451c7 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,8 +29,8 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 56
-#define LIBAVCODEC_VERSION_MINOR 35
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MINOR 36
+#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index efa1e04116..59667924f0 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -1640,6 +1640,8 @@ AVPacket *pkt)
if ((frame_size = avpriv_dnxhd_get_frame_size(cid)) < 0)
return -1;
+ if ((sc->interlaced = avpriv_dnxhd_get_interlaced(cid)) < 0)
+ return AVERROR_INVALIDDATA;
switch (cid) {
case 1235:
diff --git a/libavformat/version.h b/libavformat/version.h
index 381c0718b6..8733dc377c 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -31,7 +31,7 @@
#define LIBAVFORMAT_VERSION_MAJOR 56
#define LIBAVFORMAT_VERSION_MINOR 31
-#define LIBAVFORMAT_VERSION_MICRO 100
+#define LIBAVFORMAT_VERSION_MICRO 101
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \