rpms/ffmpeg/F-10 ffmpeg-r15348.patch, NONE, 1.1 ffmpeg-r16791-16793.patch, NONE, 1.1 ffmpeg-r17163-17311.patch, NONE, 1.1 ffmpeg-snapshot.sh, 1.2, 1.3 ffmpeg.spec, 1.11, 1.12

Dominik Mierzejewski rathann at rpmfusion.org
Mon Oct 26 01:39:28 CET 2009


Author: rathann

Update of /cvs/free/rpms/ffmpeg/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv8658

Modified Files:
	ffmpeg-snapshot.sh ffmpeg.spec 
Added Files:
	ffmpeg-r15348.patch ffmpeg-r16791-16793.patch 
	ffmpeg-r17163-17311.patch 
Log Message:
* Mon Oct 26 2009 Dominik Mierzejewski <rpm at greysector.net> - 0.4.9-0.56.20080908
- backport audio resampler fixes (bug #426)
- add a requirement on exact EVR between main package and -libs
  so that "yum update ffmpeg" works as expected
- install presets (backport)
- use bindir instead of prefix/bin


ffmpeg-r15348.patch:

--- NEW FILE ffmpeg-r15348.patch ---
Index: ffpresets/libx264-fastfirstpass.ffpreset
===================================================================
--- ffpresets/libx264-fastfirstpass.ffpreset	(revision 0)
+++ ffpresets/libx264-fastfirstpass.ffpreset	(revision 15348)
@@ -0,0 +1,21 @@
+coder=1
+flags=+loop
+cmp=+chroma
+partitions=-parti8x8-parti4x4-partp8x8-partp4x4-partb8x8
+me=dia
+subq=1
+me_range=16
+g=250
+keyint_min=25
+sc_threshold=40
+i_qfactor=0.71
+b_strategy=1
+qcomp=0.6
+qmin=10
+qmax=51
+qdiff=4
+refs=1
+directpred=1
+bidir_refine=0
+trellis=0
+flags2=-bpyramid-wpred-brdo-mixed_refs-dct8x8+fastpskip
Index: ffpresets/libx264-default.ffpreset
===================================================================
--- ffpresets/libx264-default.ffpreset	(revision 0)
+++ ffpresets/libx264-default.ffpreset	(revision 15348)
@@ -0,0 +1,18 @@
+coder=1
+flags=+loop
+cmp=+chroma
+partitions=+parti8x8+parti4x4+partp8x8+partb8x8
+me=hex
+subq=5
+me_range=16
+g=250
+keyint_min=25
+sc_threshold=40
+i_qfactor=0.71
+b_strategy=1
+qcomp=0.6
+qmin=10
+qmax=51
+qdiff=4
+directpred=1
+flags2=+fastpskip
Index: ffpresets/libx264-max.ffpreset
===================================================================
--- ffpresets/libx264-max.ffpreset	(revision 0)
+++ ffpresets/libx264-max.ffpreset	(revision 15348)
@@ -0,0 +1,22 @@
+coder=1
+flags=+loop
+cmp=+chroma
+partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
+me=tesa
+subq=7
+me_range=32
+g=250
+keyint_min=25
+sc_threshold=40
+i_qfactor=0.71
+b_strategy=1
+qcomp=0.6
+qmin=10
+qmax=51
+qdiff=4
+bf=16
+refs=16
+directpred=3
+bidir_refine=1
+trellis=2
+flags2=+bpyramid+wpred+brdo+mixed_refs+dct8x8-fastpskip
Index: ffpresets/libx264-hq.ffpreset
===================================================================
--- ffpresets/libx264-hq.ffpreset	(revision 0)
+++ ffpresets/libx264-hq.ffpreset	(revision 15348)
@@ -0,0 +1,22 @@
+coder=1
+flags=+loop
+cmp=+chroma
+partitions=+parti8x8+parti4x4+partp8x8+partb8x8
+me=umh
+subq=7
+me_range=16
+g=250
+keyint_min=25
+sc_threshold=40
+i_qfactor=0.71
+b_strategy=1
+qcomp=0.6
+qmin=10
+qmax=51
+qdiff=4
+bf=16
+refs=4
+directpred=3
+bidir_refine=1
+trellis=1
+flags2=+bpyramid+wpred+brdo+mixed_refs+dct8x8+fastpskip
Index: ffpresets/libx264-normal.ffpreset
===================================================================
--- ffpresets/libx264-normal.ffpreset	(revision 0)
+++ ffpresets/libx264-normal.ffpreset	(revision 15348)
@@ -0,0 +1,22 @@
+coder=1
+flags=+loop
+cmp=+chroma
+partitions=+parti8x8+parti4x4+partp8x8+partb8x8
+me=hex
+subq=6
+me_range=16
+g=250
+keyint_min=25
+sc_threshold=40
+i_qfactor=0.71
+b_strategy=1
+qcomp=0.6
+qmin=10
+qmax=51
+qdiff=4
+bf=16
+refs=2
+directpred=3
+bidir_refine=1
+trellis=0
+flags2=+bpyramid+wpred+dct8x8+fastpskip

ffmpeg-r16791-16793.patch:

--- NEW FILE ffmpeg-r16791-16793.patch ---
Index: configure
===================================================================
--- configure	(revision 16790)
+++ configure	(revision 16793)
@@ -64,6 +64,7 @@
   echo "  --disable-logging        do not log configure debug information"
   echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
   echo "  --bindir=DIR             install binaries in DIR [PREFIX/bin]"
+  echo "  --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]"
   echo "  --libdir=DIR             install libs in DIR [PREFIX/lib]"
   echo "  --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]"
   echo "  --incdir=DIR             install includes in DIR [PREFIX/include]"
@@ -264,6 +265,10 @@
     echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
 }
 
