nixpkgs/pkgs/applications/video/kino/kino-1.3.4-libav-0.8.patch
2015-02-20 22:44:10 +01:00

58 lines
2.6 KiB
Diff

--- kino-1.3.4.orig/src/frame.cc 2012-05-14 19:55:42.153772418 -0700
+++ kino-1.3.4/src/frame.cc 2012-05-14 20:28:34.448838653 -0700
@@ -101,8 +101,9 @@
#if defined(HAVE_LIBAVCODEC)
pthread_mutex_lock( &avcodec_mutex );
av_register_all();
- libavcodec = avcodec_alloc_context();
- avcodec_open( libavcodec, avcodec_find_decoder( CODEC_ID_DVVIDEO ) );
+ libavcodec = avcodec_alloc_context3(NULL);
+ avcodec_open2( libavcodec,
+ avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
pthread_mutex_unlock( &avcodec_mutex );
data = ( unsigned char* ) av_mallocz( 144000 );
#if defined(HAVE_SWSCALE)
@@ -1338,7 +1339,7 @@
if ( avformatEncoder )
{
avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
- AVStream* vst = av_new_stream( avformatEncoder, 0 );
+ AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
vst->codec->codec_id = CODEC_ID_DVVIDEO;
vst->codec->bit_rate = 25000000;
@@ -1364,12 +1365,10 @@
vst->sample_aspect_ratio = avcodecEncoder->sample_aspect_ratio;
#endif
avcodecEncoder->thread_count = 2;
- avcodec_thread_init( avcodecEncoder, avcodecEncoder->thread_count );
avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
- av_set_parameters( avformatEncoder, NULL );
- avcodec_open( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ) );
+ avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
av_new_packet( &avpacketEncoder, 144000 );
tempImage = ( uint8_t* ) av_malloc(
avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
@@ -1475,16 +1474,16 @@
// Encode
bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
- url_open_buf( &avformatEncoder->pb, data, bytesInFrame, URL_WRONLY );
+ avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
avpacketEncoder.size = bytesInFrame;
if ( !isEncoderHeaderWritten )
{
- av_write_header( avformatEncoder );
+ avformat_write_header( avformatEncoder, NULL );
isEncoderHeaderWritten = true;
}
av_write_frame( avformatEncoder, &avpacketEncoder );
#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
- url_close_buf( avformatEncoder->pb );
+ avio_close( avformatEncoder->pb );
#else
url_close_buf( &avformatEncoder->pb );
#endif