[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