Package: vtk6 Version: 6.2.0+dfsg1-4 Severity: important Tags: patch User: pkg-multimedia-maintain...@lists.alioth.debian.org Usertags: ffmpeg2.9
Dear Maintainer, your package fails to build with the upcoming ffmpeg 2.9. This bug will become release-critical at some point when the ffmpeg2.9 transition gets closer. Attached is a patch replacing the deprecated functionality. It also works with ffmpeg 2.8. Please apply this patch and forward it upstream, if necessary. These changes have little regression potential. Best regards, Andreas
diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch new file mode 100644 index 0000000..dd14b97 --- /dev/null +++ b/debian/patches/ffmpeg_2.9.patch @@ -0,0 +1,94 @@ +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> +Last-Update: <2015-11-02> + +--- vtk6-6.2.0+dfsg1.orig/CMake/vtkTestFFMPEG.cmake ++++ vtk6-6.2.0+dfsg1/CMake/vtkTestFFMPEG.cmake +@@ -32,8 +32,8 @@ if(FFMPEG_INCLUDE_DIR) + #include <${FFMEG_CODEC_HEADER_PATH}/avcodec.h> + int main() + { +- img_convert(0, PIX_FMT_RGB24, +- 0, PIX_FMT_RGB24, ++ img_convert(0, AV_PIX_FMT_RGB24, ++ 0, AV_PIX_FMT_RGB24, + 0, 0); + return 0; + }\n") +--- vtk6-6.2.0+dfsg1.orig/IO/FFMPEG/vtkFFMPEGWriter.cxx ++++ vtk6-6.2.0+dfsg1/IO/FFMPEG/vtkFFMPEGWriter.cxx +@@ -189,11 +189,11 @@ int vtkFFMPEGWriterInternal::Start() + c->height = this->Dim[1]; + if (this->Writer->GetCompression()) + { +- c->pix_fmt = PIX_FMT_YUVJ422P; ++ c->pix_fmt = AV_PIX_FMT_YUVJ422P; + } + else + { +- c->pix_fmt = PIX_FMT_BGR24; ++ c->pix_fmt = AV_PIX_FMT_BGR24; + } + + //to do playback at actual recorded rate, this will need more work see also below +@@ -272,13 +272,13 @@ int vtkFFMPEGWriterInternal::Start() + #endif + + //for the output of the writer's input... +- this->rgbInput = avcodec_alloc_frame(); ++ this->rgbInput = av_frame_alloc(); + if (!this->rgbInput) + { + vtkGenericWarningMacro (<< "Could not make rgbInput avframe." ); + return 0; + } +- int RGBsize = avpicture_get_size(PIX_FMT_RGB24, c->width, c->height); ++ int RGBsize = avpicture_get_size(AV_PIX_FMT_RGB24, c->width, c->height); + unsigned char *rgb = (unsigned char *)av_malloc(sizeof(unsigned char) * RGBsize); + if (!rgb) + { +@@ -286,10 +286,10 @@ int vtkFFMPEGWriterInternal::Start() + return 0; + } + //The rgb buffer should get deleted when this->rgbInput is. +- avpicture_fill((AVPicture *)this->rgbInput, rgb, PIX_FMT_RGB24, c->width, c->height); ++ avpicture_fill((AVPicture *)this->rgbInput, rgb, AV_PIX_FMT_RGB24, c->width, c->height); + + //and for the output to the codec's input. +- this->yuvOutput = avcodec_alloc_frame(); ++ this->yuvOutput = av_frame_alloc(); + if (!this->yuvOutput) + { + vtkGenericWarningMacro (<< "Could not make yuvOutput avframe." ); +@@ -347,12 +347,12 @@ int vtkFFMPEGWriterInternal::Write(vtkIm + //convert that to YUV for input to the codec + #ifdef VTK_FFMPEG_HAS_IMG_CONVERT + img_convert((AVPicture *)this->yuvOutput, cc->pix_fmt, +- (AVPicture *)this->rgbInput, PIX_FMT_RGB24, ++ (AVPicture *)this->rgbInput, AV_PIX_FMT_RGB24, + cc->width, cc->height); + #else + //convert that to YUV for input to the codec + SwsContext* convert_ctx = sws_getContext( +- cc->width, cc->height, PIX_FMT_RGB24, ++ cc->width, cc->height, AV_PIX_FMT_RGB24, + cc->width, cc->height, cc->pix_fmt, + SWS_BICUBIC, NULL, NULL, NULL); + +@@ -445,14 +445,14 @@ void vtkFFMPEGWriterInternal::End() + if (this->yuvOutput) + { + av_free(this->yuvOutput->data[0]); +- av_free(this->yuvOutput); ++ av_frame_free(&this->yuvOutput); + this->yuvOutput = NULL; + } + + if (this->rgbInput) + { + av_free(this->rgbInput->data[0]); +- av_free(this->rgbInput); ++ av_frame_free(&this->rgbInput); + this->rgbInput = NULL; + } + diff --git a/debian/patches/series b/debian/patches/series index 0428c1d..b7f38e6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,3 +6,4 @@ 60_use_system_mpi4py.patch 70_fix_ftbfs_gcc49.patch 80_fix_arm_compilation.patch +ffmpeg_2.9.patch
-- debian-science-maintainers mailing list debian-science-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers