diff --git a/README.md b/README.md index 7f0bf93..2174838 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # libquicktime +Libquicktime is a library for reading and writing QuickTime files on UNIX systems. +Video CODECs supported by this library are OpenDivX, MJPA, JPEG Photo, PNG, RGB, YUV 4:2:2, and YUV 4:2:0 compression. +Supported audio CODECs are Ogg Vorbis, IMA4, ulaw, and any linear PCM format. +Libquicktime is based on the quicktime4linux library. +Libquicktime add features such as a GNU build tools-based build process and dynamically loadable CODECs. + diff --git a/libquicktime-1.1.3-x264.patch b/libquicktime-1.1.3-x264.patch new file mode 100644 index 0000000..119952b --- /dev/null +++ b/libquicktime-1.1.3-x264.patch @@ -0,0 +1,101 @@ +Upstream status: Mailed to libquicktime-devel@sf mailing list on 26/10/2009 +Merged on 27/10/2009 + +Index: plugins/x264/lqt_x264.c +=================================================================== +RCS file: /cvsroot/libquicktime/libquicktime/plugins/x264/lqt_x264.c,v +retrieving revision 1.13 +diff -u -B -r1.13 lqt_x264.c +--- plugins/x264/lqt_x264.c 6 Dec 2008 14:03:10 -0000 1.13 ++++ plugins/x264/lqt_x264.c 26 Oct 2009 11:02:55 -0000 +@@ -94,6 +94,17 @@ + .val_max = { .val_int = 100 }, + .help_string = TRS("Influences how often B-frames are used"), + }, ++#if X264_BUILD >= 78 ++ { ++ .name = "x264_i_bframe_pyramid", ++ .real_name = TRS("B-frame pyramid"), ++ .type = LQT_PARAMETER_INT, ++ .val_default = { .val_int = 0 }, ++ .val_min = { .val_int = 0 }, ++ .val_max = { .val_int = 2 }, ++ .help_string = TRS("Keep some B-frames as references") ++ }, ++#else + { + .name = "x264_b_bframe_pyramid", + .real_name = TRS("B-frame pyramid"), +@@ -103,6 +114,7 @@ + .val_max = { .val_int = 1 }, + .help_string = TRS("Keep some B-frames as references") + }, ++#endif + { + .name = "x264_ratecontrol", + .real_name = TRS("Ratecontrol"), +Index: plugins/x264/x264.c +=================================================================== +RCS file: /cvsroot/libquicktime/libquicktime/plugins/x264/x264.c,v +retrieving revision 1.30 +diff -u -B -r1.30 x264.c +--- plugins/x264/x264.c 11 Mar 2009 14:25:50 -0000 1.30 ++++ plugins/x264/x264.c 26 Oct 2009 11:02:55 -0000 +@@ -67,7 +67,11 @@ + lqt_dump(" i_bframe: %d\n", params->i_bframe); // 0.. X264_BFRAME_MAX + lqt_dump(" b_bframe_adaptive: %d\n", params->b_bframe_adaptive); + lqt_dump(" i_bframe_bias: %d\n", params->i_bframe_bias); ++#if X264_BUILD >= 78 ++ lqt_dump(" i_bframe_pyramid: %d\n", params->i_bframe_pyramid); ++#else + lqt_dump(" b_bframe_pyramid: %d\n", params->b_bframe_pyramid); ++#endif + + lqt_dump(" b_deblocking_filter: %d\n", params->b_deblocking_filter); + lqt_dump(" i_deblocking_filter_alphac0: %d\n", params->i_deblocking_filter_alphac0); // -6..6 +@@ -174,14 +178,21 @@ + { + uint8_t *p = buf; + int i; ++#if X264_BUILD < 76 + int s; ++#endif + + for(i = 0; i < nnal; i++) + { ++#if X264_BUILD >= 76 ++ memcpy(p, nals[i].p_payload, nals[i].i_payload); ++ p+=nals[i].i_payload; ++#else + s = x264_nal_encode(p, &size, 1, nals + i); + if(s < 0) + return -1; + p += s; ++#endif + } + + return p - buf; +@@ -407,7 +417,11 @@ + + pic_out.i_pts = 0; + /* Encode frames, get nals */ ++#if X264_BUILD >= 76 ++ if(x264_encoder_encode(codec->enc, &nal, &nnal, pic_in, &pic_out)<0) ++#else + if(x264_encoder_encode(codec->enc, &nal, &nnal, pic_in, &pic_out)) ++#endif + return 0; + + /* Encode nals -> get h264 stream */ +@@ -782,7 +796,11 @@ + ENUMPARAM("x264_i_bframe_adaptive", codec->params.i_bframe_adaptive, bframe_adaptives); + #endif + INTPARAM("x264_i_bframe_bias", codec->params.i_bframe_bias); ++#if X264_BUILD >= 78 ++ INTPARAM("x264_i_bframe_pyramid", codec->params.i_bframe_pyramid); ++#else + INTPARAM("x264_b_bframe_pyramid", codec->params.b_bframe_pyramid); ++#endif + + ENUMPARAM("x264_i_rc_method", codec->params.rc.i_rc_method, rc_methods); + INTPARAM("x264_i_bitrate", codec->params.rc.i_bitrate); diff --git a/libquicktime-1.2.1-gtk-2.22.patch b/libquicktime-1.2.1-gtk-2.22.patch new file mode 100644 index 0000000..ae573af --- /dev/null +++ b/libquicktime-1.2.1-gtk-2.22.patch @@ -0,0 +1,39 @@ +diff -up libquicktime-1.1.5/utils/gtk/libquicktime_config.c.gtk libquicktime-1.1.5/utils/gtk/libquicktime_config.c +--- libquicktime-1.1.5/utils/gtk/libquicktime_config.c.gtk 2010-07-08 12:21:24.000000000 +0200 ++++ libquicktime-1.1.5/utils/gtk/libquicktime_config.c 2010-07-08 12:22:45.000000000 +0200 +@@ -112,8 +112,8 @@ static MainWindow * create_main_window() + G_CALLBACK(main_window_button_callback), + (gpointer)ret); + +- GTK_WIDGET_SET_FLAGS (ret->close_button, GTK_CAN_DEFAULT); +- GTK_WIDGET_SET_FLAGS (ret->save_button, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default(GTK_WIDGET(ret->close_button), TRUE); ++ gtk_widget_set_can_default(GTK_WIDGET(ret->save_button), TRUE); + + gtk_widget_show(ret->close_button); + gtk_widget_show(ret->save_button); +diff -up libquicktime-1.1.5/utils/gtk/lqt_gtk.c.gtk libquicktime-1.1.5/utils/gtk/lqt_gtk.c +--- libquicktime-1.1.5/utils/gtk/lqt_gtk.c.gtk 2010-07-08 12:27:26.000000000 +0200 ++++ libquicktime-1.1.5/utils/gtk/lqt_gtk.c 2010-07-08 12:27:04.000000000 +0200 +@@ -941,9 +941,9 @@ lqtgtk_create_codec_config_window(lqt_co + G_CALLBACK(codec_config_window_button_callback), + (gpointer)ret); + +- GTK_WIDGET_SET_FLAGS (ret->apply_button, GTK_CAN_DEFAULT); +- GTK_WIDGET_SET_FLAGS (ret->close_button, GTK_CAN_DEFAULT); +- GTK_WIDGET_SET_FLAGS (ret->restore_button, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default(GTK_WIDGET(ret->apply_button), TRUE); ++ gtk_widget_set_can_default(GTK_WIDGET(ret->close_button), TRUE); ++ gtk_widget_set_can_default(GTK_WIDGET(ret->restore_button), TRUE); + + gtk_widget_show(ret->apply_button); + gtk_widget_show(ret->close_button); +@@ -1240,7 +1240,7 @@ lqtgtk_create_codec_info_window(const lq + ret->mainbox = gtk_vbox_new(0, 10); + + ret->close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); +- GTK_WIDGET_SET_FLAGS (ret->close_button, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default(GTK_WIDGET(ret->close_button), TRUE); + + g_signal_connect(G_OBJECT(ret->close_button), "clicked", + G_CALLBACK(codec_info_window_button_callback), diff --git a/libquicktime.spec b/libquicktime.spec new file mode 100644 index 0000000..15669fd --- /dev/null +++ b/libquicktime.spec @@ -0,0 +1,228 @@ +Name: libquicktime +Version: 1.2.4 +Release: 1mamba +Summary: Library for reading and writing quicktime files +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://libquicktime.sourceforge.net/ +Source: http://downloads.sourceforge.net/libquicktime/libquicktime-%{version}.tar.gz +Patch0: %{name}-1.1.3-x264.patch +Patch1: %{name}-1.2.1-gtk-2.22.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: liba52dec-devel +BuildRequires: libalsa-devel +BuildRequires: libatk-devel +BuildRequires: libcairo-devel +BuildRequires: libdc1394-devel +BuildRequires: libdv-devel +BuildRequires: libfaac-devel +BuildRequires: libfaad2-devel +BuildRequires: libGL-devel +BuildRequires: libglib-devel +BuildRequires: libgtk-devel +BuildRequires: libICE-devel +BuildRequires: libjpeg-devel +BuildRequires: liblame-devel +BuildRequires: libogg-devel +BuildRequires: libpango-devel +BuildRequires: libpng-devel +BuildRequires: libraw1394-devel +BuildRequires: libSM-devel +BuildRequires: libtheora-devel +BuildRequires: libvorbis-devel +BuildRequires: libX11-devel +BuildRequires: libx264-devel +BuildRequires: libXaw-devel +BuildRequires: libXext-devel +BuildRequires: libXt-devel +BuildRequires: libXv-devel +BuildRequires: libxvidcore-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: libschroedinger-devel +BuildRequires: libavcodec-devel +BuildRequires: libavc1394-devel >= 0.4.1 +BuildRequires: pkgconfig >= 0.15.0 +BuildRequires: libGLU-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Libquicktime is a library for reading and writing QuickTime files on UNIX systems. +Video CODECs supported by this library are OpenDivX, MJPA, JPEG Photo, PNG, RGB, YUV 4:2:2, and YUV 4:2:0 compression. +Supported audio CODECs are Ogg Vorbis, IMA4, ulaw, and any linear PCM format. +Libquicktime is based on the quicktime4linux library. +Libquicktime add features such as a GNU build tools-based build process and dynamically loadable CODECs. + +%package devel +Summary: Static libraries and headers for %{libname} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +Libquicktime is a library for reading and writing QuickTime files on UNIX systems. +Video CODECs supported by this library are OpenDivX, MJPA, JPEG Photo, PNG, RGB, YUV 4:2:2, and YUV 4:2:0 compression. +Supported audio CODECs are Ogg Vorbis, IMA4, ulaw, and any linear PCM format. +Libquicktime is based on the quicktime4linux library. +Libquicktime add features such as a GNU build tools-based build process and dynamically loadable CODECs. + +This package contains static libraries and header files need for development. + +%package tools +Summary: Useful tools to operate on QuickTime files +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description tools +Useful tools to operate on QuickTime files. + +%prep +%setup -q +#%patch0 -p0 +#%patch1 -p1 + +%build +%configure \ + --enable-static \ + --with-cpuflags="%{optflags}" \ + --with-pic \ + --enable-gpl \ + LIBSWSCALE_CFLAGS="-I%{_includedir}/ffmpeg" + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +%find_lang %{name} + +# Create a compatibility symlink +ln -s lqt %{buildroot}%{_includedir}/quicktime + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files -f %{name}.lang +%defattr(-, root, root) +%{_libdir}/libquicktime.so.* +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/lqt_audiocodec.so +#%{_libdir}/%{name}/lqt_dv.so +%{_libdir}/%{name}/lqt_faac.so +%{_libdir}/%{name}/lqt_faad2.so +%{_libdir}/%{name}/lqt_ffmpeg.so +%{_libdir}/%{name}/lqt_lame.so +%{_libdir}/%{name}/lqt_mjpeg.so +%{_libdir}/%{name}/lqt_png.so +%{_libdir}/%{name}/lqt_rtjpeg.so +%{_libdir}/%{name}/lqt_schroedinger.so +%{_libdir}/%{name}/lqt_videocodec.so +%{_libdir}/%{name}/lqt_vorbis.so +%{_libdir}/%{name}/lqt_x264.so + +%doc AUTHORS ChangeLog COPYING NEWS README TODO + +%files devel +%defattr(-, root, root) +#%{_bindir}/lqt-config +#%{_datadir}/aclocal/*.m4 +%{_includedir}/* +%{_libdir}/*.a +%{_libdir}/*.la +%{_libdir}/*.so +%{_libdir}/%{name}/*.a +%{_libdir}/%{name}/*.la +%{_libdir}/pkgconfig/%{name}.pc +%{_datadir}/doc/libquicktime/apiref/* + +%files tools +%defattr(-, root, root) +%{_bindir}/%{name}_config +%{_bindir}/lqtplay +%{_bindir}/lqtremux +%{_bindir}/lqt_transcode +%{_bindir}/qt* +%{_mandir}/man1/* + +%changelog +* Wed Aug 08 2012 Automatic Build System 1.2.4-1mamba +- automatic version update by autodist + +* Fri Dec 09 2011 Silvan Calarco 1.2.3-2mamba +- rebuilt with ffmpeg 0.8.7 + +* Fri Aug 05 2011 Automatic Build System 1.2.3-1mamba +- automatic version update by autodist + +* Wed Feb 23 2011 Automatic Build System 1.2.2-1mamba +- automatic update by autodist + +* Mon Dec 27 2010 Silvan Calarco 1.2.1-1mamba +- update to 1.2.1 + +* Tue Jun 22 2010 Automatic Build System 1.1.5-1mamba +- automatic update by autodist + +* Mon Mar 08 2010 Automatic Build System 1.1.3-5mamba +- automatic rebuild by autodist + +* Wed Nov 25 2009 Automatic Build System 1.1.3-4mamba +- automatic rebuild by autodist + +* Wed Aug 19 2009 Automatic Build System 1.1.3-3mamba +- automatic rebuild by autodist + +* Wed Aug 12 2009 Automatic Build System 1.1.3-2mamba +- automatic rebuild by autodist + +* Tue Jul 14 2009 Automatic Build System 1.1.3-1mamba +- automatic update by autodist + +* Fri Jul 10 2009 Automatic Build System 1.1.2-1mamba +- automatic update by autodist + +* Fri Jan 09 2009 Silvan Calarco 1.1.1-1mamba +- automatic update by autodist + +* Wed Dec 10 2008 Silvan Calarco 1.1.0-2mamba +- automatic rebuild by autodist + +* Fri Nov 14 2008 Silvan Calarco 1.1.0-1mamba +- automatic update by autodist + +* Mon Jun 02 2008 Silvan Calarco 1.0.2-2mamba +- rebuilt against recent libdc1394 + +* Thu May 22 2008 Silvan Calarco 1.0.2-1mamba +- update to 1.0.2 +- changed package maintainer + +* Sun May 13 2007 Stefano Cotta Ramusino 1.0.0-1mamba +- update to 1.0.0 +- added missing build requirements + +* Wed Oct 25 2006 Stefano Cotta Ramusino 0.9.10-1qilnx +- update to version 0.9.10 by autospec + +* Mon Jul 03 2006 Stefano Cotta Ramusino 0.9.9-1qilnx +- update to version 0.9.9 by autospec + +* Wed Jun 07 2006 Davide Madrisan 0.9.8-1qilnx +- update to version 0.9.8 by autospec + +* Tue Aug 02 2005 Davide Madrisan 0.9.3-3qilnx +- rebuilt + +* Sat Oct 02 2004 Davide Madrisan 0.9.3-2qilnx +- specfile modified to match QiLinux standards +- added missing build require for liblame devel library + +* Fri Sep 10 2004 Matteo Bernasconi 0.9.3-1qilnx +- first build