diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-05-04 17:44:14 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-05-04 17:44:14 +0200 |
commit | d90f91c1c85d252c7b6f6b42c256fc10f7d2b5e8 (patch) | |
tree | 920a67cc34889e83caabff29b76590561e28933a | |
parent | 5d309d309108684f742bbf5fc2393f1c519cda72 (diff) | |
download | ffmpeg-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.c | 8 | ||||
-rw-r--r-- | libavcodec/dnxhddata.h | 1 | ||||
-rw-r--r-- | libavcodec/version.h | 4 | ||||
-rw-r--r-- | libavformat/mxfenc.c | 2 | ||||
-rw-r--r-- | libavformat/version.h | 2 |
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, \ |