+c_escape(){
+    echo "$*" | sed 's/["\\]/\\\0/g'
+}
+
 set_all(){
     value=$1
     shift
@@ -914,6 +919,7 @@
 
 PATHS_LIST='
     bindir
+    datadir
     incdir
     libdir
     mandir
@@ -1113,6 +1119,7 @@
 # installation paths
 prefix_default="/usr/local"
 bindir_default='${prefix}/bin'
+datadir_default='${prefix}/share/ffmpeg'
 incdir_default='${prefix}/include'
 libdir_default='${prefix}/lib'
 mandir_default='${prefix}/share/man'
@@ -2258,6 +2265,7 @@
 echo "#ifndef FFMPEG_CONFIG_H" >> $TMPH
 echo "#define FFMPEG_CONFIG_H" >> $TMPH
 echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH
+echo "#define FFMPEG_DATADIR \"$(eval c_escape $datadir)\"" >> $TMPH
 
 echo "FFMPEG_CONFIGURATION=$FFMPEG_CONFIGURATION" >> config.mak
 echo "prefix=$prefix" >> config.mak
@@ -2265,6 +2273,7 @@
 echo "SHLIBDIR=\$(DESTDIR)$shlibdir" >> config.mak
 echo "INCDIR=\$(DESTDIR)$incdir" >> config.mak
 echo "BINDIR=\$(DESTDIR)$bindir" >> config.mak
+echo "DATADIR=\$(DESTDIR)$datadir" >> config.mak
 echo "MANDIR=\$(DESTDIR)$mandir" >> config.mak
 echo "CC=$cc" >> config.mak
 echo "YASM=$yasmexe" >> config.mak
Index: Makefile
===================================================================
--- Makefile	(revision 16790)
+++ Makefile	(revision 16793)
@@ -24,6 +24,8 @@
 
 FFLIBS := avdevice avformat avcodec avutil
 
+DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset)
+
 include common.mak
 
 FF_LDFLAGS   := $(FFLDFLAGS)
@@ -35,7 +37,7 @@
 
 INSTALL_TARGETS-$(CONFIG_VHOOK) += install-vhook
 ifneq ($(PROGS),)
-INSTALL_TARGETS-yes             += install-progs
+INSTALL_TARGETS-yes             += install-progs install-data
 INSTALL_TARGETS-$(BUILD_DOC)    += install-man
 endif
 INSTALL_PROGS_TARGETS-$(BUILD_SHARED) = install-libs
@@ -129,6 +131,10 @@
 	install -d "$(BINDIR)"
 	install -c -m 755 $(PROGS) "$(BINDIR)"
 
