You are not logged in.

#1 02-25-2016 22:01:49

meinereiner
Membre
Registered: 03-21-2012
Posts: 63

ffDiaporama could not be compiled with ffmpeg 3.0

Hello

I need a little help. Until ffmpeg 2.8.6 the devel-version of ffDiaporama could be compiled succesfully under opensuse and manjaro. Now ffmpeg 3.0 is out and there comes a compiler-error

audioconvert.h could not be found.

audioconvert.h ist no more included in the devel-rpms of the new ffmpeg. So I have no idea how ffDiaporama could be used in the future except I don't actualise my system :-((

So is here a little help for this problem?

Greetings

norbert

Offline

#2 02-26-2016 01:08:58

gerd1028
Membre
Registered: 05-09-2014
Posts: 29

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hi,
in my version i have just dropped the include of audioconvert.h in cDeviceModelDef.h.
Seems it is no longer needed by ffDiaporama.

Greets
gerd

Offline

#3 02-29-2016 19:06:31

meinereiner
Membre
Registered: 03-21-2012
Posts: 63

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hello,

sorry, but this don't solve the problem really. Yes without audioconvert.h compiling is going on, but then the avcodec.h file is missing. In 3.0 are many changes and removed header-files.
I think ffD is now dieing :-((.
Pherhaps someone could move ffD to ffmpeg 3.0???

Greetings

norbert

Offline

#4 02-29-2016 22:37:29

gerd1028
Membre
Registered: 05-09-2014
Posts: 29

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Offline

#5 03-01-2016 20:16:58

meinereiner
Membre
Registered: 03-21-2012
Posts: 63

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Thanks for your help

so... I have the folowing marked as comment

#include "libavutil/audioconvert.h"

redirected

#include "libavfilter/avcodec.h" to #include "libavcodec/avcodec.h"

because in ffmpeg 3.0 avcodec.h in libavfilter ist deleted see

http://fossies.org/diffs/ffmpeg/2.8.6_vs_3.0/

and marked as comment your answer in post#10 of the marked thread.

But...

g++ -c -pipe -O2 -D_REENTRANT -Wall -W -fPIC -DSHARE_DIR=\"/usr\" -DQ_OS_LINUX64 -DUSELIBSWRESAMPLE -DQT_NO_DEBUG -DQT_HELP_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -I../ffDiaporama_lib -isystem /usr/include/ffmpeg -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtHelp -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtSql -isystem /usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o cSoundBlockList.o engine/cSoundBlockList.cpp
g++ -c -pipe -O2 -D_REENTRANT -Wall -W -fPIC -DSHARE_DIR=\"/usr\" -DQ_OS_LINUX64 -DUSELIBSWRESAMPLE -DQT_NO_DEBUG -DQT_HELP_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -I../ffDiaporama_lib -isystem /usr/include/ffmpeg -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtHelp -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtSql -isystem /usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o cBaseMediaFile.o engine/cBaseMediaFile.cpp
engine/cBaseMediaFile.cpp: In member function ‘virtual bool cVideoFile::GetChildFullInformationFromFile(bool, cCustomIcon*, QStringList*)’:
engine/cBaseMediaFile.cpp:2511:41: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
                                         av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
                                         ^
engine/cBaseMediaFile.cpp:2511:68: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
                                         av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
                                                                    ^
engine/cBaseMediaFile.cpp:2600:33: warning: ‘int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4883) [-Wdeprecated-declarations]
                                 avpicture_fill((AVPicture *)FrameRGB,Thumbnail.bits(),PIXFMT,RealW,RealH);
                                 ^
engine/cBaseMediaFile.cpp:127:25: error: ‘PIX_FMT_RGB24’ was not declared in this scope
 #define PIXFMT          PIX_FMT_RGB24
                         ^
engine/cBaseMediaFile.cpp:2600:87: note: in expansion of macro ‘PIXFMT’
                                 avpicture_fill((AVPicture *)FrameRGB,Thumbnail.bits(),PIXFMT,RealW,RealH);
                                                                                       ^
engine/cBaseMediaFile.cpp:2601:117: error: ‘PixelFormat’ was not declared in this scope
                                 struct SwsContext *img_convert_ctx=sws_getContext(FrameYUV->width,FrameYUV->height,(PixelFormat)FrameYUV->format,RealW,RealH,PIXFMT,SWS_FAST_BILINEAR,NULL,NULL,NULL);
                                                                                                                     ^
engine/cBaseMediaFile.cpp: In member function ‘virtual QImage* cVideoFile::ReadFrame(bool, int64_t, bool, bool, cSoundBlockList*, double, bool, int)’:
engine/cBaseMediaFile.cpp:3381:13: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
             av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
             ^
engine/cBaseMediaFile.cpp:3381:40: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
             av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
                                        ^
engine/cBaseMediaFile.cpp:3592:21: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
                     av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
                     ^
engine/cBaseMediaFile.cpp:3592:48: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
                     av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
                                                ^
engine/cBaseMediaFile.cpp: At global scope:
engine/cBaseMediaFile.cpp:3223:9: warning: unused parameter ‘ForceSoundOnly’ [-Wunused-parameter]
 QImage *cVideoFile::ReadFrame(bool PreviewMode,int64_t Position,bool DontUseEndPos,bool Deinterlace,cSoundBlockList *SoundTrackBloc,double Volume,bool ForceSoundOnly,int NbrDuration) {
         ^
engine/cBaseMediaFile.cpp: In member function ‘void cVideoFile::DecodeAudio(cVideoFile::sAudioContext*, AVPacket*, int64_t)’:
engine/cBaseMediaFile.cpp:3671:9: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
         av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
         ^
engine/cBaseMediaFile.cpp:3671:36: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4040) [-Wdeprecated-declarations]
         av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
                                    ^
engine/cBaseMediaFile.cpp: In member function ‘virtual QImage* cVideoFile::ConvertYUVToRGB(bool, AVFrame*)’:
engine/cBaseMediaFile.cpp:3745:9: warning: ‘int avpicture_fill(AVPicture*, const uint8_t*, AVPixelFormat, int, int)’ is deprecated (declared at /usr/include/ffmpeg/libavcodec/avcodec.h:4883) [-Wdeprecated-declarations]
         avpicture_fill(
         ^
engine/cBaseMediaFile.cpp:127:25: error: ‘PIX_FMT_RGB24’ was not declared in this scope
 #define PIXFMT          PIX_FMT_RGB24
                         ^
engine/cBaseMediaFile.cpp:3748:17: note: in expansion of macro ‘PIXFMT’
                 PIXFMT,                             // The format in which the picture data is stored (see http://wiki.aasimon.org/doku.php?id=Libav:pixelformat)
                 ^
engine/cBaseMediaFile.cpp:3757:14: error: ‘PixelFormat’ was not declared in this scope
             (PixelFormat)Frame->format,                                       // Src Format
              ^
engine/cBaseMediaFile.cpp: In member function ‘virtual int cVideoFile::getThreadFlags(AVCodecID)’:
engine/cBaseMediaFile.cpp:3840:14: error: ‘CODEC_ID_PRORES’ was not declared in this scope
         case CODEC_ID_PRORES:
              ^
engine/cBaseMediaFile.cpp:3841:14: error: ‘CODEC_ID_MPEG1VIDEO’ was not declared in this scope
         case CODEC_ID_MPEG1VIDEO:
              ^
engine/cBaseMediaFile.cpp:3842:14: error: ‘CODEC_ID_DVVIDEO’ was not declared in this scope
         case CODEC_ID_DVVIDEO:
              ^
engine/cBaseMediaFile.cpp:3843:14: error: ‘CODEC_ID_MPEG2VIDEO’ was not declared in this scope
         case CODEC_ID_MPEG2VIDEO:   Ret=FF_THREAD_SLICE;                    break;
              ^
engine/cBaseMediaFile.cpp:3844:14: error: ‘CODEC_ID_H264’ was not declared in this scope
         case CODEC_ID_H264 :        Ret=FF_THREAD_FRAME|FF_THREAD_SLICE;    break;
              ^
Makefile:4378: recipe for target 'cBaseMediaFile.o' failed
make[1]: *** [cBaseMediaFile.o] Error 1
make[1]: Leaving directory '/home/norbert/bin/ffDiaporama.r488/src/ffDiaporama'
Makefile:68: recipe for target 'sub-src-ffDiaporama-make_first' failed
make: *** [sub-src-ffDiaporama-make_first] Error 2

New errors come out.

Greetings

norbert

Offline

#6 03-02-2016 01:17:16

gerd1028
Membre
Registered: 05-09-2014
Posts: 29

Re: ffDiaporama could not be compiled with ffmpeg 3.0

change

#define PIXFMT          PIX_FMT_RGB24

to

#define PIXFMT          AV_PIX_FMT_RGB24

and  the block

        case CODEC_ID_PRORES:
        case CODEC_ID_MPEG1VIDEO:
        case CODEC_ID_DVVIDEO:
        case CODEC_ID_MPEG2VIDEO:   Ret=FF_THREAD_SLICE;                    break;
        case CODEC_ID_H264 :        Ret=FF_THREAD_FRAME|FF_THREAD_SLICE;    break;

to

        case AV_CODEC_ID_PRORES:
        case AV_CODEC_ID_MPEG1VIDEO:
        case AV_CODEC_ID_DVVIDEO:
        case AV_CODEC_ID_MPEG2VIDEO:   Ret=FF_THREAD_SLICE;                    break;
        case AV_CODEC_ID_H264 :        Ret=FF_THREAD_FRAME|FF_THREAD_SLICE;    break;

Greetings
gerd

Offline

#7 03-02-2016 20:55:07

meinereiner
Membre
Registered: 03-21-2012
Posts: 63

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hello,

thanks for your help. But is was a hard work to debug all errors coming again.

So... in cBaseMediaFile I have changed your hints and then the error comes again.

Changing the string  "PixelFormat" to "AVPixelFormat" solved this error

And then in

_EncodeVideo.cpp the same pocedure as happened but ...

"PIX_FMT_YUV420P" must also renamed in "AV_PIX_FMT_YUV420P"

then the compiler runs through with some warnings about deprecated functions.

ffD seems to run normal but I've not tested all the functions

Thanks

norbert

Offline

#8 03-13-2016 14:47:30

EgLe
Nouveau membre
Registered: 03-13-2016
Posts: 1

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hallo meinereiner,

is there a pacht avable for ffmep 3.x?
or can you help me to understand what must to be byself?

Sorry for my english..


Grüße EgLe

Offline

#9 03-25-2016 13:51:23

meinereiner
Membre
Registered: 03-21-2012
Posts: 63

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hello EgLe

For the last devel-Version you get a patch here

https://www.dropbox.com/s/vsnfygq1zrg8l … patch?dl=0

Pherhaps an Admin could customize it and store it on tuxfamily.

Greetings

Offline

#10 03-26-2016 02:58:19

boenki
Membre
Registered: 09-21-2011
Posts: 88

Re: ffDiaporama could not be compiled with ffmpeg 3.0

@meinereiner: Thanks for the patch. I included it in the AUR package for archlinux.

btw. Does anyone else think we should move this project to github so patches could be applied easier.
The original author seems to be gone and it's GPL, so why not have a community-edition!?


Archlinux packager: stable / texuremate-addon / openclipart-addon

Offline

#11 03-27-2016 19:23:23

pepebaeza
Administrateur
From: Sevilla
Registered: 09-17-2011
Posts: 65
Website

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hello boenki

Dominique, the author, would be pleased that someone could follow the development of this wonderful program. Any brave encouraged?


Thank you for your extraordinary work.
Thank you that I can still enjoy my ffDiaporama - Manjaro

Offline

#12 04-01-2016 14:50:57

Sestay
Modérateur
Registered: 09-19-2011
Posts: 454
Website

Re: ffDiaporama could not be compiled with ffmpeg 3.0

Hello,
I don' know if its possible to use https://github.com/probonopd/AppImageKi … /README.md
to make an appimage from ffDiaporama.
In this case no problem to run on most Linux distribution.

Offline

#13 04-03-2016 04:30:14

cabin
Nouveau membre
Registered: 09-22-2015
Posts: 2

Re: ffDiaporama could not be compiled with ffmpeg 3.0

I have the same problem with ffmpeg as you people. Does anyone know why it is not maintained any more since 2014?

Offline

Board footer