File ffdiaporama-2.2-ffmpeg-3.2.patch of Package ffdiaporama
diff -up ffDiaporama/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.cpp.ffmpeg3.2 ffDiaporama/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.cpp
diff -up ffDiaporama/src/ffDiaporama/engine/cBaseMediaFile.cpp.ffmpeg3.2 ffDiaporama/src/ffDiaporama/engine/cBaseMediaFile.cpp
--- ffDiaporama/src/ffDiaporama/engine/cBaseMediaFile.cpp.ffmpeg3.2 2017-02-21 00:41:03.983990741 +0100
+++ ffDiaporama/src/ffDiaporama/engine/cBaseMediaFile.cpp 2017-02-21 01:01:49.793165316 +0100
@@ -124,7 +124,7 @@ int Exiv2PatchVersion=EXIV2_PATCH_VERSI
#define VC_USERDATA 0x00000008
#define VC_FLUSHED 0x00000010
-#define PIXFMT PIX_FMT_RGB24
+#define PIXFMT AV_PIX_FMT_RGB24
#define QTPIXFMT QImage::Format_RGB888
//****************************************************************************************************************************************************************
@@ -2598,7 +2598,7 @@ bool cVideoFile::GetChildFullInformation
AVFrame *FrameRGB=ALLOCFRAME();
if ((FrameRGB)&&(!Thumbnail.isNull())) {
avpicture_fill((AVPicture *)FrameRGB,Thumbnail.bits(),PIXFMT,RealW,RealH);
- struct SwsContext *img_convert_ctx=sws_getContext(FrameYUV->width,FrameYUV->height,(PixelFormat)FrameYUV->format,RealW,RealH,PIXFMT,SWS_FAST_BILINEAR,NULL,NULL,NULL);
+ struct SwsContext *img_convert_ctx=sws_getContext(FrameYUV->width,FrameYUV->height,(AVPixelFormat)FrameYUV->format,RealW,RealH,PIXFMT,SWS_FAST_BILINEAR,NULL,NULL,NULL);
if (img_convert_ctx!=NULL) {
int ret = sws_scale(img_convert_ctx,FrameYUV->data,FrameYUV->linesize,0,FrameYUV->height,FrameRGB->data,FrameRGB->linesize);
if (ret>0) {
@@ -2919,7 +2919,7 @@ int cVideoFile::VideoFilter_Open() {
ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Open : avfilter_graph_create_filter: src"));
return result;
}
- std::vector<PixelFormat> m_formats;
+ std::vector<AVPixelFormat> m_formats;
m_formats.push_back(PIX_FMT_YUVJ420P);
m_formats.push_back(PIX_FMT_NONE); /* always add none to get a terminated list in Libav world */
if ((result=avfilter_graph_create_filter(&VideoFilterOut,outFilter,"out",NULL,NULL,VideoFilterGraph))<0) {
@@ -3751,7 +3751,7 @@ QImage *cVideoFile::ConvertYUVToRGB(bool
struct SwsContext *img_convert_ctx=sws_getContext(
Frame->width, // Src width
Frame->height, // Src height
- (PixelFormat)Frame->format, // Src Format
+ (AVPixelFormat)Frame->format, // Src Format
W, // Destination width
H, // Destination height
PIXFMT, // Destination Format
@@ -3834,11 +3834,11 @@ QImage *cVideoFile::ImageAt(bool Preview
int cVideoFile::getThreadFlags(AVCodecID ID) {
int Ret=0;
switch (ID) {
- 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;
+ 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;
default: Ret=FF_THREAD_FRAME; break;
}
return Ret;
diff -up ffDiaporama/src/ffDiaporama/engine/cDeviceModelDef.h.ffmpeg3.2 ffDiaporama/src/ffDiaporama/engine/cDeviceModelDef.h
--- ffDiaporama/src/ffDiaporama/engine/cDeviceModelDef.h.ffmpeg3.2 2017-02-21 00:41:03.947990996 +0100
+++ ffDiaporama/src/ffDiaporama/engine/cDeviceModelDef.h 2017-02-21 00:52:09.541276406 +0100
@@ -53,7 +53,7 @@ extern "C" {
#include <libavutil/mathematics.h>
#include <libavutil/pixdesc.h>
-#include <libavutil/audioconvert.h>
+#include <libavutil/channel_layout.h>
#include <libavcodec/avcodec.h>
@@ -85,7 +85,6 @@ extern "C" {
#define FFMPEG
#include "libswresample/swresample.h"
#define RESAMPLE_MAX_CHANNELS 32
- #include "libavfilter/avcodec.h"
#include "libavfilter/buffersink.h"
#include "libavfilter/buffersrc.h"
#if ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,66,100))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(55,52,102))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(55,33,100))&& \
@@ -115,31 +114,6 @@ extern "C" {
#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
#endif
-#if !defined(FF_API_CODEC_ID)
- #define AV_CODEC_ID_NONE CODEC_ID_NONE
- #define AV_CODEC_ID_MJPEG CODEC_ID_MJPEG
- #define AV_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO
- #define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
- #define AV_CODEC_ID_H264 CODEC_ID_H264
- #define AV_CODEC_ID_VP8 CODEC_ID_VP8
- #define AV_CODEC_ID_FLV1 CODEC_ID_FLV1
- #define AV_CODEC_ID_THEORA CODEC_ID_THEORA
- #define AV_CODEC_ID_WMV1 CODEC_ID_WMV1
- #define AV_CODEC_ID_WMV2 CODEC_ID_WMV2
- #define AV_CODEC_ID_WMV3 CODEC_ID_WMV3
- #define AV_CODEC_ID_PCM_S16LE CODEC_ID_PCM_S16LE
- #define AV_CODEC_ID_MP3 CODEC_ID_MP3
- #define AV_CODEC_ID_AAC CODEC_ID_AAC
- #define AV_CODEC_ID_AC3 CODEC_ID_AC3
- #define AV_CODEC_ID_VORBIS CODEC_ID_VORBIS
- #define AV_CODEC_ID_MP2 CODEC_ID_MP2
- #define AV_CODEC_ID_AMR_WB CODEC_ID_AMR_WB
- #define AV_CODEC_ID_AMR_NB CODEC_ID_AMR_NB
- #define AV_CODEC_ID_FLAC CODEC_ID_FLAC
- #define AV_CODEC_ID_WMAV1 CODEC_ID_WMAV1
- #define AV_CODEC_ID_WMAV2 CODEC_ID_WMAV2
-#endif
-
#if !defined(avcodec_free_frame)
#define avcodec_free_frame av_freep
#endif
diff -up ffDiaporama/src/ffDiaporama/engine/_EncodeVideo.cpp.ffmpeg3.2 ffDiaporama/src/ffDiaporama/engine/_EncodeVideo.cpp
--- ffDiaporama/src/ffDiaporama/engine/_EncodeVideo.cpp.ffmpeg3.2 2014-06-23 09:39:23.000000000 +0200
+++ ffDiaporama/src/ffDiaporama/engine/_EncodeVideo.cpp 2017-02-21 01:07:32.108733262 +0100
@@ -20,7 +20,7 @@
#include "_EncodeVideo.h"
-#define PIXFMT PIX_FMT_RGB24
+#define PIXFMT AV_PIX_FMT_RGB24
#define QTPIXFMT QImage::Format_RGB888
//*************************************************************************************************************************************************
@@ -185,11 +185,11 @@ void cEncodeVideo::CloseEncoder() {
int cEncodeVideo::getThreadFlags(AVCodecID ID) {
int Ret=0;
switch (ID) {
- 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;
+ 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;
default: Ret=FF_THREAD_FRAME; break;
}
return Ret;
@@ -414,7 +414,7 @@ bool cEncodeVideo::OpenVideoStream(sVide
// Setup codec parameters
VideoStream->codec->width =ImageWidth;
VideoStream->codec->height =ImageHeight;
- VideoStream->codec->pix_fmt =PIX_FMT_YUV420P;
+ VideoStream->codec->pix_fmt =AV_PIX_FMT_YUV420P;
VideoStream->codec->time_base =VideoFrameRate;
VideoStream->codec->sample_aspect_ratio =PixelAspectRatio;
VideoStream->sample_aspect_ratio =PixelAspectRatio;
@@ -441,7 +441,7 @@ bool cEncodeVideo::OpenVideoStream(sVide
} else if (codec->id==AV_CODEC_ID_MJPEG) {
//-qscale 2 -qmin 2 -qmax 2
- VideoStream->codec->pix_fmt =PIX_FMT_YUVJ420P;
+ VideoStream->codec->pix_fmt =AV_PIX_FMT_YUVJ420P;
VideoStream->codec->qmin =2;
VideoStream->codec->qmax =2;
VideoStream->codec->bit_rate_tolerance =int(qreal(int64_t(ImageWidth)*int64_t(ImageHeight)*int64_t(VideoFrameRate.den))/qreal(VideoFrameRate.num))*10;