+install-data: $(DATA_FILES)
+	install -d "$(DATADIR)"
+	install -m 644 $(DATA_FILES) "$(DATADIR)"
+
 install-man: $(MANPAGES)
 	install -d "$(MANDIR)/man1"
 	install -m 644 $(MANPAGES) "$(MANDIR)/man1"
@@ -137,11 +143,14 @@
 	install -d "$(SHLIBDIR)/vhook"
 	install -m 755 $(HOOKS) "$(SHLIBDIR)/vhook"
 
-uninstall: uninstall-progs uninstall-man uninstall-vhook
+uninstall: uninstall-progs uninstall-data uninstall-man uninstall-vhook
 
 uninstall-progs:
 	rm -f $(addprefix "$(BINDIR)/", $(ALLPROGS))
 
+uninstall-data:
+	rm -rf "$(DATADIR)"
+
 uninstall-man:
 	rm -f $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
 

ffmpeg-r17163-17311.patch:

--- NEW FILE ffmpeg-r17163-17311.patch ---
Index: ffmpeg.c
===================================================================
--- ffmpeg.c	(revision 17162)
+++ ffmpeg.c	(revision 17163)
@@ -555,12 +555,12 @@
         ost->audio_resample = 1;
 
     if (ost->audio_resample && !ost->resample) {
-        if (dec->sample_fmt != SAMPLE_FMT_S16) {
-            fprintf(stderr, "Audio resampler only works with 16 bits per sample, patch welcome.\n");
-            av_exit(1);
-        }
-        ost->resample = audio_resample_init(enc->channels,    dec->channels,
-                                            enc->sample_rate, dec->sample_rate);
+        if (dec->sample_fmt != SAMPLE_FMT_S16)
+            fprintf(stderr, "Warning, using s16 intermediate sample format for resampling\n");
+        ost->resample = av_audio_resample_init(enc->channels,    dec->channels,
+                                               enc->sample_rate, dec->sample_rate,
+                                               enc->sample_fmt,  dec->sample_fmt,
+                                               16, 10, 0, 0.8);
         if (!ost->resample) {
             fprintf(stderr, "Can not resample %d channels @ %d Hz to %d channels @ %d Hz\n",
                     dec->channels, dec->sample_rate,
@@ -570,7 +570,7 @@
     }
 
 #define MAKE_SFMT_PAIR(a,b) ((a)+SAMPLE_FMT_NB*(b))
-    if (dec->sample_fmt!=enc->sample_fmt &&
+    if (!ost->audio_resample && dec->sample_fmt!=enc->sample_fmt &&
         MAKE_SFMT_PAIR(enc->sample_fmt,dec->sample_fmt)!=ost->reformat_pair) {
         if (!audio_out2)
             audio_out2 = av_malloc(audio_out_size);
@@ -647,7 +647,7 @@
         size_out = size;
     }
 
-    if (dec->sample_fmt!=enc->sample_fmt) {
+    if (!ost->audio_resample && dec->sample_fmt!=enc->sample_fmt) {
         const void *ibuf[6]= {buftmp};
         void *obuf[6]= {audio_out2};
         int istride[6]= {isize};
Index: libavcodec/resample.c
===================================================================
--- libavcodec/resample.c	(revision 17162)
+++ libavcodec/resample.c	(revision 17163)
@@ -25,16 +25,32 @@
  */
 
 #include "avcodec.h"
+#include "audioconvert.h"
+#include "opt.h"
 
 struct AVResampleContext;
 
+static const char *context_to_name(void *ptr)
+{
+    return "audioresample";
+}
+
+static const AVOption options[] = {{NULL}};
+static const AVClass audioresample_context_class = { "ReSampleContext", context_to_name, options };
+
 struct ReSampleContext {
+    const AVClass *av_class;
     struct AVResampleContext *resample_context;
     short *temp[2];
     int temp_len;
     float ratio;
     /* channel convert */
     int input_channels, output_channels, filter_channels;
+    AVAudioConvert *convert_ctx[2];
+    enum SampleFormat sample_fmt[2]; ///< input and output sample format
+    unsigned sample_size[2];         ///< size of one sample in sample_fmt
+    short *buffer[2];                ///< buffers used for conversion to S16
+    unsigned buffer_size[2];         ///< sizes of allocated buffers
 };
 
 /* n1: number of samples */
@@ -126,8 +142,12 @@
     }
 }
 
-ReSampleContext *audio_resample_init(int output_channels, int input_channels,
-                                      int output_rate, int input_rate)
+ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,
+                                        int output_rate, int input_rate,
+                                        enum SampleFormat sample_fmt_out,
+                                        enum SampleFormat sample_fmt_in,
+                                        int filter_length, int log2_phase_count,
+                                        int linear, double cutoff)
 {
     ReSampleContext *s;
 
@@ -153,6 +173,34 @@
     if (s->output_channels < s->filter_channels)
         s->filter_channels = s->output_channels;
 
+    s->sample_fmt [0] = sample_fmt_in;
+    s->sample_fmt [1] = sample_fmt_out;
+    s->sample_size[0] = av_get_bits_per_sample_format(s->sample_fmt[0])>>3;
+    s->sample_size[1] = av_get_bits_per_sample_format(s->sample_fmt[1])>>3;
+
+    if (s->sample_fmt[0] != SAMPLE_FMT_S16) {
+        if (!(s->convert_ctx[0] = av_audio_convert_alloc(SAMPLE_FMT_S16, 1,
+                                                         s->sample_fmt[0], 1, NULL, 0))) {
+            av_log(s, AV_LOG_ERROR,
+                   "Cannot convert %s sample format to s16 sample format\n",
+                   avcodec_get_sample_fmt_name(s->sample_fmt[0]));
+            av_free(s);
+            return NULL;
+        }
+    }
+
+    if (s->sample_fmt[1] != SAMPLE_FMT_S16) {
+        if (!(s->convert_ctx[1] = av_audio_convert_alloc(s->sample_fmt[1], 1,
+                                                         SAMPLE_FMT_S16, 1, NULL, 0))) {
+            av_log(s, AV_LOG_ERROR,
+                   "Cannot convert s16 sample format to %s sample format\n",
+                   avcodec_get_sample_fmt_name(s->sample_fmt[1]));
+            av_audio_convert_free(s->convert_ctx[0]);
+            av_free(s);
+            return NULL;
+        }
+    }
+
 /*
  * AC-3 output is the only case where filter_channels could be greater than 2.
  * input channels can't be greater than 2, so resample the 2 channels and then
@@ -162,11 +210,25 @@
       s->filter_channels = 2;
 
 #define TAPS 16
-    s->resample_context= av_resample_init(output_rate, input_rate, TAPS, 10, 0, 0.8);
+    s->resample_context= av_resample_init(output_rate, input_rate,
+                         filter_length, log2_phase_count, linear, cutoff);
 
+    s->av_class= &audioresample_context_class;
+
     return s;
 }
 
+#if LIBAVCODEC_VERSION_MAJOR < 53
+ReSampleContext *audio_resample_init(int output_channels, int input_channels,
+                                     int output_rate, int input_rate)
+{
+    return av_audio_resample_init(output_channels, input_channels,
+                                  output_rate, input_rate,
+                                  SAMPLE_FMT_S16, SAMPLE_FMT_S16,
+                                  TAPS, 10, 0, 0.8);
+}
+#endif
+
 /* resample audio. 'nb_samples' is the number of input samples */
 /* XXX: optimize it ! */
 int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples)
@@ -175,6 +237,7 @@
     short *bufin[2];
     short *bufout[2];
     short *buftmp2[2], *buftmp3[2];
+    short *output_bak = NULL;
     int lenout;
 
     if (s->input_channels == s->output_channels && s->ratio == 1.0 && 0) {
@@ -183,6 +246,52 @@
         return nb_samples;
     }
 
+    if (s->sample_fmt[0] != SAMPLE_FMT_S16) {
+        int istride[1] = { s->sample_size[0] };
+        int ostride[1] = { 2 };
+        const void *ibuf[1] = { input };
+        void       *obuf[1];
+        unsigned input_size = nb_samples*s->input_channels*2;
+
+        if (!s->buffer_size[0] || s->buffer_size[0] < input_size) {
+            av_free(s->buffer[0]);
+            s->buffer_size[0] = input_size;
+            s->buffer[0] = av_malloc(s->buffer_size[0]);
+            if (!s->buffer[0]) {
+                av_log(s, AV_LOG_ERROR, "Could not allocate buffer\n");
+                return 0;
+            }
+        }
+
+        obuf[0] = s->buffer[0];
+
+        if (av_audio_convert(s->convert_ctx[0], obuf, ostride,
+                             ibuf, istride, nb_samples*s->input_channels) < 0) {
+            av_log(s, AV_LOG_ERROR, "Audio sample format conversion failed\n");
+            return 0;
+        }
+
+        input  = s->buffer[0];
+    }
+
+    lenout= 4*nb_samples * s->ratio + 16;
+
+    if (s->sample_fmt[1] != SAMPLE_FMT_S16) {
+        output_bak = output;
+
+        if (!s->buffer_size[1] || s->buffer_size[1] < lenout) {
+            av_free(s->buffer[1]);
+            s->buffer_size[1] = lenout;
+            s->buffer[1] = av_malloc(s->buffer_size[1]);
+            if (!s->buffer[1]) {
+                av_log(s, AV_LOG_ERROR, "Could not allocate buffer\n");
+                return 0;
+            }
+        }
+
+        output = s->buffer[1];
+    }
+
     /* XXX: move those malloc to resample init code */
     for(i=0; i<s->filter_channels; i++){
         bufin[i]= av_malloc( (nb_samples + s->temp_len) * sizeof(short) );
@@ -191,7 +300,6 @@
     }
 
     /* make some zoom to avoid round pb */
-    lenout= 4*nb_samples * s->ratio + 16;
     bufout[0]= av_malloc( lenout * sizeof(short) );
     bufout[1]= av_malloc( lenout * sizeof(short) );
 
@@ -233,6 +341,19 @@
         ac3_5p1_mux(output, buftmp3[0], buftmp3[1], nb_samples1);
     }
 
+    if (s->sample_fmt[1] != SAMPLE_FMT_S16) {
+        int istride[1] = { 2 };
+        int ostride[1] = { s->sample_size[1] };
+        const void *ibuf[1] = { output };
+        void       *obuf[1] = { output_bak };
+
+        if (av_audio_convert(s->convert_ctx[1], obuf, ostride,
+                             ibuf, istride, nb_samples1*s->output_channels) < 0) {
+            av_log(s, AV_LOG_ERROR, "Audio sample format convertion failed\n");
+            return 0;
+        }
+    }
+
     for(i=0; i<s->filter_channels; i++)
         av_free(bufin[i]);
 
@@ -246,5 +367,9 @@
     av_resample_close(s->resample_context);
     av_freep(&s->temp[0]);
     av_freep(&s->temp[1]);
+    av_freep(&s->buffer[0]);
+    av_freep(&s->buffer[1]);
+    av_audio_convert_free(s->convert_ctx[0]);
+    av_audio_convert_free(s->convert_ctx[1]);
     av_free(s);
 }
