[med-svn] r20614 - in trunk/packages/vxl/trunk/debian: . patches source
Andreas Tille
tille at moszumanska.debian.org
Thu Dec 3 07:22:57 UTC 2015
Author: tille
Date: 2015-12-03 07:22:56 +0000 (Thu, 03 Dec 2015)
New Revision: 20614
Added:
trunk/packages/vxl/trunk/debian/patches/add_general_number_of_platforms.patch
trunk/packages/vxl/trunk/debian/patches/ffmpeg_2.9.patch
trunk/packages/vxl/trunk/debian/source/lintian-overrides
Modified:
trunk/packages/vxl/trunk/debian/changelog
trunk/packages/vxl/trunk/debian/control
trunk/packages/vxl/trunk/debian/copyright
trunk/packages/vxl/trunk/debian/patches/series
trunk/packages/vxl/trunk/debian/watch
Log:
Mass commit: Apply all patches from BTS, fix several lintian issues
Modified: trunk/packages/vxl/trunk/debian/changelog
===================================================================
--- trunk/packages/vxl/trunk/debian/changelog 2015-12-02 15:52:35 UTC (rev 20613)
+++ trunk/packages/vxl/trunk/debian/changelog 2015-12-03 07:22:56 UTC (rev 20614)
@@ -1,3 +1,13 @@
+vxl (1.17.0.dfsg2-3) unstable; urgency=medium
+
+ * lintian issues
+ * Apply upstream patch to add general number of platforms
+ Closes: #745535
+ * Replace deprecated FFmpeg API (Thanks for the patch to Andreas Cadhalpun)
+ Closes: #803871
+
+ -- Andreas Tille <tille at debian.org> Wed, 02 Dec 2015 17:38:08 +0100
+
vxl (1.17.0.dfsg2-2) unstable; urgency=medium
* Rename library packages for g++5 ABI transition
Modified: trunk/packages/vxl/trunk/debian/control
===================================================================
--- trunk/packages/vxl/trunk/debian/control 2015-12-02 15:52:35 UTC (rev 20613)
+++ trunk/packages/vxl/trunk/debian/control 2015-12-03 07:22:56 UTC (rev 20614)
@@ -7,6 +7,7 @@
debhelper (>= 9),
freeglut3-dev,
libavcodec-dev (>= 6:10~),
+ libavfilter-dev,
libavformat-dev (>= 6:10~),
libavifile-0.7-dev,
libbz2-dev,
Modified: trunk/packages/vxl/trunk/debian/copyright
===================================================================
--- trunk/packages/vxl/trunk/debian/copyright 2015-12-02 15:52:35 UTC (rev 20613)
+++ trunk/packages/vxl/trunk/debian/copyright 2015-12-03 07:22:56 UTC (rev 20614)
@@ -5,8 +5,7 @@
core/doc/book/lena.*
Files: *
-Copyright:
- Copyright (c) 2000-2003 TargetJr Consortium
+Copyright: 2000-2003 TargetJr Consortium
GE Corporate Research and Development (GE CRD)
1 Research Circle
Niskayuna, NY 12309
Added: trunk/packages/vxl/trunk/debian/patches/add_general_number_of_platforms.patch
===================================================================
--- trunk/packages/vxl/trunk/debian/patches/add_general_number_of_platforms.patch (rev 0)
+++ trunk/packages/vxl/trunk/debian/patches/add_general_number_of_platforms.patch 2015-12-03 07:22:56 UTC (rev 20614)
@@ -0,0 +1,42 @@
+Author: Joseph L. Mundy
+Last-Update: 2014-02-03
+URL: http://sourceforge.net/p/vxl/git/ci/f78aac9c094285d7f5c2b644be8716950f0403f2/
+Bug-Debian: https://bugs.debian.org/745535
+Description: Added general number of platforms
+
+--- a/contrib/brl/bbas/bocl/bocl_manager.txx
++++ b/contrib/brl/bbas/bocl/bocl_manager.txx
+@@ -58,13 +58,14 @@ bool bocl_manager<T>::initialize_cl()
+ return false;
+ }
+ if (num_platforms > 1) {
+- vcl_cerr << "bocl_manager: warning: found " << num_platforms << "OpenCL platforms. Using the first\n";
++ vcl_cerr << "bocl_manager: warning: found " << num_platforms << " OpenCL platforms. Using the first\n";
+ }
+ // Get the first platform ID
+- cl_platform_id platform_id[2];
++ cl_platform_id* platform_id = new cl_platform_id[num_platforms];
+ status = clGetPlatformIDs (num_platforms, platform_id, NULL);
+ if (status != CL_SUCCESS) {
+ vcl_cerr << "bocl_manager: clGetPlatformIDs (call 2) returned " << status << '\n';
++ delete [] platform_id;
+ return false;
+ }
+
+@@ -122,6 +123,7 @@ bool bocl_manager<T>::initialize_cl()
+ }
+ if (!gpu_found && !cpu_found) {
+ vcl_cout<<"bocl_manager:: No devices (GPU or CPU) found, manager is invalid"<<vcl_endl;
++ delete [] platform_id;
+ return false;
+ }
+
+@@ -138,7 +140,7 @@ bool bocl_manager<T>::initialize_cl()
+ vcl_cout<<"Default device: "<<*curr_device_<<vcl_endl;
+ #endif
+ //////////////////////////////////////////////////////////////////////////////
+-
++ delete [] platform_id;
+ return true;
+ }
+
Added: trunk/packages/vxl/trunk/debian/patches/ffmpeg_2.9.patch
===================================================================
--- trunk/packages/vxl/trunk/debian/patches/ffmpeg_2.9.patch (rev 0)
+++ trunk/packages/vxl/trunk/debian/patches/ffmpeg_2.9.patch 2015-12-03 07:22:56 UTC (rev 20614)
@@ -0,0 +1,440 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Bug-Debian: https://bugs.debian.org/803871
+Last-Update: <2015-11-02>
+
+--- a/config/cmake/Modules/NewCMake/FindFFMPEG.cmake
++++ b/config/cmake/Modules/NewCMake/FindFFMPEG.cmake
+@@ -48,6 +48,13 @@ ELSE( FFMPEG_CONFIG )
+ /usr/local/lib64
+ )
+
++ FIND_LIBRARY( FFMPEG_avfilter_LIBRARY avfilter
++ /usr/lib
++ /usr/local/lib
++ /usr/lib64
++ /usr/local/lib64
++ )
++
+ FIND_LIBRARY( FFMPEG_avformat_LIBRARY avformat
+ /usr/lib
+ /usr/local/lib
+@@ -71,9 +78,10 @@ ELSE( FFMPEG_CONFIG )
+
+ IF( FFMPEG_avcodec_LIBRARY )
+ IF( FFMPEG_avformat_LIBRARY )
++ IF( FFMPEG_avfilter_LIBRARY )
+
+ SET( FFMPEG_FOUND "YES" )
+- SET( FFMPEG_LIBRARIES ${FFMPEG_avformat_LIBRARY} ${FFMPEG_avcodec_LIBRARY} )
++ SET( FFMPEG_LIBRARIES ${FFMPEG_avformat_LIBRARY} ${FFMPEG_avcodec_LIBRARY} ${FFMPEG_avfilter_LIBRARY} )
+ IF( FFMPEG_avutil_LIBRARY )
+ SET( FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${FFMPEG_avutil_LIBRARY} )
+ ENDIF( FFMPEG_avutil_LIBRARY )
+@@ -81,6 +89,7 @@ ELSE( FFMPEG_CONFIG )
+ SET( FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${FFMPEG_swscale_LIBRARY} )
+ ENDIF( FFMPEG_swscale_LIBRARY )
+
++ ENDIF( FFMPEG_avfilter_LIBRARY )
+ ENDIF( FFMPEG_avformat_LIBRARY )
+ ENDIF( FFMPEG_avcodec_LIBRARY )
+
+--- a/core/vgui/vgui_section_buffer.cxx
++++ b/core/vgui/vgui_section_buffer.cxx
+@@ -458,8 +458,8 @@ apply( vil1_image const& image,
+ bool conversion_ok = false;
+ bool section_ok = false;
+
+-#define DoCase( PixelFormat, DataType, NComp ) \
+- case PixelFormat: \
++#define DoCase( AVPixelFormat, DataType, NComp ) \
++ case AVPixelFormat: \
+ { \
+ DataType* temp_buffer = new DataType[ w_ * h_ * NComp ]; \
+ section_ok = image.get_section( temp_buffer, x_, y_, w_, h_ ); \
+--- a/core/vidl/vidl_ffmpeg_convert.cxx
++++ b/core/vidl/vidl_ffmpeg_convert.cxx
+@@ -16,8 +16,8 @@
+
+ #ifdef LIBAVFORMAT_BUILD
+ #if LIBAVFORMAT_BUILD <= 4623
+-// PIX_FMT_NONE is undefined in old versions of FFMPEG
+-#define PIX_FMT_NONE PixelFormat(-1)
++// AV_PIX_FMT_NONE is undefined in old versions of FFMPEG
++#define AV_PIX_FMT_NONE AVPixelFormat(-1)
+ #endif
+ #endif
+
+@@ -42,13 +42,13 @@ bool vidl_ffmpeg_convert(const vidl_fram
+ if (!in_frame || !out_frame)
+ return false;
+
+- PixelFormat in_fmt =
++ AVPixelFormat in_fmt =
+ vidl_pixel_format_to_ffmpeg(in_frame->pixel_format());
+
+- PixelFormat out_fmt =
++ AVPixelFormat out_fmt =
+ vidl_pixel_format_to_ffmpeg(out_frame->pixel_format());
+
+- if (in_fmt == PIX_FMT_NONE || out_fmt == PIX_FMT_NONE)
++ if (in_fmt == AV_PIX_FMT_NONE || out_fmt == AV_PIX_FMT_NONE)
+ return false;
+
+ unsigned ni = in_frame->ni();
+@@ -91,29 +91,29 @@ bool vidl_ffmpeg_convert(const vidl_fram
+
+ //: Find the vidl pixel format that matches a FFMPEG one
+ vidl_pixel_format
+-vidl_pixel_format_from_ffmpeg(PixelFormat ffmpeg_pix_fmt)
++vidl_pixel_format_from_ffmpeg(AVPixelFormat ffmpeg_pix_fmt)
+ {
+ switch (ffmpeg_pix_fmt)
+ {
+- case PIX_FMT_YUV420P: return VIDL_PIXEL_FORMAT_YUV_420P;
+- case PIX_FMT_YUYV422: return VIDL_PIXEL_FORMAT_YUYV_422;
+- case PIX_FMT_RGB24: return VIDL_PIXEL_FORMAT_RGB_24;
+- case PIX_FMT_BGR24: return VIDL_PIXEL_FORMAT_BGR_24;
+- case PIX_FMT_YUV422P: return VIDL_PIXEL_FORMAT_YUV_422P;
+- case PIX_FMT_YUV444P: return VIDL_PIXEL_FORMAT_YUV_444P;
+-#ifdef PIX_FMT_RGBA
+- case PIX_FMT_RGBA: return VIDL_PIXEL_FORMAT_RGBA_32;
+-#endif
+- case PIX_FMT_YUV410P: return VIDL_PIXEL_FORMAT_YUV_410P;
+- case PIX_FMT_YUV411P: return VIDL_PIXEL_FORMAT_YUV_411P;
+- case PIX_FMT_RGB565: return VIDL_PIXEL_FORMAT_RGB_565;
+- case PIX_FMT_RGB555: return VIDL_PIXEL_FORMAT_RGB_555;
+- case PIX_FMT_GRAY8: return VIDL_PIXEL_FORMAT_MONO_8;
+- case PIX_FMT_PAL8: return VIDL_PIXEL_FORMAT_MONO_8; //HACK: Treating 8-bit palette as greyscale image
+- case PIX_FMT_MONOWHITE: return VIDL_PIXEL_FORMAT_MONO_1;
+- case PIX_FMT_MONOBLACK: return VIDL_PIXEL_FORMAT_MONO_1;
+- case PIX_FMT_UYVY422: return VIDL_PIXEL_FORMAT_UYVY_422;
+- case PIX_FMT_UYYVYY411: return VIDL_PIXEL_FORMAT_UYVY_411;
++ case AV_PIX_FMT_YUV420P: return VIDL_PIXEL_FORMAT_YUV_420P;
++ case AV_PIX_FMT_YUYV422: return VIDL_PIXEL_FORMAT_YUYV_422;
++ case AV_PIX_FMT_RGB24: return VIDL_PIXEL_FORMAT_RGB_24;
++ case AV_PIX_FMT_BGR24: return VIDL_PIXEL_FORMAT_BGR_24;
++ case AV_PIX_FMT_YUV422P: return VIDL_PIXEL_FORMAT_YUV_422P;
++ case AV_PIX_FMT_YUV444P: return VIDL_PIXEL_FORMAT_YUV_444P;
++#ifdef AV_PIX_FMT_RGBA
++ case AV_PIX_FMT_RGBA: return VIDL_PIXEL_FORMAT_RGBA_32;
++#endif
++ case AV_PIX_FMT_YUV410P: return VIDL_PIXEL_FORMAT_YUV_410P;
++ case AV_PIX_FMT_YUV411P: return VIDL_PIXEL_FORMAT_YUV_411P;
++ case AV_PIX_FMT_RGB565: return VIDL_PIXEL_FORMAT_RGB_565;
++ case AV_PIX_FMT_RGB555: return VIDL_PIXEL_FORMAT_RGB_555;
++ case AV_PIX_FMT_GRAY8: return VIDL_PIXEL_FORMAT_MONO_8;
++ case AV_PIX_FMT_PAL8: return VIDL_PIXEL_FORMAT_MONO_8; //HACK: Treating 8-bit palette as greyscale image
++ case AV_PIX_FMT_MONOWHITE: return VIDL_PIXEL_FORMAT_MONO_1;
++ case AV_PIX_FMT_MONOBLACK: return VIDL_PIXEL_FORMAT_MONO_1;
++ case AV_PIX_FMT_UYVY422: return VIDL_PIXEL_FORMAT_UYVY_422;
++ case AV_PIX_FMT_UYYVYY411: return VIDL_PIXEL_FORMAT_UYVY_411;
+ default: break;
+ }
+ return VIDL_PIXEL_FORMAT_UNKNOWN;
+@@ -121,29 +121,29 @@ vidl_pixel_format_from_ffmpeg(PixelForma
+
+
+ //: Find the FFMPEG pixel format that matches a vidl one
+-PixelFormat
++AVPixelFormat
+ vidl_pixel_format_to_ffmpeg(vidl_pixel_format vidl_pix_fmt)
+ {
+ switch (vidl_pix_fmt)
+ {
+- case VIDL_PIXEL_FORMAT_RGB_24: return PIX_FMT_RGB24;
+- case VIDL_PIXEL_FORMAT_BGR_24: return PIX_FMT_BGR24;
+-#ifdef PIX_FMT_RGBA
+- case VIDL_PIXEL_FORMAT_RGBA_32: return PIX_FMT_RGBA;
+-#endif
+- case VIDL_PIXEL_FORMAT_RGB_565: return PIX_FMT_RGB565;
+- case VIDL_PIXEL_FORMAT_RGB_555: return PIX_FMT_RGB555;
+- case VIDL_PIXEL_FORMAT_YUV_444P: return PIX_FMT_YUV444P;
+- case VIDL_PIXEL_FORMAT_YUYV_422: return PIX_FMT_YUYV422;
+- case VIDL_PIXEL_FORMAT_YUV_422P: return PIX_FMT_YUV422P;
+- case VIDL_PIXEL_FORMAT_YUV_420P: return PIX_FMT_YUV420P;
+- case VIDL_PIXEL_FORMAT_YUV_411P: return PIX_FMT_YUV411P;
+- case VIDL_PIXEL_FORMAT_YUV_410P: return PIX_FMT_YUV410P;
+- case VIDL_PIXEL_FORMAT_UYVY_422: return PIX_FMT_UYVY422;
+- case VIDL_PIXEL_FORMAT_UYVY_411: return PIX_FMT_UYYVYY411;
+- case VIDL_PIXEL_FORMAT_MONO_1: return PIX_FMT_MONOBLACK;
+- case VIDL_PIXEL_FORMAT_MONO_8: return PIX_FMT_GRAY8;
++ case VIDL_PIXEL_FORMAT_RGB_24: return AV_PIX_FMT_RGB24;
++ case VIDL_PIXEL_FORMAT_BGR_24: return AV_PIX_FMT_BGR24;
++#ifdef AV_PIX_FMT_RGBA
++ case VIDL_PIXEL_FORMAT_RGBA_32: return AV_PIX_FMT_RGBA;
++#endif
++ case VIDL_PIXEL_FORMAT_RGB_565: return AV_PIX_FMT_RGB565;
++ case VIDL_PIXEL_FORMAT_RGB_555: return AV_PIX_FMT_RGB555;
++ case VIDL_PIXEL_FORMAT_YUV_444P: return AV_PIX_FMT_YUV444P;
++ case VIDL_PIXEL_FORMAT_YUYV_422: return AV_PIX_FMT_YUYV422;
++ case VIDL_PIXEL_FORMAT_YUV_422P: return AV_PIX_FMT_YUV422P;
++ case VIDL_PIXEL_FORMAT_YUV_420P: return AV_PIX_FMT_YUV420P;
++ case VIDL_PIXEL_FORMAT_YUV_411P: return AV_PIX_FMT_YUV411P;
++ case VIDL_PIXEL_FORMAT_YUV_410P: return AV_PIX_FMT_YUV410P;
++ case VIDL_PIXEL_FORMAT_UYVY_422: return AV_PIX_FMT_UYVY422;
++ case VIDL_PIXEL_FORMAT_UYVY_411: return AV_PIX_FMT_UYYVYY411;
++ case VIDL_PIXEL_FORMAT_MONO_1: return AV_PIX_FMT_MONOBLACK;
++ case VIDL_PIXEL_FORMAT_MONO_8: return AV_PIX_FMT_GRAY8;
+ default: break;
+ }
+- return PIX_FMT_NONE;
++ return AV_PIX_FMT_NONE;
+ }
+--- a/core/vidl/vidl_ffmpeg_convert.h
++++ b/core/vidl/vidl_ffmpeg_convert.h
+@@ -39,11 +39,11 @@ bool vidl_ffmpeg_convert(const vidl_fram
+
+ //: Find the vidl pixel format that matches a FFMPEG one
+ vidl_pixel_format
+-vidl_pixel_format_from_ffmpeg(PixelFormat ffmpeg_pix_fmt);
++vidl_pixel_format_from_ffmpeg(AVPixelFormat ffmpeg_pix_fmt);
+
+
+ //: Find the FFMPEG pixel format that matches a vidl one
+-PixelFormat
++AVPixelFormat
+ vidl_pixel_format_to_ffmpeg(vidl_pixel_format vidl_pix_fmt);
+
+ #endif // vidl_ffmpeg_convert_h_
+--- a/core/vidl/vidl_ffmpeg_istream_v3.txx
++++ b/core/vidl/vidl_ffmpeg_istream_v3.txx
+@@ -25,6 +25,9 @@ extern "C" {
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ #include <libswscale/swscale.h>
++#include <libavfilter/avfilter.h>
++#include <libavfilter/buffersrc.h>
++#include <libavfilter/buffersink.h>
+ #else
+ #include <ffmpeg/avcodec.h>
+ #include <ffmpeg/avformat.h>
+@@ -34,6 +37,17 @@ extern "C" {
+
+ //--------------------------------------------------------------------------------
+
++typedef struct filter_ctx_
++{
++ AVFilterContext *buffersink_ctx;
++ AVFilterContext *buffersrc_ctx;
++ AVFilterGraph *filter_graph;
++ AVFrame *filter_frame;
++ int last_width;
++ int last_height;
++ enum AVPixelFormat last_pixfmt;
++} filter_ctx;
++
+ struct vidl_ffmpeg_istream::pimpl
+ {
+ pimpl()
+@@ -96,8 +110,9 @@ struct vidl_ffmpeg_istream::pimpl
+ //: Some codec/file format combinations need a frame number offset.
+ // These codecs have a delay between reading packets and generating frames.
+ unsigned frame_number_offset_;
+-};
+
++ filter_ctx fctx;
++};
+
+ //--------------------------------------------------------------------------------
+
+@@ -107,6 +122,9 @@ vidl_ffmpeg_istream()
+ : is_( new vidl_ffmpeg_istream::pimpl )
+ {
+ vidl_ffmpeg_init();
++ is_->fctx.last_width = -1;
++ is_->fctx.last_height = -1;
++ is_->fctx.last_pixfmt = AV_PIX_FMT_NONE;
+ }
+
+
+@@ -119,11 +137,18 @@ vidl_ffmpeg_istream(const vcl_string& fi
+ open(filename);
+ }
+
++static void delete_filter_graph(filter_ctx *fctx) {
++ if (fctx->filter_graph) {
++ av_frame_free(&fctx->filter_frame);
++ avfilter_graph_free(&fctx->filter_graph);
++ }
++}
+
+ //: Destructor
+ vidl_ffmpeg_istream::
+ ~vidl_ffmpeg_istream()
+ {
++ delete_filter_graph(&is_->fctx);
+ close();
+ delete is_;
+ }
+@@ -170,7 +195,7 @@ open(const vcl_string& filename)
+ }
+
+ is_->vid_str_ = is_->fmt_cxt_->streams[ is_->vid_index_ ];
+- is_->frame_ = avcodec_alloc_frame();
++ is_->frame_ = av_frame_alloc();
+
+ if ( is_->vid_str_->start_time == int64_t(1)<<63 ) {
+ is_->start_time = 0;
+@@ -205,7 +230,7 @@ close()
+ av_free_packet( &is_->packet_ ); // free last packet
+
+ if ( is_->frame_ ) {
+- av_freep( &is_->frame_ );
++ av_frame_free( &is_->frame_ );
+ }
+
+ is_->num_frames_ = -2;
+@@ -450,6 +475,66 @@ vidl_ffmpeg_istream::read_frame()
+ return NULL;
+ }
+
++static int init_filter_graph(filter_ctx *fctx, enum AVPixelFormat pixfmt, int width, int height) {
++ AVFilterInOut *inputs = NULL, *outputs = NULL;
++ char args[512];
++ int res;
++
++ delete_filter_graph(fctx);
++ fctx->filter_graph = avfilter_graph_alloc();
++ snprintf(args, sizeof(args),
++ "buffer=video_size=%dx%d:pix_fmt=%d:time_base=1/1:pixel_aspect=0/1[in];"
++ "[in]yadif[out];"
++ "[out]buffersink",
++ width, height, pixfmt);
++ res = avfilter_graph_parse2(fctx->filter_graph, args, &inputs, &outputs);
++ if (res < 0)
++ return res;
++ if(inputs || outputs)
++ return -1;
++ res = avfilter_graph_config(fctx->filter_graph, NULL);
++ if (res < 0)
++ return res;
++
++ fctx->buffersrc_ctx = avfilter_graph_get_filter(fctx->filter_graph, "Parsed_buffer_0");
++ fctx->buffersink_ctx = avfilter_graph_get_filter(fctx->filter_graph, "Parsed_buffersink_2");
++ if (!fctx->buffersrc_ctx || !fctx->buffersink_ctx)
++ return -1;
++ fctx->filter_frame = av_frame_alloc();
++ fctx->last_width = width;
++ fctx->last_height = height;
++ fctx->last_pixfmt = pixfmt;
++
++ return 0;
++}
++
++static int process_filter_graph(filter_ctx *fctx, AVPicture *dst, const AVPicture *src,
++ enum AVPixelFormat pixfmt, int width, int height) {
++ int res;
++
++ if (!fctx->filter_graph || width != fctx->last_width ||
++ height != fctx->last_height || pixfmt != fctx->last_pixfmt) {
++ res = init_filter_graph(fctx, pixfmt, width, height);
++ if (res < 0)
++ return res;
++ }
++
++ memcpy(fctx->filter_frame->data, src->data, sizeof(src->data));
++ memcpy(fctx->filter_frame->linesize, src->linesize, sizeof(src->linesize));
++ fctx->filter_frame->width = width;
++ fctx->filter_frame->height = height;
++ fctx->filter_frame->format = pixfmt;
++ res = av_buffersrc_add_frame(fctx->buffersrc_ctx, fctx->filter_frame);
++ if (res < 0)
++ return res;
++ res = av_buffersink_get_frame(fctx->buffersink_ctx, fctx->filter_frame);
++ if (res < 0)
++ return res;
++ av_picture_copy(dst, (const AVPicture *) fctx->filter_frame, pixfmt, width, height);
++ av_frame_unref(fctx->filter_frame);
++
++ return 0;
++}
+
+ //: Return the current frame in the stream
+ vidl_frame_sptr
+@@ -468,7 +553,7 @@ vidl_ffmpeg_istream::current_frame()
+
+ // Deinterlace if requested
+ if ( is_->deinterlace_ ) {
+- avpicture_deinterlace( (AVPicture*)is_->frame_, (AVPicture*)is_->frame_,
++ process_filter_graph(&is_->fctx, (AVPicture*)is_->frame_, (AVPicture*)is_->frame_,
+ enc->pix_fmt, width, height );
+ }
+
+@@ -486,7 +571,7 @@ vidl_ffmpeg_istream::current_frame()
+ is_->sws_context_ = sws_getCachedContext(
+ is_->sws_context_,
+ width, height, enc->pix_fmt,
+- width, height, PIX_FMT_RGB24,
++ width, height, AV_PIX_FMT_RGB24,
+ SWS_BILINEAR,
+ NULL, NULL, NULL );
+
+@@ -496,7 +581,7 @@ vidl_ffmpeg_istream::current_frame()
+ }
+
+ AVPicture rgb_frame;
+- avpicture_fill(&rgb_frame, (uint8_t*)is_->contig_memory_->data(), PIX_FMT_RGB24, width, height);
++ avpicture_fill(&rgb_frame, (uint8_t*)is_->contig_memory_->data(), AV_PIX_FMT_RGB24, width, height);
+
+ sws_scale( is_->sws_context_,
+ is_->frame_->data, is_->frame_->linesize,
+--- a/core/vidl/vidl_ffmpeg_ostream_v4.txx
++++ b/core/vidl/vidl_ffmpeg_ostream_v4.txx
+@@ -100,6 +100,7 @@ bool
+ vidl_ffmpeg_ostream::
+ open()
+ {
++ AVDictionary *opts = NULL;
+ // Close any open files
+ close();
+
+@@ -210,10 +211,10 @@ open()
+ video_enc->sample_aspect_ratio = av_d2q(params_.frame_aspect_ratio_*params_.ni_/params_.nj_, 255);
+
+ // Our source is packed RGB. Use that if possible.
+- video_enc->pix_fmt = PIX_FMT_RGB24;
++ video_enc->pix_fmt = AV_PIX_FMT_RGB24;
+ if ( codec && codec->pix_fmts )
+ {
+- const enum PixelFormat* p= codec->pix_fmts;
++ const enum AVPixelFormat* p= codec->pix_fmts;
+ for ( ; *p != -1; p++ )
+ {
+ if ( *p == video_enc->pix_fmt )
+@@ -226,7 +227,7 @@ open()
+ codec->id == AV_CODEC_ID_HUFFYUV ) )
+ {
+ // these formats only support the YUV input image formats
+- video_enc->pix_fmt = PIX_FMT_YUV420P;
++ video_enc->pix_fmt = AV_PIX_FMT_YUV420P;
+ }
+
+ if (!params_.intra_only_)
+@@ -358,7 +359,7 @@ open()
+ video_enc->mb_threshold= params_.mb_threshold_;
+ video_enc->intra_dc_precision= params_.intra_dc_precision_ - 8;
+ video_enc->strict_std_compliance = params_.strict_;
+- video_enc->error_rate = params_.error_rate_;
++ av_dict_set_int(&opts, "error_rate", params_.error_rate_, 0);
+ video_enc->noise_reduction= params_.noise_reduction_;
+ video_enc->scenechange_threshold= params_.sc_threshold_;
+ video_enc->me_range = params_.me_range_;
+@@ -396,7 +397,7 @@ open()
+
+ //dump_format( os_->fmt_cxt_, 1, filename_, 1 );
+
+- if ( avcodec_open2( video_enc, codec, NULL ) < 0 )
++ if ( avcodec_open2( video_enc, codec, &opts ) < 0 )
+ {
+ vcl_cerr << "ffmpeg: couldn't open codec\n";
+ close();
+@@ -484,7 +485,7 @@ write_frame(const vidl_frame_sptr& frame
+ return false;
+ }
+
+- PixelFormat fmt = vidl_pixel_format_to_ffmpeg(frame->pixel_format());
++ AVPixelFormat fmt = vidl_pixel_format_to_ffmpeg(frame->pixel_format());
+
+ vidl_pixel_format target_fmt = vidl_pixel_format_from_ffmpeg(codec->pix_fmt);
+ static vidl_frame_sptr temp_frame = new vidl_shared_frame(NULL,frame->ni(),frame->nj(),target_fmt);
Modified: trunk/packages/vxl/trunk/debian/patches/series
===================================================================
--- trunk/packages/vxl/trunk/debian/patches/series 2015-12-02 15:52:35 UTC (rev 20613)
+++ trunk/packages/vxl/trunk/debian/patches/series 2015-12-03 07:22:56 UTC (rev 20614)
@@ -20,3 +20,5 @@
libav10.patch
gcc-5x.patch
unset-cmake-variables.patch
+add_general_number_of_platforms.patch
+ffmpeg_2.9.patch
Added: trunk/packages/vxl/trunk/debian/source/lintian-overrides
===================================================================
--- trunk/packages/vxl/trunk/debian/source/lintian-overrides (rev 0)
+++ trunk/packages/vxl/trunk/debian/source/lintian-overrides 2015-12-03 07:22:56 UTC (rev 20614)
@@ -0,0 +1,3 @@
+# note: '+dfsg' does not work since vxl refuses to build if a '+' sign is in the path
+# see https://lists.debian.org/debian-med/2014/08/msg00087.html
+vxl source: dfsg-version-with-period 1.17.0.dfsg
Modified: trunk/packages/vxl/trunk/debian/watch
===================================================================
--- trunk/packages/vxl/trunk/debian/watch 2015-12-02 15:52:35 UTC (rev 20613)
+++ trunk/packages/vxl/trunk/debian/watch 2015-12-03 07:22:56 UTC (rev 20614)
@@ -1,5 +1,5 @@
version=3
# note: '+dfsg' does not work since vxl refuses to build if a '+' sign is in the path
# see https://lists.debian.org/debian-med/2014/08/msg00087.html
-opts="uversionmangle=s/$/.dfsg/" \
+opts="repacksuffix=.dfsg,dversionmangle=s/\.dfsg//g" \
http://sf.net/vxl/vxl-([\d\.]+)\.tar.gz
More information about the debian-med-commit
mailing list