Package: paraview Version: 4.1.0+dfsg+1-2 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..044e96e --- /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> + +--- paraview-4.1.0+dfsg+1.orig/VTK/CMake/vtkTestFFMPEG.cmake ++++ paraview-4.1.0+dfsg+1/VTK/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") +--- paraview-4.1.0+dfsg+1.orig/VTK/IO/FFMPEG/vtkFFMPEGWriter.cxx ++++ paraview-4.1.0+dfsg+1/VTK/IO/FFMPEG/vtkFFMPEGWriter.cxx +@@ -184,11 +184,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 +@@ -267,13 +267,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 = new unsigned char[RGBsize]; + if (!rgb) + { +@@ -281,10 +281,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." ); +@@ -342,12 +342,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); + +@@ -440,14 +440,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 7eea230..ba82afb 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,3 +6,4 @@ fix_ftbfs_gcc49.patch fix_GLintptr_FTBFS.patch fix_ftbfs_freetype.patch reduce_cmake_error.cmake +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