Index: libavcodec/avcodec.h
===================================================================
--- libavcodec/avcodec.h	(revision 17162)
+++ libavcodec/avcodec.h	(revision 17163)
@@ -2443,8 +2443,36 @@
 
 typedef struct ReSampleContext ReSampleContext;
 
-ReSampleContext *audio_resample_init(int output_channels, int input_channels,
-                                     int output_rate, int input_rate);
+#if LIBAVCODEC_VERSION_MAJOR < 53
+/**
+ * @deprecated Use av_audio_resample_init() instead.
+ */
+attribute_deprecated ReSampleContext *audio_resample_init(int output_channels, int input_channels,
+                                                          int output_rate, int input_rate);
+#endif
+/**
+ *  Initializes audio resampling context
+ *
+ * @param output_channels  number of output channels
+ * @param input_channels   number of input channels
+ * @param output_rate      output sample rate
+ * @param input_rate       input sample rate
+ * @param sample_fmt_out   requested output sample format
+ * @param sample_fmt_in    input sample format
+ * @param filter_length    length of each FIR filter in the filterbank relative to the cutoff freq
+ * @param log2_phase_count log2 of the number of entries in the polyphase filterbank
+ * @param linear           If 1 then the used FIR filter will be linearly interpolated
+                           between the 2 closest, if 0 the closest will be used
+ * @param cutoff           cutoff frequency, 1.0 corresponds to half the output sampling rate
+ * @return allocated ReSampleContext, NULL if error occured
+ */
+ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,
+                                        int output_rate, int input_rate,
+                                        enum SampleFormat sample_fmt_out,
+                                        enum SampleFormat sample_fmt_in,
+                                        int filter_length, int log2_phase_count,
+                                        int linear, double cutoff);
+
 int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples);
 void audio_resample_close(ReSampleContext *s);
 


