Gentoo Archives: gentoo-commits

From: Jonas Stein <jstein@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/ffdiaporama/files/, media-video/ffdiaporama/
Date: Sun, 10 Dec 2017 14:47:18
Message-Id: 1512917224.7de4187729ad1f566dcc75a4e6e483a7aed67d3a.jstein@gentoo
1 commit: 7de4187729ad1f566dcc75a4e6e483a7aed67d3a
2 Author: Jonas Stein <jstein <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 10 14:46:51 2017 +0000
4 Commit: Jonas Stein <jstein <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 10 14:47:04 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7de41877
7
8 media-video/ffdiaporama: Moved patch to devspace
9
10 Package-Manager: Portage-2.3.17, Repoman-2.3.6
11
12 media-video/ffdiaporama/Manifest | 1 +
13 media-video/ffdiaporama/ffdiaporama-2.1-r1.ebuild | 3 +-
14 .../files/ffdiaporama-2.1-libav10.patch | 427 ---------------------
15 3 files changed, 3 insertions(+), 428 deletions(-)
16
17 diff --git a/media-video/ffdiaporama/Manifest b/media-video/ffdiaporama/Manifest
18 index e7efb4c00b5..d3b814d3735 100644
19 --- a/media-video/ffdiaporama/Manifest
20 +++ b/media-video/ffdiaporama/Manifest
21 @@ -1,3 +1,4 @@
22 +DIST ffdiaporama-2.1-libav10.patch 24734 BLAKE2B bc12266f69f10990b4a74b8fd93da31fd55530e1ff3a41a030e865da5154452f58f5aca03c6bc2ebff8200ded02c115f1bda0ffc9d0412010b8a3eed181e1e54 SHA512 635dd967792159bfb5986eb97715aa46222029cbf3bcd5b58779b8894272728f2a422b4e73645ddc80f5d4cb1bc9a12ceccc06e160c72140571d2233e029b38b
23 DIST ffdiaporama_bin_2.1.2014.0209.tar.gz 16063604 BLAKE2B e0915c578f48e23d42e50db77af8a4d8733f6e8914d49e2d0da57f5c1fff84aea584a8f3df94fe9a66acbb1c1bf69efcf3a6140089ab15f59753e7920ab342b6 SHA512 40fc40ae8f09d311dc615051bd0bc4573f1f9ab5abe06032e161b759194c772b43c337902baf9c5a1eb027796fcdecc2fc20dce5d998091e6ccf8f696149223d
24 DIST ffdiaporama_rsc_2.1.2014.0209.tar.gz 17669845 BLAKE2B 7155ec3b6b0a6ded2dc5ac079fe65f6d562942fb10c00d85bf109757b4bf7f8c334b51e2e19cb80aa57426ffddc28592d207cc60dad0726675862caac5c7d85f SHA512 910b2139eb1b97a86c8d795b65255f723e346b3b4ce805878835813f9b21c7b606f811488f9099003a0e0951006df6d32663f1d8be2ffe1c355cf9311ac4be19
25 DIST ffdiaporama_texturemate_1.0.2014.0125.tar.gz 30352923 BLAKE2B af558994a811508ff6b0f1dc34f33c60fca0a4f40c1cf675e08925b40c8312444a20ea95b0a0c9316225806096e9bbb209faf3e48b74041604c6d81be0175aba SHA512 e9aa9607d670a620b2e3c27d6ec5bf983eb31ab3d3139edf32ebb84d9ffa58b11c822f7db4b3f3c4a430b256719803df4a3a385bd467bdda09f8710d010eb2f5
26
27 diff --git a/media-video/ffdiaporama/ffdiaporama-2.1-r1.ebuild b/media-video/ffdiaporama/ffdiaporama-2.1-r1.ebuild
28 index 3c8b95d50b7..ea066ecd17b 100644
29 --- a/media-video/ffdiaporama/ffdiaporama-2.1-r1.ebuild
30 +++ b/media-video/ffdiaporama/ffdiaporama-2.1-r1.ebuild
31 @@ -1,4 +1,4 @@
32 -# Copyright 1999-2016 Gentoo Foundation
33 +# Copyright 1999-2017 Gentoo Foundation
34 # Distributed under the terms of the GNU General Public License v2
35
36 EAPI=5
37 @@ -14,6 +14,7 @@ DESCRIPTION="Movie creator from photos and video clips"
38 HOMEPAGE="http://ffdiaporama.tuxfamily.org"
39 SRC_URI="http://ffdiaporama.tuxfamily.org/script/GetPackage.php?f=${PN}_bin_${BIN_PV}.tar.gz -> ${PN}_bin_${BIN_PV}.tar.gz
40 http://ffdiaporama.tuxfamily.org/script/GetPackage.php?f=${PN}_rsc_${RSC_PV}.tar.gz -> ${PN}_rsc_${RSC_PV}.tar.gz
41 + https://dev.gentoo.org/~jstein/dist/ffdiaporama-2.1-libav10.patch
42 openclipart? ( http://openclipart.org/downloads/${OPENCLI_PV}/${OPENCLI_P}-svgonly.tar.bz2 )
43 texturemate? ( http://ffdiaporama.tuxfamily.org/script/GetPackage.php?f=${PN}_texturemate_${TMT_PV}.tar.gz -> ${PN}_texturemate_${TMT_PV}.tar.gz )"
44
45
46 diff --git a/media-video/ffdiaporama/files/ffdiaporama-2.1-libav10.patch b/media-video/ffdiaporama/files/ffdiaporama-2.1-libav10.patch
47 deleted file mode 100644
48 index 1b607ba6c66..00000000000
49 --- a/media-video/ffdiaporama/files/ffdiaporama-2.1-libav10.patch
50 +++ /dev/null
51 @@ -1,427 +0,0 @@
52 ---- src/ffDiaporama/engine/cBaseMediaFile.cpp 2014-02-09 10:48:04.000000000 +0100
53 -+++ src/ffDiaporama/engine/cBaseMediaFile.cpp 2015-03-29 00:20:56.672641700 +0100
54 -@@ -1861,12 +1861,12 @@
55 - }
56 -
57 - cImageInCache::~cImageInCache() {
58 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
59 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
60 - if (FrameBufferYUV->opaque) {
61 - avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque);
62 - FrameBufferYUV->opaque=NULL;
63 - }
64 -- #elif defined(FFMPEG) && (FFMPEGVERSIONINT>=201)
65 -+ #else
66 - if (FiltFrame) {
67 - av_frame_unref(FiltFrame);
68 - av_frame_free(&FiltFrame);
69 -@@ -2239,7 +2239,7 @@
70 - LibavFile->streams[VideoStreamNumber]->discard=AVDISCARD_DEFAULT; // Setup STREAM options
71 -
72 - // Setup decoder options
73 -- LibavFile->streams[VideoStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
74 -+ //LibavFile->streams[VideoStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
75 - LibavFile->streams[VideoStreamNumber]->codec->debug =0; // Debug level (0=nothing)
76 - LibavFile->streams[VideoStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
77 - LibavFile->streams[VideoStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
78 -@@ -2256,12 +2256,12 @@
79 - if (avcodec_open2(LibavFile->streams[VideoStreamNumber]->codec,Codec,NULL)>=0) {
80 - // Get Aspect Ratio
81 -
82 -- AspectRatio=double(LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num)/double(LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den);
83 --
84 -- if (LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.num!=0)
85 -+ if (LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num!=0)
86 -+ AspectRatio=double(LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num)/double(LibavFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den);
87 -+ else if (LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.num!=0)
88 - AspectRatio=double(LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.num)/double(LibavFile->streams[VideoStreamNumber]->sample_aspect_ratio.den);
89 --
90 -- if (AspectRatio==0) AspectRatio=1;
91 -+ else
92 -+ AspectRatio=1;
93 -
94 - // Special case for DVD mode video without PAR
95 - if ((AspectRatio==1)&&(LibavFile->streams[VideoStreamNumber]->codec->coded_width==720)&&((LibavFile->streams[VideoStreamNumber]->codec->coded_height==576)||(LibavFile->streams[VideoStreamNumber]->codec->coded_height==480)))
96 -@@ -2384,7 +2384,7 @@
97 - AVCodec *ThumbDecoderCodec=avcodec_find_decoder(ThumbStream->codec->codec_id);
98 -
99 - // Setup decoder options
100 -- ThumbStream->codec->debug_mv =0; // Debug level (0=nothing)
101 -+ //ThumbStream->codec->debug_mv =0; // Debug level (0=nothing)
102 - ThumbStream->codec->debug =0; // Debug level (0=nothing)
103 - ThumbStream->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
104 - ThumbStream->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
105 -@@ -2552,7 +2552,7 @@
106 - }
107 -
108 - if (FrameBufferYUV!=NULL) {
109 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
110 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
111 - if (FrameBufferYUV->opaque) {
112 - avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque);
113 - FrameBufferYUV->opaque=NULL;
114 -@@ -2572,7 +2572,7 @@
115 - if (RSC) {
116 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
117 - audio_resample_close(RSC);
118 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
119 -+ #elif defined(LIBAV)
120 - avresample_close(RSC);
121 - avresample_free(&RSC);
122 - #elif defined(FFMPEG)
123 -@@ -2619,7 +2619,7 @@
124 - 1, // linear
125 - 0); // cutoff
126 - if (!RSC) ToLog(LOGMSG_CRITICAL,QString("CheckResampler: av_audio_resample_init failed"));
127 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
128 -+ #elif defined(LIBAV)
129 - this->RSC_InChannelLayout =RSC_InChannelLayout;
130 - this->RSC_OutChannelLayout=RSC_OutChannelLayout;
131 - RSC=avresample_alloc_context();
132 -@@ -2704,7 +2704,7 @@
133 - AVFilterInOut *outputs = (AVFilterInOut *)av_malloc(sizeof(AVFilterInOut));
134 - AVFilterInOut *inputs = (AVFilterInOut *)av_malloc(sizeof(AVFilterInOut));
135 -
136 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
137 -+ #elif defined(LIBAV)
138 -
139 - QString args=QString("%1:%2:%3:%4:%5:%6:%7")
140 - .arg(LibavVideoFile->streams[VideoStreamNumber]->codec->width)
141 -@@ -2768,10 +2768,8 @@
142 - inputs->pad_idx = 0;
143 - inputs->next = NULL;
144 -
145 -- #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
146 -+ #if defined(LIBAV)
147 - if ((result=avfilter_graph_parse(VideoFilterGraph,QString("yadif=1:-1").toLocal8Bit().constData(),inputs,outputs,NULL))<0) {
148 -- #elif (defined(LIBAV) && (LIBAVVERSIONINT<=9))
149 -- if ((result=avfilter_graph_parse(VideoFilterGraph,QString("yadif=deint=interlaced:mode=send_frame:parity=auto").toLocal8Bit().constData(),inputs,outputs,NULL))<0) {
150 - #elif (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
151 - if ((result=avfilter_graph_parse(VideoFilterGraph,QString("yadif=deint=interlaced:mode=send_frame:parity=auto").toLocal8Bit().constData(),&inputs,&outputs,NULL))<0) {
152 - #elif defined(FFMPEG)&&(FFMPEGVERSIONINT>=201)
153 -@@ -2799,7 +2797,7 @@
154 -
155 - //====================================================================================================================
156 -
157 --#if defined(LIBAV) || (FFMPEGVERSIONINT<201)
158 -+#if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
159 - int cVideoFile::VideoFilter_Process() {
160 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
161 - // LIBAV 8
162 -@@ -2831,7 +2829,7 @@
163 - FrameBufferYUV->opaque=(void *)avfilter_ref_buffer(VideoFilterOut->inputs[0]->cur_buf,AV_PERM_READ);
164 - }
165 -
166 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
167 -+ #elif defined(LIBAV)
168 - // LIBAV9
169 - AVFilterBufferRef *m_pBufferRef=NULL;
170 - int Ret=av_buffersrc_write_frame(VideoFilterIn,FrameBufferYUV);
171 -@@ -2964,7 +2962,7 @@
172 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
173 - Data=(u_int8_t *)av_malloc(MaxAudioLenDecoded);
174 - if (Data) *SizeDecoded=audio_resample(RSC,(short int*)Data,(short int*)Frame->data[0],Frame->nb_samples)*DstSampleSize;
175 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
176 -+ #elif defined(LIBAV)
177 - u_int8_t *in_data[RESAMPLE_MAX_CHANNELS]={0};
178 - int in_linesize=0;
179 - Data=Frame->data[0];
180 -@@ -2979,7 +2977,7 @@
181 - } else if (av_samples_fill_arrays(out_data,&out_linesize,Data,RSC_OutChannels,out_samples,RSC_OutSampleFmt,1)<0) {
182 - ToLog(LOGMSG_CRITICAL,QString("failed out_data fill arrays"));
183 - } else {
184 -- *SizeDecoded=avresample_convert(RSC,out_data,out_linesize,out_samples,in_data,in_linesize,Frame->nb_samples)*DstSampleSize;
185 -+ *SizeDecoded=avresample_convert(RSC,out_data,out_linesize,out_samples,Frame->data,in_linesize,Frame->nb_samples)*DstSampleSize;
186 - }
187 - }
188 - #elif defined(FFMPEG)
189 -@@ -3024,7 +3022,7 @@
190 -
191 - if (!FPSDuration) {
192 - if (PreviewMode) FPSDuration=double(AV_TIME_BASE)/((cApplicationConfig *)ApplicationConfig)->PreviewFPS;
193 -- else if (VideoStream) FPSDuration=double(VideoStream->r_frame_rate.den*AV_TIME_BASE)/double(VideoStream->r_frame_rate.num);
194 -+ else if (VideoStream) FPSDuration=double(VideoStream->avg_frame_rate.den*AV_TIME_BASE)/double(VideoStream->avg_frame_rate.num);
195 - else FPSDuration=double(AV_TIME_BASE)/double(SoundTrackBloc->SamplingRate);
196 - }
197 - // If position >= end of file : disable audio
198 -@@ -3164,7 +3162,7 @@
199 - Data=Frame->data[0];
200 - #if (defined(LIBAV)&&(LIBAVVERSIONINT<=8))
201 - SizeDecoded=Frame->nb_samples*av_get_bytes_per_sample(AudioStream->codec->sample_fmt)*AudioStream->codec->channels;
202 -- #elif (defined(LIBAV)&&(LIBAVVERSIONINT<=9))
203 -+ #elif defined(LIBAV)
204 - SizeDecoded=av_samples_get_buffer_size(NULL,AudioStream->codec->channels,Frame->nb_samples,AudioStream->codec->sample_fmt,0);
205 - #elif defined(FFMPEG)
206 - SizeDecoded=Frame->nb_samples*av_get_bytes_per_sample(AudioStream->codec->sample_fmt)*AudioStream->codec->channels;
207 -@@ -3290,7 +3288,7 @@
208 - if (FrameBufferYUV==NULL) FrameBufferYUV=ALLOCFRAME();
209 - if (FrameBufferYUV) {
210 -
211 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
212 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
213 - if (FrameBufferYUV->opaque) {
214 - avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque);
215 - FrameBufferYUV->opaque=NULL;
216 -@@ -3324,14 +3322,14 @@
217 - if ((Deinterlace)&&(!VideoFilterGraph)) VideoFilter_Open();
218 - else if ((!Deinterlace)&&(VideoFilterGraph)) VideoFilter_Close();
219 -
220 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
221 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
222 - if (VideoFilterGraph) VideoFilter_Process();
223 -- #elif defined(FFMPEG)&&(FFMPEGVERSIONINT>=201)
224 -+ #elif (defined(LIBAV)&&(LIBAVVERSIONINT>=10) || defined(FFMPEG)&&(FFMPEGVERSIONINT>=201))
225 - AVFrame *FiltFrame=NULL;
226 - if (VideoFilterGraph) {
227 -- // FFMPEG 2.0
228 -+ // FFMPEG 2.0 / LIBAV 10
229 - // push the decoded frame into the filtergraph
230 -- if (av_buffersrc_add_frame_flags(VideoFilterIn,FrameBufferYUV,AV_BUFFERSRC_FLAG_KEEP_REF)<0) {
231 -+ if (av_buffersrc_write_frame(VideoFilterIn,FrameBufferYUV)<0) {
232 - ToLog(LOGMSG_INFORMATION,"IN:cVideoFile::ReadFrame : Error while feeding the filtergraph");
233 - } else {
234 - FiltFrame=av_frame_alloc();
235 -@@ -3364,7 +3362,7 @@
236 -
237 - // Append this frame
238 - cImageInCache *ObjImage=
239 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
240 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
241 - new cImageInCache(FrameBufferYUVPosition,NULL,FrameBufferYUV);
242 - #else
243 - new cImageInCache(FrameBufferYUVPosition,FiltFrame,FrameBufferYUV);
244 -@@ -3386,7 +3384,7 @@
245 - IsVideoFind=Nbr>0;
246 - }
247 - if (FreeFrames) {
248 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
249 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
250 - if (FrameBufferYUV->opaque) {
251 - avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque);
252 - FrameBufferYUV->opaque=NULL;
253 -@@ -3401,7 +3399,7 @@
254 - FREEFRAME(&FrameBufferYUV);
255 - } else {
256 - FrameBufferYUV=NULL;
257 -- #if defined(FFMPEG)&&(FFMPEGVERSIONINT>=201)
258 -+ #if (defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) || defined(LIBAV)&&(LIBAVVERSIONINT>=10))
259 - FiltFrame =NULL;
260 - #endif
261 - }
262 -@@ -3490,7 +3488,7 @@
263 -
264 - if (img_convert_ctx!=NULL) {
265 - int ret;
266 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
267 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
268 - if (Frame->opaque) {
269 - AVFilterBufferRef *Buf=(AVFilterBufferRef *)Frame->opaque;
270 - ret = sws_scale(
271 -@@ -3565,12 +3563,12 @@
272 - int cVideoFile::getThreadFlags(AVCodecID ID) {
273 - int Ret=0;
274 - switch (ID) {
275 -- case CODEC_ID_PRORES:
276 -- case CODEC_ID_MPEG1VIDEO:
277 -- case CODEC_ID_DVVIDEO:
278 -- case CODEC_ID_MPEG2VIDEO: Ret=FF_THREAD_SLICE; break;
279 -- case CODEC_ID_H264 : Ret=FF_THREAD_FRAME|FF_THREAD_SLICE; break;
280 -- default: Ret=FF_THREAD_FRAME; break;
281 -+ case AV_CODEC_ID_PRORES:
282 -+ case AV_CODEC_ID_MPEG1VIDEO:
283 -+ case AV_CODEC_ID_DVVIDEO:
284 -+ case AV_CODEC_ID_MPEG2VIDEO: Ret=FF_THREAD_SLICE; break;
285 -+ case AV_CODEC_ID_H264 : Ret=FF_THREAD_FRAME|FF_THREAD_SLICE; break;
286 -+ default: Ret=FF_THREAD_FRAME; break;
287 - }
288 - return Ret;
289 - }
290 -@@ -3607,7 +3605,7 @@
291 - AudioDecoderCodec=avcodec_find_decoder(AudioStream->codec->codec_id);
292 -
293 - // Setup decoder options
294 -- AudioStream->codec->debug_mv =0; // Debug level (0=nothing)
295 -+ //AudioStream->codec->debug_mv =0; // Debug level (0=nothing)
296 - AudioStream->codec->debug =0; // Debug level (0=nothing)
297 - AudioStream->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
298 - AudioStream->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
299 -@@ -3648,7 +3646,7 @@
300 - VideoDecoderCodec=avcodec_find_decoder(VideoStream->codec->codec_id);
301 -
302 - // Setup decoder options
303 -- VideoStream->codec->debug_mv =0; // Debug level (0=nothing)
304 -+ //VideoStream->codec->debug_mv =0; // Debug level (0=nothing)
305 - VideoStream->codec->debug =0; // Debug level (0=nothing)
306 - VideoStream->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
307 - VideoStream->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
308 -@@ -3662,7 +3660,19 @@
309 - // Hack to correct wrong frame rates that seem to be generated by some codecs
310 - if (VideoStream->codec->time_base.num>1000 && VideoStream->codec->time_base.den==1)
311 - VideoStream->codec->time_base.den=1000;
312 --
313 -+
314 -+ if (VideoStream->codec->time_base.num == 0) {
315 -+ VideoStream->codec->time_base.num = VideoStream->avg_frame_rate.den;
316 -+ VideoStream->codec->time_base.den = VideoStream->avg_frame_rate.num;
317 -+ }
318 -+
319 -+ if (VideoStream->codec->sample_aspect_ratio.num == 0) {
320 -+ if (VideoStream->sample_aspect_ratio.num == 0)
321 -+ VideoStream->codec->sample_aspect_ratio.num = VideoStream->codec->sample_aspect_ratio.den = 1;
322 -+ else
323 -+ VideoStream->codec->sample_aspect_ratio = VideoStream->sample_aspect_ratio;
324 -+ }
325 -+
326 - if ((VideoDecoderCodec==NULL)||(avcodec_open2(VideoStream->codec,VideoDecoderCodec,NULL)<0)) return false;
327 - LibavStartTime=LibavVideoFile->start_time;
328 - }
329 -
330 ---- src/ffDiaporama/engine/cBaseMediaFile.h 2014-02-09 10:48:04.000000000 +0100
331 -+++ src/ffDiaporama/engine/cBaseMediaFile.h 2015-03-29 00:14:35.225871600 +0100
332 -@@ -429,7 +429,7 @@
333 -
334 - virtual int VideoFilter_Open();
335 - virtual void VideoFilter_Close();
336 -- #if defined(LIBAV) || (FFMPEGVERSIONINT<201)
337 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
338 - virtual int VideoFilter_Process();
339 - #endif
340 -
341 -@@ -444,7 +444,7 @@
342 - // Audio resampling
343 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
344 - ReSampleContext *RSC;
345 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
346 -+ #elif defined(LIBAV)
347 - AVAudioResampleContext *RSC;
348 - uint64_t RSC_InChannelLayout,RSC_OutChannelLayout;
349 - #elif defined(FFMPEG)
350 -
351 ---- src/ffDiaporama/engine/cDeviceModelDef.h 2014-02-09 10:48:04.000000000 +0100
352 -+++ src/ffDiaporama/engine/cDeviceModelDef.h 2015-03-28 23:57:31.667562500 +0100
353 -@@ -65,7 +65,14 @@
354 -
355 - #if (LIBAVUTIL_VERSION_MICRO<100)&&(LIBAVCODEC_VERSION_MICRO<100)&&(LIBAVFORMAT_VERSION_MICRO<100)&&(LIBAVDEVICE_VERSION_MICRO<100)&&(LIBAVFILTER_VERSION_MICRO<100)&&(LIBSWSCALE_VERSION_MICRO<100)
356 - #define LIBAV
357 -- #if ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,3,0))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(54,35,0))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(54,20,0))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(53,2,0))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,3,0))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,1,1)))
358 -+ #if ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(53,3,0))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(55,34,1))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(55,12,0))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(54,0,0))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(4,2,0))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,1,2)))
359 -+ #define LIBAVVERSION "Libav 10 or higher"
360 -+ #define LIBAVVERSIONINT 10
361 -+ #include "libavresample/avresample.h"
362 -+ #define RESAMPLE_MAX_CHANNELS AVRESAMPLE_MAX_CHANNELS
363 -+ #include "libavfilter/buffersink.h"
364 -+ #include "libavfilter/buffersrc.h"
365 -+ #elif ((LIBAVUTIL_VERSION_INT>=AV_VERSION_INT(52,3,0))&&(LIBAVCODEC_VERSION_INT>=AV_VERSION_INT(54,35,0))&&(LIBAVFORMAT_VERSION_INT>=AV_VERSION_INT(54,20,0))&&(LIBAVDEVICE_VERSION_INT>=AV_VERSION_INT(53,2,0))&&(LIBAVFILTER_VERSION_INT>=AV_VERSION_INT(3,3,0))&&(LIBSWSCALE_VERSION_INT>=AV_VERSION_INT(2,1,1)))
366 - #define LIBAVVERSION "Libav 9.x"
367 - #define LIBAVVERSIONINT 9
368 - #include "libavresample/avresample.h"
369 -@@ -110,7 +117,7 @@
370 - #define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
371 - #endif
372 -
373 --#if !defined(FF_API_CODEC_ID)
374 -+#if (LIBAVCODEC_VERSION_MAJOR < 55)
375 - #define AV_CODEC_ID_NONE CODEC_ID_NONE
376 - #define AV_CODEC_ID_MJPEG CODEC_ID_MJPEG
377 - #define AV_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO
378 -@@ -133,6 +140,9 @@
379 - #define AV_CODEC_ID_FLAC CODEC_ID_FLAC
380 - #define AV_CODEC_ID_WMAV1 CODEC_ID_WMAV1
381 - #define AV_CODEC_ID_WMAV2 CODEC_ID_WMAV2
382 -+ #define AV_CODEC_ID_PRORES CODEC_ID_PRORES
383 -+ #define AV_CODEC_ID_MPEG1VIDEO CODEC_ID_MPEG1VIDEO
384 -+ #define AV_CODEC_ID_DVVIDEO CODEC_ID_DVVIDEO
385 - #endif
386 -
387 - #if !defined(avcodec_free_frame)
388 -
389 ---- src/ffDiaporama/engine/_EncodeVideo.cpp 2014-02-09 10:48:04.000000000 +0100
390 -+++ src/ffDiaporama/engine/_EncodeVideo.cpp 2015-03-29 00:23:23.090780000 +0100
391 -@@ -136,7 +136,7 @@
392 - av_freep(&Container->streams[i]->codec->extradata);
393 - av_freep(&Container->streams[i]->codec->subtitle_header);
394 - av_freep(&Container->streams[i]->priv_data);
395 -- if (Container->streams[i]->info) av_freep(&Container->streams[i]->info->duration_error);
396 -+ //if (Container->streams[i]->info) av_freep(&Container->streams[i]->info->duration_error);
397 - }
398 - //=== End of patch
399 - avformat_free_context(Container);
400 -@@ -151,7 +151,7 @@
401 - if (AudioResampler) {
402 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
403 - audio_resample_close(AudioResampler);
404 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
405 -+ #elif defined(LIBAV)
406 - avresample_close(AudioResampler);
407 - avresample_free(&AudioResampler);
408 - #elif defined(FFMPEG)
409 -@@ -185,12 +185,12 @@
410 - int cEncodeVideo::getThreadFlags(AVCodecID ID) {
411 - int Ret=0;
412 - switch (ID) {
413 -- case CODEC_ID_PRORES:
414 -- case CODEC_ID_MPEG1VIDEO:
415 -- case CODEC_ID_DVVIDEO:
416 -- case CODEC_ID_MPEG2VIDEO: Ret=FF_THREAD_SLICE; break;
417 -- case CODEC_ID_H264 : Ret=FF_THREAD_FRAME|FF_THREAD_SLICE; break;
418 -- default: Ret=FF_THREAD_FRAME; break;
419 -+ case AV_CODEC_ID_PRORES:
420 -+ case AV_CODEC_ID_MPEG1VIDEO:
421 -+ case AV_CODEC_ID_DVVIDEO:
422 -+ case AV_CODEC_ID_MPEG2VIDEO: Ret=FF_THREAD_SLICE; break;
423 -+ case AV_CODEC_ID_H264 : Ret=FF_THREAD_FRAME|FF_THREAD_SLICE; break;
424 -+ default: Ret=FF_THREAD_FRAME; break;
425 - }
426 - return Ret;
427 - }
428 -@@ -789,7 +789,7 @@
429 - Continue=false;
430 - }
431 - }
432 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
433 -+ #elif defined(LIBAV)
434 - if ((AudioStream->codec->sample_fmt!=ToEncodeMusic.SampleFormat)||(AudioStream->codec->channels!=ToEncodeMusic.Channels)||(AudioSampleRate!=ToEncodeMusic.SamplingRate)) {
435 - if (!AudioResamplerBuffer) {
436 - int out_linesize=0;
437 -@@ -857,7 +857,7 @@
438 - }
439 -
440 - // Define InterleaveFrame to not compute it for each frame
441 -- #if defined(FFMPEG)&&(FFMPEGVERSIONINT>=201)
442 -+ #if (defined(FFMPEG)&&(FFMPEGVERSIONINT>=201) || (LIBAVVERSIONINT >=10))
443 - InterleaveFrame=(strcmp(Container->oformat->name,"avi")!=0);
444 - #else
445 - InterleaveFrame=true;
446 -@@ -1038,7 +1038,7 @@
447 - } else {
448 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
449 - DestPacket=(u_int8_t *)PacketSound;
450 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
451 -+ #elif defined(LIBAV)
452 - // LIBAV 9 => Convert sample format (is needed)
453 - if ((AudioResampler!=NULL)&&(AudioResamplerBuffer!=NULL)) {
454 - DestPacket=AudioResamplerBuffer;
455 -
456 ---- src/ffDiaporama/engine/_EncodeVideo.h 2014-02-09 10:48:04.000000000 +0100
457 -+++ src/ffDiaporama/engine/_EncodeVideo.h 2015-03-29 00:22:10.452192800 +0100
458 -@@ -82,7 +82,7 @@
459 - int AudioResamplerBufferSize;
460 - #if defined(LIBAV) && (LIBAVVERSIONINT<=8)
461 - ReSampleContext *AudioResampler; // Audio resampler
462 -- #elif defined(LIBAV) && (LIBAVVERSIONINT<=9)
463 -+ #elif defined(LIBAV)
464 - AVAudioResampleContext *AudioResampler;
465 - #elif defined(FFMPEG)
466 - SwrContext *AudioResampler;
467 -
468 ---- src/ffDiaporama/MainWindow/mainwindow.cpp 2014-02-09 10:48:08.000000000 +0100
469 -+++ src/ffDiaporama/MainWindow/mainwindow.cpp 2015-03-29 00:00:47.710860800 +0100
470 -@@ -472,7 +472,7 @@
471 - delete ApplicationConfig;
472 -
473 - // Close some libav additionnals
474 -- #if defined(LIBAV) || (defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
475 -+ #if (defined(LIBAV)&&(LIBAVVERSIONINT<=9) || defined(FFMPEG)&&(FFMPEGVERSIONINT<201))
476 - avfilter_uninit();
477 - #endif
478 - avformat_network_deinit();