From 3c4fc747ff46b938d1ae2a81e2103cb35cc19ebe Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 24 Mar 2009 11:08:40 +0000 Subject: [PATCH] From Ulrich Hertlein, "I got the following type error from gcc 4.0.1 on OS X 10.5.6: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp: In member function \u2018int osgFFmpeg::FFmpegDecoderVideo::convert(AVPicture*, int, AVPicture*, int, int, int)\u2019: /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: error: invalid conversion from \u2018int\u2019 to \u2018PixelFormat\u2019 /Users/uli/Projects/osg/OpenSceneGraph/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp:245: error: initializing argument 3 of \u2018SwsContext* sws_getContext(int, int, PixelFormat, int, int, PixelFormat, int, SwsFilter*, SwsFilter*, double*)\u2019 It expects 'src_pix_fmt' and 'dst_pix_fmt' to be of type 'PixelFormat' rather than int. The attached cast fixes this (for me). I've also added Matroska video to the list of supported extensions" --- src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp | 4 ++-- src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp index 1e4b56ef0..450377196 100644 --- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp +++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp @@ -240,8 +240,8 @@ int FFmpegDecoderVideo::convert(AVPicture *dst, int dst_pix_fmt, AVPicture *src, #ifdef USE_SWSCALE if (m_swscale_ctx==0) { - m_swscale_ctx = sws_getContext(src_width, src_height, src_pix_fmt, - src_width, src_height, dst_pix_fmt, + m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt, + src_width, src_height, (PixelFormat) dst_pix_fmt, /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL); } diff --git a/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp b/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp index 65afe135b..ee9d93795 100644 --- a/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp +++ b/src/osgPlugins/ffmpeg/ReaderWriterFFmpeg.cpp @@ -36,7 +36,8 @@ public: supportsExtension("ogg", "Theora movie format"); supportsExtension("mpg", "Mpeg movie format"); supportsExtension("mpv", "Mpeg movie format"); - supportsExtension("wmv", ""); + supportsExtension("wmv", "Windows Media Video format"); + supportsExtension("mkv", "Matroska"); // Register all FFmpeg formats/codecs av_register_all();