Your message dated Thu, 10 Mar 2016 23:36:00 +0000
with message-id <[email protected]>
and subject line Bug#803829: fixed in kino 1.3.4-2.2
has caused the Debian Bug report #803829,
regarding kino: FTBFS with FFmpeg 2.9
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
803829: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803829
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: kino
Version: 1.3.4-2.1
Severity: important
Tags: patch
User: [email protected]
Usertags: ffmpeg2.9

Dear Maintainer,

your package fails to build with the upcoming ffmpeg 2.9.
This bug will become release-critical at some point when the
ffmpeg2.9 transition gets closer.

Attached is a patch replacing the deprecated functionality.
It also works with ffmpeg 2.8.
Please apply this patch and forward it upstream, if necessary.

These changes have little regression potential.

Best regards,
Andreas

diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch
new file mode 100644
index 0000000..66e1e29
--- /dev/null
+++ b/debian/patches/ffmpeg_2.9.patch
@@ -0,0 +1,166 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <[email protected]>
+Last-Update: <2015-11-02>
+
+--- 1.3.4.orig/src/frame.cc
++++ 1.3.4/src/frame.cc
+@@ -57,7 +57,7 @@ using std::endl;
+ #include "preferences.h"
+ 
+ #if LIBAVUTIL_VERSION_INT >= (50<<16)
+-#define PIX_FMT_YUV422 PIX_FMT_YUYV422
++#define AV_PIX_FMT_YUV422 AV_PIX_FMT_YUYV422
+ #endif
+ 
+ 
+@@ -1059,7 +1059,7 @@ void Frame::ExtractHeader( void )
+ int Frame::ExtractRGB( void * rgb )
+ {
+ #if defined(HAVE_LIBAVCODEC)
+-	AVFrame *frame = avcodec_alloc_frame();
++	AVFrame *frame = av_frame_alloc();
+ 	AVPicture dest;
+ 	int got_picture;
+ 
+@@ -1071,17 +1071,17 @@ int Frame::ExtractRGB( void * rgb )
+ 	avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ 	if ( got_picture )
+ 	{
+-		avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
++		avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), AV_PIX_FMT_RGB24, GetWidth(), GetHeight() );
+ #if defined(HAVE_SWSCALE)
+ 		if ( !imgConvertRgbCtx )
+ 			imgConvertRgbCtx = sws_getContext( libavcodec->width, libavcodec->height, libavcodec->pix_fmt,
+-				GetWidth(), GetHeight(), PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL, NULL, NULL );
++				GetWidth(), GetHeight(), AV_PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL, NULL, NULL );
+ 		sws_scale( imgConvertRgbCtx, frame->data, frame->linesize, 0, libavcodec->height, dest.data, dest.linesize );
+ #else
+-		img_convert( &dest, PIX_FMT_RGB24, reinterpret_cast<AVPicture*>( frame ), libavcodec->pix_fmt, GetWidth(), GetHeight() );
++		img_convert( &dest, AV_PIX_FMT_RGB24, reinterpret_cast<AVPicture*>( frame ), libavcodec->pix_fmt, GetWidth(), GetHeight() );
+ #endif
+ 	}
+-	av_free( frame );
++	av_frame_free( &frame );
+ #else
+ 	unsigned char *pixels[ 3 ];
+ 	int pitches[ 3 ];
+@@ -1124,7 +1124,7 @@ int Frame::ExtractPreviewRGB( void *rgb )
+ int Frame::ExtractYUV( void *yuv )
+ {
+ #if defined(HAVE_LIBAVCODEC)
+-	AVFrame *frame = avcodec_alloc_frame();;
++	AVFrame *frame = av_frame_alloc();;
+ 	AVPicture output;
+ 	int got_picture;
+ 
+@@ -1136,17 +1136,17 @@ int Frame::ExtractYUV( void *yuv )
+ 	avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ 	if ( got_picture )
+ 	{
+-		avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
++		avpicture_fill( &output, static_cast<uint8_t*>( yuv ), AV_PIX_FMT_YUV422, GetWidth(), GetHeight() );
+ #if defined(HAVE_SWSCALE)
+ 		if ( !imgConvertYuvCtx )
+ 			imgConvertYuvCtx = sws_getContext( libavcodec->width, libavcodec->height, libavcodec->pix_fmt,
+-				GetWidth(), GetHeight(), PIX_FMT_YUV422, SWS_FAST_BILINEAR, NULL, NULL, NULL );
++				GetWidth(), GetHeight(), AV_PIX_FMT_YUV422, SWS_FAST_BILINEAR, NULL, NULL, NULL );
+ 		sws_scale( imgConvertYuvCtx, frame->data, frame->linesize, 0, libavcodec->height, output.data, output.linesize );
+ #else
+-		img_convert( &output, PIX_FMT_YUV422, (AVPicture *)frame, libavcodec->pix_fmt, GetWidth(), GetHeight() );
++		img_convert( &output, AV_PIX_FMT_YUV422, (AVPicture *)frame, libavcodec->pix_fmt, GetWidth(), GetHeight() );
+ #endif
+ 	}
+-	av_free( frame );
++	av_frame_free( &frame );
+ #else
+ 	unsigned char *pixels[ 3 ];
+ 	int pitches[ 3 ];
+@@ -1163,7 +1163,7 @@ int Frame::ExtractYUV( void *yuv )
+ int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
+ {
+ #if defined(HAVE_LIBAVCODEC)
+-	AVFrame *frame = avcodec_alloc_frame();
++	AVFrame *frame = av_frame_alloc();
+ 	int got_picture;
+ 
+ 	AVPacket pkt;
+@@ -1175,7 +1175,7 @@ int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
+ 
+ 	int width = GetWidth(), height = GetHeight();
+ 
+-	if ( libavcodec->pix_fmt == PIX_FMT_YUV420P )   // PAL
++	if ( libavcodec->pix_fmt == AV_PIX_FMT_YUV420P )   // PAL
+ 	{
+ 		int h2 = height / 2;
+ 		int w2 = width / 2;
+@@ -1203,7 +1203,7 @@ int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
+ 			}
+ 		}
+ 	}
+-	else // libavcodec.pix_fmt == PIX_FMT_YUV411P // NTSC
++	else // libavcodec.pix_fmt == AV_PIX_FMT_YUV411P // NTSC
+ 	{
+ 		int w4 = width / 4;
+ 
+@@ -1233,7 +1233,7 @@ int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
+ 			}
+ 		}
+ 	}
+-	av_free( frame );
++	av_frame_free( &frame );
+ #else
+ 	unsigned char *pixels[ 3 ];
+ 	int pitches[ 3 ];
+@@ -1365,13 +1365,13 @@ bool Frame::CreateEncoder( bool isPAL, bool isWide )
+ #endif
+ 			avcodecEncoder->thread_count = 2;
+ 			avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
+-			avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
++			avcodecEncoder->pix_fmt = isPAL ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUV411P;
+ 			avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
+ 			avcodec_open2( avcodecEncoder, avcodec_find_encoder( AV_CODEC_ID_DVVIDEO ), NULL );
+ 			tempImage = ( uint8_t* ) av_malloc(
+ 				avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
+ #if defined(HAVE_SWSCALE)
+-			imgConvertEncoderCtx = sws_getContext( avcodecEncoder->width, avcodecEncoder->height, PIX_FMT_RGB24,
++			imgConvertEncoderCtx = sws_getContext( avcodecEncoder->width, avcodecEncoder->height, AV_PIX_FMT_RGB24,
+ 				avcodecEncoder->width, avcodecEncoder->height, avcodecEncoder->pix_fmt, SWS_FAST_BILINEAR, NULL, NULL, NULL);
+ #endif
+ 		}
+@@ -1450,8 +1450,8 @@ void Frame::EncodeRGB( uint8_t *rgb )
+ 	if ( CreateEncoder( IsPAL(), IsWide() ) )
+ 	{
+ #if defined(HAVE_LIBAVCODEC)
+-		AVFrame *input = avcodec_alloc_frame();
+-		AVFrame *output = avcodec_alloc_frame();
++		AVFrame *input = av_frame_alloc();
++		AVFrame *output = av_frame_alloc();
+ 
+ 		if ( input && output )
+ 		{
+@@ -1463,12 +1463,12 @@ void Frame::EncodeRGB( uint8_t *rgb )
+ 
+ 			// Convert color space
+ 			avpicture_fill( ( AVPicture* )output, tempImage, avcodecEncoder->pix_fmt, width, height );
+-			avpicture_fill( ( AVPicture* )input, rgb, PIX_FMT_RGB24, width, height );
++			avpicture_fill( ( AVPicture* )input, rgb, AV_PIX_FMT_RGB24, width, height );
+ #if defined(HAVE_SWSCALE)
+ 			sws_scale( imgConvertEncoderCtx, input->data, input->linesize, 0, height,
+ 				output->data, output->linesize);
+ #else
+-			img_convert( ( AVPicture* )output, avcodecEncoder->pix_fmt, ( AVPicture* )input, PIX_FMT_RGB24, width, height );
++			img_convert( ( AVPicture* )output, avcodecEncoder->pix_fmt, ( AVPicture* )input, AV_PIX_FMT_RGB24, width, height );
+ #endif
+ 
+ 			// Encode
+@@ -1490,8 +1490,8 @@ void Frame::EncodeRGB( uint8_t *rgb )
+ 			// Force the output to be IEC 61834
+ 			data[4] &= 0xf8;
+ 
+-			av_free( output );
+-			av_free( input );
++			av_frame_free( &output );
++			av_frame_free( &input );
+ 		}
+ #else
+ 		if ( Preferences::getInstance().dvTwoPassEncoder )
diff --git a/debian/patches/series b/debian/patches/series
index 7d0bb38..2ce421e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@
 90_fix_ftbfs_libav_0.8.patch
 100_libav_9.diff
 110_libav10.diff
+ffmpeg_2.9.patch

--- End Message ---
--- Begin Message ---
Source: kino
Source-Version: 1.3.4-2.2

We believe that the bug you reported is fixed in the latest version of
kino, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sebastian Ramacher <[email protected]> (supplier of updated kino package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 09 Mar 2016 00:09:24 +0100
Source: kino
Binary: kino
Architecture: source
Version: 1.3.4-2.2
Distribution: unstable
Urgency: medium
Maintainer: Paul Brossier <[email protected]>
Changed-By: Sebastian Ramacher <[email protected]>
Description:
 kino       - Non-linear editor for Digital Video data
Closes: 803829
Changes:
 kino (1.3.4-2.2) unstable; urgency=medium
 .
   * Non-maintainer upload.
 .
   [ Andreas Cadhalpun ]
   * Fix build against ffmpeg 3.0. (Closes: #803829)
Checksums-Sha1:
 075821d5ac1a67f7fdd6554315809f2e346e89ef 2364 kino_1.3.4-2.2.dsc
 cddc0faff747ca5115e1e072841e9d98bfb1e427 39030 kino_1.3.4-2.2.diff.gz
Checksums-Sha256:
 1c052a53541158316c2db218a2aa7f77a4965185d0c9e459d8def611dfecf497 2364 
kino_1.3.4-2.2.dsc
 97e41081fbd91be01e382f18990919c6a240c2002c005ce30513b2c6ba947361 39030 
kino_1.3.4-2.2.diff.gz
Files:
 cac7a25db3d4df2e78345ea2844ee107 2364 graphics extra kino_1.3.4-2.2.dsc
 5e5f5bafca295cf1f931810b4377b28c 39030 graphics extra kino_1.3.4-2.2.diff.gz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJW31xYAAoJEGny/FFupxmTJd4P/3mcXT3FYv0IdLPCFtYXLo6X
sYVLHXtuKkq0rM/m6HPJJ/qkTiWoWDS0EK4bXtj3fPF8Bma6xP8ntElNi42F99si
UAg35gCDntRawEtUxFFaUcHumXEZQeMH08iSnTgbYq2kh3R9z3ZcYCTX5chI0Iwq
rC46nxJmUwSeZNGGDTthwWnyZ6XpFsKn36e/ZHlhSP8ezaV6uzP1wKUczi+oxqh9
iCzbD8GzzJxSwSuD99VXeb/gDx4e6zeUDs5hRjibdiPudGQwwYoeG2aMd7eyWyYu
hzjaw5Q8wsk6CzV+V+dgSEzpsz1feOV2+Jw2SaF46VUABPVes8QVZ4xA0Lg+5aPg
/cnEBC1WpF5VrLMsKCpVCAXo9r168h09kpQCnlLfHRbDM0j2Pbi0un/9DyDotAKM
mYnzfEpMWzRx8DAnNnAUZ26s1Vupl7zLkFMWk4sTRBcjNiRjFdsSgUBUz3D6aHya
t1b26lqO2TWZAs2TNPN7RndwaL4bdZVlkdDC7ow5IsUy7HbYsW7jC/RzbRXYBXMx
Itw5Drv36OlOPCq4vE8SN7TrTO3pwu6rslDa1555p2+hlmuCWlg0bCX4oCc+ZqT7
1rMP5oxSK0PZWLq01t1gtzmelTgeE6Y0K4ogVjUq6QTvCnlPDpBbqm7nsdxv8AuC
WtM00EKAQ8p+VSzSv2CD
=7W4n
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to