ffmpegthumbnailer/moviedecoder.h:55:31: error: unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'? void convertAndScaleFrame(PixelFormat format, int scaledSize, bool maintainAspectRatio, int& scaledWidth, int& scaledHeight); ^~~~~~~~~~~ AVPixelFormat /usr/local/include/libavutil/pixfmt.h:60:6: note: 'AVPixelFormat' declared here enum AVPixelFormat { ^ ffmpegthumbnailer/moviedecoder.cpp:70:16: error: use of undeclared identifier 'avcodec_alloc_frame' m_pFrame = avcodec_alloc_frame(); ^ ffmpegthumbnailer/moviedecoder.cpp:242:5: error: use of undeclared identifier 'avcodec_get_frame_defaults' avcodec_get_frame_defaults(m_pFrame); ^ ffmpegthumbnailer/moviedecoder.cpp:289:9: error: use of undeclared identifier 'avpicture_deinterlace' avpicture_deinterlace((AVPicture*) m_pFrame, (AVPicture*) m_pFrame, m_pVideoCodecContext->pix_fmt, ^ ffmpegthumbnailer/moviedecoder.cpp:305:41: error: unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'? void MovieDecoder::convertAndScaleFrame(PixelFormat format, int scaledSize, bool maintainAspectRatio, int& scaledWidth, int& scaledHeight) ^~~~~~~~~~~ AVPixelFormat /usr/local/include/libavutil/pixfmt.h:60:6: note: 'AVPixelFormat' declared here enum AVPixelFormat { ^ http://package23.nyi.freebsd.org/data/103i386-default-PR207547/2016-10-04_18h24m30s/logs/errors/kdemultimedia-ffmpegthumbs-4.14.3.log
Maybe we need to grab: https://git.reviewboard.kde.org/r/126992
Created attachment 176620 [details] patch kdemultimedia4-ffmpegthumbs for ffmpeg3.x The attached patch is based on the KDE ReviewBoard submission and modified to work with the kde4 version. While here, I also added a patch to fix a type error and added the all the missing USE_QT4 bits caught by QA. This patch has been compile tested on 11amd64 with both ffmpeg 2.8.8 and ffmpeg 3.2.
Created attachment 176963 [details] patch kdemultimedia4-ffmpegthumbs for FFmpeg 3.x I have refreshed the patch using what was committed to KDE's git repo rather than the patch from their ReviewBoard. Minor adjustments were made to apply to KDE4.
Comment on attachment 176963 [details] patch kdemultimedia4-ffmpegthumbs for FFmpeg 3.x Fails to build on 9.x: ffmpegthumbnailer/moviedecoder.cpp: In constructor 'ffmpegthumbnailer::MovieDecoder::MovieDecoder(const QString&, AVFormatContext*)': ffmpegthumbnailer/moviedecoder.cpp:43: error: 'nullptr' was not declared in this scope ffmpegthumbnailer/moviedecoder.cpp: In member function 'void ffmpegthumbnailer::MovieDecoder::deleteFilterGraph()': ffmpegthumbnailer/moviedecoder.cpp:299: error: 'nullptr' was not declared in this scope ffmpegthumbnailer/moviedecoder.cpp: In member function 'bool ffmpegthumbnailer::MovieDecoder::initFilterGraph(AVPixelFormat, int, int)': ffmpegthumbnailer/moviedecoder.cpp:305: error: 'nullptr' was not declared in this scope http://package23.nyi.freebsd.org/data/93i386-default-PR207547/2016-11-25_15h17m51s/logs/errors/kdemultimedia-ffmpegthumbs-4.14.3.log
Just replacing 'nullptr' by 'NULL' in the patch should work fine, I think.
Created attachment 177494 [details] Same as previous patch but s/nullptr/NULL/g
(In reply to Tobias C. Berner from comment #6) Is there anything stopping kde@ from committing this? This is the last PR considered mandatory by portmgr before the ffmpeg3 update can hit the tree.
A commit references this bug: Author: tcberner Date: Mon Dec 5 14:43:13 UTC 2016 New revision: 427900 URL: https://svnweb.freebsd.org/changeset/ports/427900 Log: Fix build with ffmpeg-3.x Import slightly modified version from upstream https://git.reviewboard.kde.org/r/126992/ With this patch the port still works with ffmpeg-2.x. PORTREVISION is being bumped for two reasons: the dependencies have been changed (aka "make stage-qa happy") but also the ffmpeg3 patch causes the library to change (it links against libavfilter at the very least) PR: 214194 Submitted by: Matthew Rezny <matthew@reztek.cz> Reported by: jbeich Approved by: rakuco (mentor) Changes: head/multimedia/kdemultimedia4-ffmpegthumbs/Makefile head/multimedia/kdemultimedia4-ffmpegthumbs/files/patch-kde_rb-126992
Committed. Thanks again to Matthew for addapting the patch :).
(In reply to Tobias C. Berner from comment #9) The commit appears to be based on the obsolete patch from ReviewBoard rather than either of the active attachments which use the later patch from git.