summaryrefslogtreecommitdiffstats
path: root/libavcodec/dvdata.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-03-24 17:13:55 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-03-25 12:23:44 +0200
commit31ff2cb266832a82ac4b5aaa2947719f47e4b425 (patch)
treeead47935d72013e55f3f7a432e2986feb8f0498c /libavcodec/dvdata.c
parentfeda266db5367517c62fdb14b5b281c90fcab89d (diff)
downloadffmpeg-streaming-31ff2cb266832a82ac4b5aaa2947719f47e4b425.zip
ffmpeg-streaming-31ff2cb266832a82ac4b5aaa2947719f47e4b425.tar.gz
DV: detect another case of broken DV files.
See trac issue #217. Only the dsf field seems to be used to distinguish between PAL and NTSC. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavcodec/dvdata.c')
-rw-r--r--libavcodec/dvdata.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/dvdata.c b/libavcodec/dvdata.c
index ac63938..3dc3ae6 100644
--- a/libavcodec/dvdata.c
+++ b/libavcodec/dvdata.c
@@ -311,6 +311,10 @@ const DVprofile* avpriv_dv_frame_profile2(AVCodecContext* codec, const DVprofile
if (sys && buf_size == sys->frame_size)
return sys;
+ /* hack for trac issue #217, dv files created with QuickTime 3 */
+ if ((frame[3] & 0x7f) == 0x3f && frame[80 * 5 + 48 + 3] == 0xff)
+ return &dv_profiles[dsf];
+
return NULL;
}
OpenPOWER on IntegriCloud