Index: ffmpeg-snapshot.sh
===================================================================
RCS file: /cvs/free/rpms/ffmpeg/F-10/ffmpeg-snapshot.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ffmpeg-snapshot.sh	5 Sep 2008 15:17:52 -0000	1.2
+++ ffmpeg-snapshot.sh	26 Oct 2009 00:39:28 -0000	1.3
@@ -13,10 +13,13 @@
 unset CDPATH
 pwd=$(pwd)
 svn=$(date +%Y%m%d)
+svn=20080908
 
 cd "$tmp"
 svn checkout -r {$svn} svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-$svn
-cd ffmpeg-$svn
+cd ffmpeg-$svn/libswscale
+svn update -r {$svn}
+cd ..
 ./version.sh . version.h
 find . -type d -name .svn -print0 | xargs -0r rm -rf
 sed -i -e '/^\.PHONY: version\.h$/d' Makefile


Index: ffmpeg.spec
===================================================================
RCS file: /cvs/free/rpms/ffmpeg/F-10/ffmpeg.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ffmpeg.spec	8 Mar 2009 23:02:44 -0000	1.11
+++ ffmpeg.spec	26 Oct 2009 00:39:28 -0000	1.12
@@ -6,7 +6,7 @@
 Summary:        Digital VCR and streaming server
 Name:           ffmpeg
 Version:        0.4.9
