1 |
hasufell 13/11/29 23:05:30 |
2 |
|
3 |
Added: ffdiaporama-2.0-libav9-deinterlacing.patch |
4 |
Log: |
5 |
version bump by Olivier Laurantin |
6 |
|
7 |
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key E73C35B3) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 media-video/ffdiaporama/files/ffdiaporama-2.0-libav9-deinterlacing.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffdiaporama/files/ffdiaporama-2.0-libav9-deinterlacing.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffdiaporama/files/ffdiaporama-2.0-libav9-deinterlacing.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: ffdiaporama-2.0-libav9-deinterlacing.patch |
16 |
=================================================================== |
17 |
--- src/engine/cBaseMediaFile.cpp 2013-11-23 10:44:04.586110402 +0100 |
18 |
+++ src/engine/cBaseMediaFile.cpp 2013-11-23 12:14:24.914285498 +0100 |
19 |
@@ -2150,11 +2150,23 @@ |
20 |
|
21 |
#elif defined(LIBAV) && (LIBAVVERSIONINT<=9) |
22 |
// LIBAV9 |
23 |
+ AVFilterBufferRef *m_pBufferRef=NULL; |
24 |
int Ret=av_buffersrc_write_frame(VideoFilterIn,FrameBufferYUV); |
25 |
if (Ret<0) { |
26 |
ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::VideoFilter_Process : av_buffersrc_write_frame")); |
27 |
return VC_ERROR; |
28 |
} |
29 |
+ while ((Ret=av_buffersink_read(VideoFilterOut,&m_pBufferRef)) >= 0) { |
30 |
+ if (!m_pBufferRef) return VC_ERROR; // for first frame ther is no return |
31 |
+ FrameBufferYUV->interlaced_frame=m_pBufferRef->video->interlaced; |
32 |
+ FrameBufferYUV->top_field_first =m_pBufferRef->video->top_field_first; |
33 |
+ if (m_pBufferRef) { |
34 |
+ if (FrameBufferYUV->opaque) avfilter_unref_buffer((AVFilterBufferRef *)FrameBufferYUV->opaque); |
35 |
+ FrameBufferYUV->opaque=(void *)avfilter_ref_buffer(m_pBufferRef,AV_PERM_READ); |
36 |
+ avfilter_unref_buffer(m_pBufferRef); |
37 |
+ m_pBufferRef = NULL; |
38 |
+ } |
39 |
+ } |
40 |
#else |
41 |
// FFMPEG 1.2 |
42 |
int Ret=av_buffersrc_add_frame(VideoFilterIn,FrameBufferYUV,0); |