diff --git a/multimedia/mpeg4ip/Makefile b/multimedia/mpeg4ip/Makefile index 84e8426621b6..3632519f3581 100644 --- a/multimedia/mpeg4ip/Makefile +++ b/multimedia/mpeg4ip/Makefile @@ -7,7 +7,7 @@ PORTNAME= mpeg4ip PORTVERSION= 1.6.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= LOCAL/ahze # http://sourceforge.net/forum/forum.php?thread_id=1839453&forum_id=59136 @@ -33,6 +33,7 @@ RUN_DEPENDS= mpeg4ip-libmp4v2>=1.6.1:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 USE_GNOME= gtk20 USE_SDL= sdl USE_GMAKE= yes +MAKE_JOBS_SAFE= yes GNU_CONFIGURE= yes USE_LDCONFIG= yes CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include/SDL -I${LOCALBASE}/include/ffmpeg -I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \ @@ -174,6 +175,7 @@ post-patch: s|mp4v2/mp4.h|mp4.h|; \ s|||; \ s|||; \ + s|||; \ s|||' # replacing distfile's libs with ports' versions # SDL related fixes @@ -191,7 +193,7 @@ post-patch: ${WRKSRC}/doc/mp4v2/Makefile.in # objformat @${FIND} ${WRKSRC} -name configure | ${XARGS} ${REINPLACE_CMD} -e 's|echo aout|echo elf|' - @${REINPLACE_CMD} -e 's|$${enable_ffmpeg}/lib/libavcodec.a|-lavcodec|g' \ + @${REINPLACE_CMD} -e 's|$${enable_ffmpeg}/lib/libavcodec.a|-lavcodec -lswscale|g' \ ${WRKSRC}/configure post-install: diff --git a/multimedia/mpeg4ip/files/patch-player-plugin-video-ffmpeg-ffmpeg.cpp b/multimedia/mpeg4ip/files/patch-player-plugin-video-ffmpeg-ffmpeg.cpp new file mode 100644 index 000000000000..6f94ad60d072 --- /dev/null +++ b/multimedia/mpeg4ip/files/patch-player-plugin-video-ffmpeg-ffmpeg.cpp @@ -0,0 +1,23 @@ +--- player/plugin/video/ffmpeg/ffmpeg.cpp 2007-07-02 22:26:03.000000000 +0200 ++++ player/plugin/video/ffmpeg/ffmpeg.cpp 2008-10-10 23:01:19.519476374 +0200 +@@ -585,10 +585,16 @@ static int ffmpeg_decode (codec_data_t * + from.data[ix] = ffmpeg->m_picture->data[ix]; + from.linesize[ix] = ffmpeg->m_picture->linesize[ix]; + } +- +- img_convert(&to, PIX_FMT_YUV420P, +- &from, ffmpeg->m_c->pix_fmt, +- ffmpeg->m_c->width, ffmpeg->m_c->height); ++#ifdef HAVE_FFMPEG_INSTALLED ++ SwsContext *pSWSCtx; ++ pSWSCtx = sws_getContext(ffmpeg->m_c->width, ffmpeg->m_c->height, ++ ffmpeg->m_c->pix_fmt, ++ ffmpeg->m_c->width, ffmpeg->m_c->height, ++ PIX_FMT_YUV420P, SWS_BICUBIC, 0, 0, 0); ++ sws_scale(pSWSCtx, from.data, from.linesize, 0, ffmpeg->m_c->height, ++ to.data, to.linesize); ++ sws_freeContext(pSWSCtx); ++#endif + ffmpeg->m_vft->video_filled_buffer(ffmpeg->m_ifptr, + ffmpeg->have_cached_ts ? + ffmpeg->cached_ts : ts); diff --git a/multimedia/mpeg4ip/files/patch-player-plugin-video-ffmpeg-ffmpeg.h b/multimedia/mpeg4ip/files/patch-player-plugin-video-ffmpeg-ffmpeg.h new file mode 100644 index 000000000000..e051c63d0a31 --- /dev/null +++ b/multimedia/mpeg4ip/files/patch-player-plugin-video-ffmpeg-ffmpeg.h @@ -0,0 +1,13 @@ +--- player/plugin/video/ffmpeg/ffmpeg.h.orig 2007-07-02 22:26:03.000000000 +0200 ++++ player/plugin/video/ffmpeg/ffmpeg.h 2009-08-12 11:11:12.005600087 +0200 +@@ -28,8 +28,10 @@ + extern "C" { + #ifdef HAVE_FFMPEG_INSTALLED + #include ++#include + #else + #include ++#include + #endif + } + #include