[packages/fuse-utils] - ffmpeg-devel is not required
witekfl
witekfl at pld-linux.org
Fri Jun 10 20:32:21 CEST 2016
commit 6aad4a77defb4dbf032d9be4efad01b00ba8c122
Author: Witold Filipczyk <witekfl at poczta.onet.pl>
Date: Fri Jun 10 20:31:52 2016 +0200
- ffmpeg-devel is not required
ffmpeg3.patch | 329 ----------------------------------------------
ffmpeg_enum_codecid.patch | 29 ----
fix-progname.patch | 17 ---
fuse-utils.spec | 1 -
4 files changed, 376 deletions(-)
---
diff --git a/fuse-utils.spec b/fuse-utils.spec
index 3c54e40..e0111a3 100644
--- a/fuse-utils.spec
+++ b/fuse-utils.spec
@@ -11,7 +11,6 @@ URL: http://fuse-emulator.sourceforge.net/
BuildRequires: audiofile-devel >= 0.2.3
BuildRequires: autoconf >= 2.50
BuildRequires: automake
-BuildRequires: ffmpeg-devel >= 1.0.1
BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 2.0.0
BuildRequires: libgcrypt-devel
diff --git a/ffmpeg3.patch b/ffmpeg3.patch
deleted file mode 100644
index 26fedf1..0000000
--- a/ffmpeg3.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-diff -ur fuse-utils-1.1.1.orig/config.h.in fuse-utils-1.1.1/config.h.in
---- fuse-utils-1.1.1.orig/config.h.in 2016-04-04 21:22:30.888884415 +0900
-+++ fuse-utils-1.1.1/config.h.in 2016-04-04 21:36:36.647545989 +0900
-@@ -39,6 +39,9 @@
- /* Define to 1 if you have the <libavformat/avformat.h> header file. */
- #undef HAVE_LIBAVFORMAT_AVFORMAT_H
-
-+/* Define to 1 if you have the <libavresample/avresample.h> header file. */
-+#undef HAVE_LIBAVRESAMPLE_AVRESAMPLE_H
-+
- /* Define to 1 if you have the <libspectrum.h> header file. */
- #undef HAVE_LIBSPECTRUM_H
-
-diff -ur fuse-utils-1.1.1.orig/configure.ac fuse-utils-1.1.1/configure.ac
---- fuse-utils-1.1.1.orig/configure.ac 2013-05-25 05:57:58.000000000 +0900
-+++ fuse-utils-1.1.1/configure.ac 2016-04-04 21:36:21.310466771 +0900
-@@ -85,8 +85,8 @@
- AC_MSG_RESULT($ffmpeglib)
- if test "$ffmpeglib" = yes; then
- AC_CHECK_HEADERS(
-- libavformat/avformat.h libswscale/swscale.h,
-- FFMPEG_LIBS="-lavformat -lavcodec -lswscale -lavutil",
-+ libavformat/avformat.h libswscale/swscale.h libavresample/avresample.h,
-+ FFMPEG_LIBS="-lavformat -lavcodec -lswscale -lavresample -lavutil",
- FFMPEG_LIBS=''; break
- )
- if test "x$FFMPEG_LIBS" != "x"
-diff -ur fuse-utils-1.1.1.orig/fmfconv_ff.c fuse-utils-1.1.1/fmfconv_ff.c
---- fuse-utils-1.1.1.orig/fmfconv_ff.c 2016-04-04 21:22:23.562038706 +0900
-+++ fuse-utils-1.1.1/fmfconv_ff.c 2016-04-04 21:36:21.310466771 +0900
-@@ -60,13 +60,16 @@
-
- #include <libavformat/avformat.h>
- #include <libavutil/mathematics.h>
-+#include <libavutil/opt.h>
-+#include <libavresample/avresample.h>
- #include <libswscale/swscale.h>
-+#include <libpostproc/postprocess.h>
-
- #include "libspectrum.h"
- #include "fmfconv.h"
-
- #define VRATE_MULT 2
--static int sws_flags = SWS_BICUBIC | SWS_CPU_CAPS_3DNOW | SWS_CPU_CAPS_MMX2;
-+static int sws_flags = SWS_BICUBIC | PP_CPU_CAPS_3DNOW | PP_CPU_CAPS_MMX2;
-
- int ffmpeg_arate = 0; /* audio bitrate */
- int ffmpeg_vrate = 0; /* video bitrate */
-@@ -94,17 +97,18 @@
- static int audio_inpbuf_len; /* actual number of audio frames */
-
- static AVFrame *ff_picture, *ff_tmp_picture, *ffmpeg_pict;
-+static AVFrame *audio_frame;
- static struct SwsContext *video_resize_ctx;
-
--static ReSampleContext *audio_resample_ctx;
-+static AVAudioResampleContext *audio_resample_ctx;
- static int16_t **ffmpeg_sound;
-
- static uint8_t *video_outbuf;
- static int video_outbuf_size;
-
--static AVFrame *alloc_picture( enum PixelFormat pix_fmt, int width, int height, void *fmf_pict );
-+static AVFrame *alloc_picture( enum AVPixelFormat pix_fmt, int width, int height, void *fmf_pict );
-
--static enum PixelFormat out_pix_fmt = PIX_FMT_NONE;
-+static enum AVPixelFormat out_pix_fmt = AV_PIX_FMT_NONE;
- /* FFMPEG utility functions */
-
- static int res_rte = -1;
-@@ -130,11 +134,10 @@
- int
- ffmpeg_resample_audio( void )
- {
-- int len;
-+ int len, ret;
-
- if( audio_resample_ctx && res_rte != snd_rte ) {
-- audio_resample_close( audio_resample_ctx );
-- audio_resample_ctx = NULL;
-+ avresample_free( &audio_resample_ctx );
- av_free( audio_tmp_inpbuf );
- ffmpeg_sound = &sound16;
- printi( 2, "ffmpeg_resample_audio(): reinit resample %dHz -> %dHz\n", snd_rte, out_rte );
-@@ -145,11 +148,20 @@
- out_fsz = 2 * out_chn;
- }
- if( !audio_resample_ctx ) {
-- audio_resample_ctx = av_audio_resample_init( out_chn, snd_chn,
-- out_rte, snd_rte,
-- AV_SAMPLE_FMT_S16,
-- AV_SAMPLE_FMT_S16,
-- 16, 8, 1, 1.0 );
-+ audio_resample_ctx = avresample_alloc_context();
-+ av_opt_set_int(audio_resample_ctx, "in_channel_layout", av_get_default_channel_layout(snd_chn), 0);
-+ av_opt_set_int(audio_resample_ctx, "out_channel_layout", av_get_default_channel_layout(out_chn), 0);
-+ av_opt_set_int(audio_resample_ctx, "in_sample_fmt", AV_SAMPLE_FMT_S16, 0);
-+ av_opt_set_int(audio_resample_ctx, "out_sample_fmt", AV_SAMPLE_FMT_S16, 0);
-+ av_opt_set_int(audio_resample_ctx, "in_sample_rate", snd_rte, 0);
-+ av_opt_set_int(audio_resample_ctx, "out_sample_rate", out_rte, 0);
-+
-+ ret = avresample_open(audio_resample_ctx);
-+ if (ret < 0) {
-+ printe( "Error opening the resample context\n");
-+ return 1;
-+ }
-+
- audio_tmp_inpbuf_size = (float)audio_outbuf_size * out_rte / snd_rte * (float)out_chn / snd_chn + 1.0;
- audio_tmp_inpbuf = av_malloc( audio_tmp_inpbuf_size );
- ffmpeg_sound = (void *)(&audio_tmp_inpbuf);
-@@ -160,9 +172,9 @@
- return 1;
- }
-
-- len = audio_resample( audio_resample_ctx,
-- (short *)audio_tmp_inpbuf, (short *)sound16,
-- snd_len / snd_fsz );
-+ len = avresample_convert( audio_resample_ctx,
-+ (uint8_t**)&audio_tmp_inpbuf, audio_tmp_inpbuf_size, audio_tmp_inpbuf_size / out_fsz,
-+ (uint8_t**)&sound16, snd_len, snd_len / snd_fsz );
- if( !len ) {
- printe( "FFMPEG: Error during audio resampling\n" );
- return 1;
-@@ -198,7 +210,7 @@
- }
- if( video_resize_ctx == NULL ) {
- video_resize_ctx = sws_getContext( res_w, res_h,
-- PIX_FMT_YUV444P,
-+ AV_PIX_FMT_YUV444P,
- out_w, out_h,
- out_pix_fmt,
- sws_flags, NULL, NULL, NULL );
-@@ -213,7 +225,7 @@
- sws_scale( video_resize_ctx,
- (const uint8_t * const*)ff_picture->data, ff_picture->linesize,
- 0, res_h, ff_tmp_picture->data, ff_tmp_picture->linesize );
-- printi( 3, "ffmpeg_rescale_frame(): resize %dx%d -> %dx%d pix format %d->%d\n", frm_w, frm_h, out_w, out_h, PIX_FMT_YUV444P, out_pix_fmt );
-+ printi( 3, "ffmpeg_rescale_frame(): resize %dx%d -> %dx%d pix format %d->%d\n", frm_w, frm_h, out_w, out_h, AV_PIX_FMT_YUV444P, out_pix_fmt );
- return 0;
- }
-
-@@ -295,6 +307,8 @@
- #endif
- audio_input_frames = c->frame_size;
-
-+ audio_frame = av_frame_alloc();
-+
- if( audio_input_frames <= 1 ) {
- audio_outbuf_size = out_rte * 1250 * audio_oframe_size / out_fps;
- } else {
-@@ -336,20 +350,25 @@
- if( audio_input_frames > 1 ) {
- while( audio_inpbuf_len + len >= audio_input_frames ) {
- int copy_len = ( audio_input_frames - audio_inpbuf_len ) * audio_iframe_size;
-- AVPacket pkt;
-- av_init_packet( &pkt );
-+ AVPacket pkt = { 0 };
-+ int ret, got_output;
-
- memcpy( (char *)audio_inpbuf + ( audio_inpbuf_len * audio_iframe_size ), buf, copy_len );
- len -= audio_input_frames - audio_inpbuf_len;
- buf = (void *)( (char *)buf + copy_len );
-
-- pkt.size = avcodec_encode_audio( c, audio_outbuf, audio_outbuf_size, audio_inpbuf );
-+ audio_frame->data[0] = audio_inpbuf;
-+ audio_frame->linesize[0] = c->frame_size * audio_iframe_size;
-+ audio_frame->nb_samples = c->frame_size;
-+
-+ ret = avcodec_encode_audio2( c, &pkt, audio_frame, &got_output);
-+
-+ if (!got_output)
-+ continue;
-
- if( c->coded_frame && c->coded_frame->pts != AV_NOPTS_VALUE )
- pkt.pts= av_rescale_q( c->coded_frame->pts, c->time_base, audio_st->time_base );
-- pkt.flags |= AV_PKT_FLAG_KEY;
- pkt.stream_index = audio_st->index;
-- pkt.data = audio_outbuf;
-
- /* write the compressed frame in the media file */
- if( av_interleaved_write_frame( oc, &pkt ) != 0 ) {
-@@ -365,21 +384,25 @@
-
-
- } else { /* with PCM output */
-- AVPacket pkt;
-- av_init_packet( &pkt );
--
-- pkt.size = avcodec_encode_audio( c, audio_outbuf, coded_bps ? len * out_chn * coded_bps / 8 : len * out_chn, buf );
--
-- if( c->coded_frame && c->coded_frame->pts != AV_NOPTS_VALUE )
-- pkt.pts= av_rescale_q( c->coded_frame->pts, c->time_base, audio_st->time_base );
-- pkt.flags |= AV_PKT_FLAG_KEY;
-- pkt.stream_index = audio_st->index;
-- pkt.data = audio_outbuf;
-+ AVPacket pkt = { 0 };
-+ int ret, got_output;
-
-- /* write */
-- if( av_interleaved_write_frame( oc, &pkt ) != 0 ) {
-- fprintf( stderr, "Error while writing audio frame\n" );
--/* exit( 1 ); */
-+ audio_frame->data[0] = buf;
-+ audio_frame->linesize[0] = c->frame_size * audio_iframe_size;
-+ audio_frame->nb_samples = c->frame_size;
-+
-+ ret = avcodec_encode_audio2( c, &pkt, audio_frame, &got_output);
-+
-+ if (got_output) {
-+ if( c->coded_frame && c->coded_frame->pts != AV_NOPTS_VALUE )
-+ pkt.pts= av_rescale_q( c->coded_frame->pts, c->time_base, audio_st->time_base );
-+ pkt.stream_index = audio_st->index;
-+
-+ /* write */
-+ if( av_interleaved_write_frame( oc, &pkt ) != 0 ) {
-+ fprintf( stderr, "Error while writing audio frame\n" );
-+ /* exit( 1 ); */
-+ }
- }
- printi( 3, "ffmpeg_add_sound_ffmpeg(): write sound packet %d samples pkt.size = %dbyte\n", len, pkt.size );
- }
-@@ -419,6 +442,7 @@
- {
- if( audio_st ) avcodec_close( audio_st->codec );
- if( audio_outbuf ) av_free( audio_outbuf );
-+ av_frame_free(&audio_frame);
- }
-
- /**************************************************************/
-@@ -499,13 +523,13 @@
- }
-
- static AVFrame *
--alloc_picture( enum PixelFormat pix_fmt, int width, int height, void *fmf_pict )
-+alloc_picture( enum AVPixelFormat pix_fmt, int width, int height, void *fmf_pict )
- {
- AVFrame *picture;
- uint8_t *picture_buf;
- int size;
-
-- picture = avcodec_alloc_frame();
-+ picture = av_frame_alloc();
- if( !picture ) return NULL;
- if( !fmf_pict ) {
- size = avpicture_get_size( pix_fmt, width, height );
-@@ -532,7 +556,7 @@
- c = video_st->codec;
-
- if( codec->pix_fmts == NULL )
-- c->pix_fmt = PIX_FMT_YUV420P;
-+ c->pix_fmt = AV_PIX_FMT_YUV420P;
- else
- c->pix_fmt = codec->pix_fmts[0];
-
-@@ -583,7 +607,7 @@
- }
-
- /* allocate the encoded raw picture */
-- ff_picture = alloc_picture( PIX_FMT_YUV444P, frm_w, frm_h, pix_yuv[0] );
-+ ff_picture = alloc_picture( AV_PIX_FMT_YUV444P, frm_w, frm_h, pix_yuv[0] );
- ff_tmp_picture = NULL;
-
- if( !ff_picture ) {
-@@ -599,7 +623,7 @@
- void
- ffmpeg_add_frame_ffmpeg( void )
- {
-- int out_size, ret;
-+ int got_output, ret;
- AVCodecContext *c;
-
- if( !video_st ) return;
-@@ -619,22 +643,17 @@
-
- ret = av_interleaved_write_frame( oc, &pkt );
- } else {
-+ AVPacket pkt = { 0 };
-+
- ffmpeg_pict->pts = c->frame_number;
-
- /* encode the image */
-- out_size = avcodec_encode_video( c, video_outbuf, video_outbuf_size, ffmpeg_pict );
-- /* if zero size, it means the image was buffered */
-- if( out_size > 0 ) {
-- AVPacket pkt;
-- av_init_packet( &pkt );
--
-- if( c->coded_frame->pts != AV_NOPTS_VALUE )
-- pkt.pts = av_rescale_q( c->coded_frame->pts, c->time_base, video_st->time_base );
-- if( c->coded_frame->key_frame )
-- pkt.flags |= AV_PKT_FLAG_KEY;
-+ ret = avcodec_encode_video2(c, &pkt, ffmpeg_pict, &got_output);
-+ if( ret >= 0 && got_output) {
-+ pkt.pts = av_rescale_q( pkt.pts, c->time_base, video_st->time_base );
-+ pkt.dts = av_rescale_q( pkt.dts, c->time_base, video_st->time_base );
-+
- pkt.stream_index= video_st->index;
-- pkt.data = video_outbuf;
-- pkt.size = out_size;
-
- /* write the compressed frame in the media file */
- ret = av_interleaved_write_frame( oc, &pkt );
-@@ -725,7 +744,7 @@
- vcodec = fmt->video_codec;
- acodec = fmt->audio_codec;
-
-- if( out_t == TYPE_FFMPEG && vcodec != CODEC_ID_NONE ) {
-+ if( out_t == TYPE_FFMPEG && vcodec != AV_CODEC_ID_NONE ) {
-
- /* Find the video encoder requested by user selection */
- if( ffmpeg_vcodec != NULL && *ffmpeg_vcodec != 0 ) {
-@@ -758,7 +777,7 @@
- return 1;
- }
-
-- if( snd_t == TYPE_FFMPEG && acodec != CODEC_ID_NONE ) {
-+ if( snd_t == TYPE_FFMPEG && acodec != AV_CODEC_ID_NONE ) {
-
- /* Find the audio encoder requested by user selection */
- if( ffmpeg_acodec != NULL && *ffmpeg_acodec != 0 ) {
-@@ -854,7 +873,7 @@
-
- if( !video_st ) return 0;
-
-- if( ( out_w != frm_w || out_h != frm_h || out_pix_fmt != PIX_FMT_YUV444P ) &&
-+ if( ( out_w != frm_w || out_h != frm_h || out_pix_fmt != AV_PIX_FMT_YUV444P ) &&
- ( err = ffmpeg_rescale_video() ) ) return err;
- ffmpeg_add_frame_ffmpeg();
- printi( 2, "out_write_ffmpeg(): add frame\n" );
diff --git a/ffmpeg_enum_codecid.patch b/ffmpeg_enum_codecid.patch
deleted file mode 100644
index 5104dc3..0000000
--- a/ffmpeg_enum_codecid.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- fuse-utils-1.1.1/fmfconv_ff.c.orig 2013-08-26 21:45:51.749946717 +0200
-+++ fuse-utils-1.1.1/fmfconv_ff.c 2013-08-26 21:46:33.397257449 +0200
-@@ -224,7 +224,7 @@
- */
-
- static int
--add_audio_stream( enum CodecID codec_id, int freq, int stereo )
-+add_audio_stream( enum AVCodecID codec_id, int freq, int stereo )
- {
- AVCodecContext *c;
-
-@@ -440,7 +440,7 @@
-
- /* add a video output stream */
- static int
--add_video_stream( enum CodecID codec_id, int w, int h, int timing )
-+add_video_stream( enum AVCodecID codec_id, int w, int h, int timing )
- {
- AVCodecContext *c;
-
-@@ -674,7 +674,7 @@
- {
-
- AVCodec *ac, *vc;
-- enum CodecID acodec, vcodec;
-+ enum AVCodecID acodec, vcodec;
-
- ff_picture = NULL;
- ff_tmp_picture = NULL;
diff --git a/fix-progname.patch b/fix-progname.patch
deleted file mode 100644
index 525b456..0000000
--- a/fix-progname.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From: fredm at spamcop.net
-Subject: Fix FTBFS with GCC 5
-Bug-Debian: http://bugs.debian.org/799125
-Origin: http://sourceforge.net/p/fuse-emulator/code/5263/
-Index: fuse-emulator-utils/audio2tape.cc
-===================================================================
---- fuse-emulator-utils.orig/audio2tape.cc
-+++ fuse-emulator-utils/audio2tape.cc
-@@ -57,7 +57,7 @@ set_trigger_type_from_string( const std:
- libspectrum_byte schmitt_high2low_crossover_point
- );
-
--std::string progname;
-+char *progname;
-
- const std::string schmitt_str("schmitt");
- const std::string simple_str("simple");
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/fuse-utils.git/commitdiff/6aad4a77defb4dbf032d9be4efad01b00ba8c122
More information about the pld-cvs-commit
mailing list