-Release:        0.55.%{svn}%{?dist}
+Release:        0.56.%{svn}%{?dist}
 License:        GPLv2+
 Group:          Applications/Multimedia
 URL:            http://ffmpeg.org/
@@ -25,8 +25,15 @@
 Patch11:        %{name}-r16846.patch
 # backport av_find_nearest_q_idx for dvdstyler
 Patch12:        %{name}-r15415.patch
+# backport presets
+Patch13:        %{name}-r15348.patch
+# backport audio resampling fix
+Patch14:        %{name}-r17163-17311.patch
+# backport presets installation
+Patch15:        %{name}-r16791-16793.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+Requires:       %{name}-libs = %{version}-%{release}
 %{?_with_amr:BuildRequires: amrnb-devel amrwb-devel}
 BuildRequires:  bzip2-devel
 BuildRequires:  faac-devel
@@ -84,6 +91,8 @@
 %define ff_configure \
 ../configure \\\
     --prefix=%{_prefix} \\\
+    --bindir=%{_bindir} \\\
+    --datadir=%{_datadir}/ffmpeg \\\
     --incdir=%{_includedir}/ffmpeg \\\
     --libdir=%{_libdir} \\\
     --mandir=%{_mandir} \\\
@@ -123,6 +132,9 @@
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
+%patch13 -p0
+%patch14 -p0
+%patch15 -p0
 
 %build
 mkdir generic
@@ -220,10 +232,10 @@
 %files
 %defattr(-,root,root,-)
 %doc COPYING.GPL CREDITS Changelog README __doc/*.*
-# Note: as of 20070204, "configure" doesn't have --bindir.
-%{_prefix}/bin/ffmpeg
-%{_prefix}/bin/ffplay
-%{_prefix}/bin/ffserver
+%{_bindir}/ffmpeg
+%{_bindir}/ffplay
+%{_bindir}/ffserver
+%{_datadir}/ffmpeg
 %{_mandir}/man1/ffmpeg.1*
 %{_mandir}/man1/ffplay.1*
 %{_mandir}/man1/ffserver.1*
@@ -262,6 +274,13 @@
 
 
 %changelog
+* Mon Oct 26 2009 Dominik Mierzejewski <rpm at greysector.net> - 0.4.9-0.56.20080908
+- backport audio resampler fixes (bug #426)
+- add a requirement on exact EVR between main package and -libs
+  so that "yum update ffmpeg" works as expected
+- install presets (backport)
+- use bindir instead of prefix/bin
+
 * Sun Mar 08 2009 Dominik Mierzejewski <rpm at greysector.net> - 0.4.9-0.55.20080908
 - backport support for Dirac in Matroska
 - add comments for all patches



More information about the rpmfusion-commits mailing list