diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2012-07-11 11:19:38 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2012-07-11 11:19:38 -0400 |
commit | f5c881030a3d1fafc39a645b5393f66083280cfc (patch) | |
tree | c4770a387fa83dcbe74c0d2634b35e19686f2fea | |
parent | 91aa54e1f064792c3754d78d483a2785cc716fa6 (diff) | |
parent | dafc2a23dae515346c7076175524c41262510eaa (diff) | |
download | abslibre-f5c881030a3d1fafc39a645b5393f66083280cfc.tar.gz abslibre-f5c881030a3d1fafc39a645b5393f66083280cfc.tar.bz2 abslibre-f5c881030a3d1fafc39a645b5393f66083280cfc.zip |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/srv/git/abslibre
22 files changed, 922 insertions, 952 deletions
diff --git a/artistic/blender-spacenav-libre/PKGBUILD b/artistic/blender-spacenav-libre/PKGBUILD new file mode 100644 index 000000000..2c11b4d30 --- /dev/null +++ b/artistic/blender-spacenav-libre/PKGBUILD @@ -0,0 +1,81 @@ +# $Id$ +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +_pkgname=blender +pkgname=blender-spacenav-libre +pkgver=2.63a +pkgrel=2.1 +epoch=4 +pkgdesc="A fully integrated 3D graphics creation suite, compiled with spacenav (without nonfree cuda-toolkit support)" +arch=('i686' 'x86_64' 'mips64el') +license=('GPL') +url="http://www.blender.org" +depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' + 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' + 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' + 'openimageio' 'libsndfile' 'jack' 'libspnav') +makedepends=('cmake' 'boost') +replaces=("${_pkgname}") +conflicts=("${_pkgname}" "${_pkgname}-libre") +provides=("${_pkgname}=${pkgver}" "${_pkgname}-libre=${pkgver}") +options=(!strip) +install=${_pkgname}.install +source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz ffmpeg-0.11.patch) +md5sums=('31a60b3ce5466d965cb7e2648995e092' '9e5649403e51654615d30b10bc460217') + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch + sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h + sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c + + mkdir build + cd build + + [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD=OFF" + + cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_INSTALL_PORTABLE=OFF \ + -DWITH_PYTHON_INSTALL=OFF \ + -DWITH_OPENCOLLADA=ON \ + -DOPENIMAGEIO_ROOT_DIR=/usr \ + -DWITH_GAMEENGINE=ON \ + -DWITH_JACK=ON \ + -DWITH_PLAYER=ON \ + -DWITH_BUILTIN_GLEW=OFF \ + -DWITH_CODEC_FFMPEG=ON \ + -DWITH_CODEC_SNDFILE=ON \ + -DWITH_CYCLES=ON \ + -DWITH_CYCLES_CUDA_BINARIES=OFF \ + -DWITH_FFTW3=ON \ + -DWITH_MOD_OCEANSIM=ON \ + -DPYTHON_VERSION=3.2 \ + -DPYTHON_LIBPATH=/usr/lib \ + -DPYTHON_LIBRARY=python3.2mu \ + -DPYTHON_INCLUDE_DIRS=/usr/include/python3.2mu \ + $ENABLESSE2 + + make $MAKEFLAGS + +# cp -rf "${srcdir}/${_pkgname}-${pkgver}"/release/plugins/* \ +# "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/ +# cd "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi +# chmod 755 bmake + make +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}/build" + make DESTDIR="${pkgdir}" install + python -m compileall "${pkgdir}/usr/share/blender" + +# install plugins +# install -d -m755 "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} +# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/sequence/*.so \ +# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ +# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/texture/*.so \ +# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ +} diff --git a/artistic/blender-spacenav-libre/blender.install b/artistic/blender-spacenav-libre/blender.install new file mode 100644 index 000000000..724bfce00 --- /dev/null +++ b/artistic/blender-spacenav-libre/blender.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/artistic/blender-spacenav-libre/ffmpeg-0.11.patch b/artistic/blender-spacenav-libre/ffmpeg-0.11.patch new file mode 100644 index 000000000..45144140c --- /dev/null +++ b/artistic/blender-spacenav-libre/ffmpeg-0.11.patch @@ -0,0 +1,434 @@ +diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp +--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-05-10 11:45:40.000000000 -0300 ++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-07-10 18:12:55.727129720 -0300 +@@ -143,23 +143,23 @@ + + switch(m_codecCtx->sample_fmt) + { +- case SAMPLE_FMT_U8: ++ case AV_SAMPLE_FMT_U8: + m_convert = AUD_convert_u8_float; + m_specs.format = AUD_FORMAT_U8; + break; +- case SAMPLE_FMT_S16: ++ case AV_SAMPLE_FMT_S16: + m_convert = AUD_convert_s16_float; + m_specs.format = AUD_FORMAT_S16; + break; +- case SAMPLE_FMT_S32: ++ case AV_SAMPLE_FMT_S32: + m_convert = AUD_convert_s32_float; + m_specs.format = AUD_FORMAT_S32; + break; +- case SAMPLE_FMT_FLT: ++ case AV_SAMPLE_FMT_FLT: + m_convert = AUD_convert_copy<float>; + m_specs.format = AUD_FORMAT_FLOAT32; + break; +- case SAMPLE_FMT_DBL: ++ case AV_SAMPLE_FMT_DBL: + m_convert = AUD_convert_double_float; + m_specs.format = AUD_FORMAT_FLOAT64; + break; +@@ -189,7 +189,7 @@ + } + catch(AUD_Exception&) + { +- av_close_input_file(m_formatCtx); ++ avformat_close_input(&m_formatCtx); + throw; + } + } +@@ -227,7 +227,7 @@ + } + catch(AUD_Exception&) + { +- av_close_input_stream(m_formatCtx); ++ avformat_close_input(&m_formatCtx); + av_free(m_aviocontext); + throw; + } +@@ -239,7 +239,7 @@ + + if(m_aviocontext) + { +- av_close_input_stream(m_formatCtx); ++ avformat_close_input(&m_formatCtx); + av_free(m_aviocontext); + } + else +diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp +--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-05-10 11:45:40.000000000 -0300 ++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-07-10 18:14:55.893790273 -0300 +@@ -133,23 +133,23 @@ + { + case AUD_FORMAT_U8: + m_convert = AUD_convert_float_u8; +- m_codecCtx->sample_fmt = SAMPLE_FMT_U8; ++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_U8; + break; + case AUD_FORMAT_S16: + m_convert = AUD_convert_float_s16; +- m_codecCtx->sample_fmt = SAMPLE_FMT_S16; ++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S16; + break; + case AUD_FORMAT_S32: + m_convert = AUD_convert_float_s32; +- m_codecCtx->sample_fmt = SAMPLE_FMT_S32; ++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S32; + break; + case AUD_FORMAT_FLOAT32: + m_convert = AUD_convert_copy<float>; +- m_codecCtx->sample_fmt = SAMPLE_FMT_FLT; ++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_FLT; + break; + case AUD_FORMAT_FLOAT64: + m_convert = AUD_convert_float_double; +- m_codecCtx->sample_fmt = SAMPLE_FMT_DBL; ++ m_codecCtx->sample_fmt = AV_SAMPLE_FMT_DBL; + break; + default: + AUD_THROW(AUD_ERROR_FFMPEG, format_error); +diff -Naur blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h blender-2.63a/intern/ffmpeg/ffmpeg_compat.h +--- blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h 2012-05-10 11:46:17.000000000 -0300 ++++ blender-2.63a/intern/ffmpeg/ffmpeg_compat.h 2012-07-10 18:17:04.823783714 -0300 +@@ -76,6 +76,10 @@ + #define FFMPEG_FFV1_ALPHA_SUPPORTED + #endif + ++#if ((LIBAVFORMAT_VERSION_MAJOR < 53) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24)) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24) && (LIBAVFORMAT_VERSION_MICRO < 2))) ++#define avformat_close_input(x) av_close_input_file(*(x)) ++#endif ++ + #ifndef FFMPEG_HAVE_AVIO + #define AVIO_FLAG_WRITE URL_WRONLY + #define avio_open url_fopen +diff -Naur blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c +--- blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c 2012-05-10 11:50:20.000000000 -0300 ++++ blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c 2012-07-10 18:27:00.213753426 -0300 +@@ -36,6 +36,7 @@ + #include <libavformat/avformat.h> + #include <libavcodec/avcodec.h> + #include <libavutil/rational.h> ++#include <libavutil/samplefmt.h> + #include <libswscale/swscale.h> + #include <libavcodec/opt.h> + +@@ -612,7 +613,7 @@ + + c->sample_rate = rd->ffcodecdata.audio_mixrate; + c->bit_rate = ffmpeg_audio_bitrate*1000; +- c->sample_fmt = SAMPLE_FMT_S16; ++ c->sample_fmt = AV_SAMPLE_FMT_S16; + c->channels = rd->ffcodecdata.audio_channels; + codec = avcodec_find_encoder(c->codec_id); + if (!codec) { +@@ -654,11 +655,21 @@ + } + /* essential functions -- start, append, end */ + ++static void ffmpeg_dict_set_int(AVDictionary **dict, const char *key, int value) ++{ ++ char buffer[32]; ++ ++ BLI_snprintf(buffer, sizeof(buffer), "%d", value); ++ ++ av_dict_set(dict, key, buffer, 0); ++} ++ + static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, ReportList *reports) + { + /* Handle to the output file */ + AVFormatContext* of; + AVOutputFormat* fmt; ++ AVDictionary *opts = NULL; + char name[256]; + const char ** exts; + +@@ -704,13 +715,14 @@ + of->oformat = fmt; + of->packet_size= rd->ffcodecdata.mux_packet_size; + if (ffmpeg_audio_codec != CODEC_ID_NONE) { +- of->mux_rate = rd->ffcodecdata.mux_rate; ++ ffmpeg_dict_set_int(&opts, "muxrate", rd->ffcodecdata.mux_rate); + } + else { +- of->mux_rate = 0; ++ av_dict_set(&opts, "muxrate", "0", 0); + } + +- of->preload = (int)(0.5*AV_TIME_BASE); ++ ffmpeg_dict_set_int(&opts, "preload", (int)(0.5*AV_TIME_BASE)); ++ + of->max_delay = (int)(0.7*AV_TIME_BASE); + + fmt->audio_codec = ffmpeg_audio_codec; +@@ -773,6 +785,7 @@ + fmt->audio_codec = CODEC_ID_PCM_S16LE; + if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) { + BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!"); ++ av_dict_free(&opts); + return 0; + } + } +@@ -782,6 +795,7 @@ + printf("alloc video stream %p\n", video_stream); + if (!video_stream) { + BKE_report(reports, RPT_ERROR, "Error initializing video stream."); ++ av_dict_free(&opts); + return 0; + } + } +@@ -790,27 +804,27 @@ + audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of); + if (!audio_stream) { + BKE_report(reports, RPT_ERROR, "Error initializing audio stream."); ++ av_dict_free(&opts); + return 0; + } + } +- if (av_set_parameters(of, NULL) < 0) { +- BKE_report(reports, RPT_ERROR, "Error setting output parameters."); +- return 0; +- } + if (!(fmt->flags & AVFMT_NOFILE)) { + if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) { + BKE_report(reports, RPT_ERROR, "Could not open file for writing."); ++ av_dict_free(&opts); + return 0; + } + } + +- if (av_write_header(of) < 0) { ++ if (avformat_write_header(of, NULL) < 0) { + BKE_report(reports, RPT_ERROR, "Could not initialize streams. Probably unsupported codec combination."); ++ av_dict_free(&opts); + return 0; + } + + outfile = of; + av_dump_format(of, 0, name, 1); ++ av_dict_free(&opts); + + return 1; + } +diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c blender-2.63a/source/blender/imbuf/intern/anim_movie.c +--- blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c 2012-05-10 11:50:59.000000000 -0300 ++++ blender-2.63a/source/blender/imbuf/intern/anim_movie.c 2012-07-10 18:30:19.413743294 -0300 +@@ -436,7 +436,7 @@ + int i, videoStream; + + AVCodec *pCodec; +- AVFormatContext *pFormatCtx; ++ AVFormatContext *pFormatCtx = NULL; + AVCodecContext *pCodecCtx; + int frs_num; + double frs_den; +@@ -455,7 +455,7 @@ + + do_init_ffmpeg(); + +- if (av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) { ++ if (avformat_open_input(&pFormatCtx, anim->name, NULL, NULL)!=0) { + return -1; + } + +@@ -990,7 +990,8 @@ + ret = av_seek_frame(anim->pFormatCtx, + -1, + pos, AVSEEK_FLAG_BYTE); +- av_update_cur_dts(anim->pFormatCtx, v_st, dts); ++ // XXX: need double verification ++ // av_update_cur_dts(anim->pFormatCtx, v_st, dts); + } + else { + av_log(anim->pFormatCtx, AV_LOG_DEBUG, +diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/indexer.c blender-2.63a/source/blender/imbuf/intern/indexer.c +--- blender-2.63a.orig/source/blender/imbuf/intern/indexer.c 2012-05-10 11:50:59.000000000 -0300 ++++ blender-2.63a/source/blender/imbuf/intern/indexer.c 2012-07-10 18:38:25.737051891 -0300 +@@ -533,13 +533,6 @@ + rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER; + } + +- if (av_set_parameters(rv->of, NULL) < 0) { +- fprintf(stderr, "Couldn't set output parameters? " +- "Proxy not built!\n"); +- av_free(rv->of); +- return 0; +- } +- + if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) { + fprintf(stderr, "Couldn't open outputfile! " + "Proxy not built!\n"); +@@ -576,7 +569,12 @@ + NULL, NULL, NULL); + } + +- av_write_header(rv->of); ++ if (avformat_write_header(rv->of, NULL) < 0) { ++ fprintf(stderr, "Couldn't set output parameters? " ++ "Proxy not built!\n"); ++ av_free(rv->of); ++ return 0; ++ } + + return rv; + } +@@ -739,7 +737,7 @@ + memset(context->proxy_ctx, 0, sizeof(context->proxy_ctx)); + memset(context->indexer, 0, sizeof(context->indexer)); + +- if (av_open_input_file(&context->iFormatCtx, anim->name, NULL, 0, NULL) != 0) { ++ if (avformat_open_input(&context->iFormatCtx, anim->name, NULL, NULL) != 0) { + MEM_freeN(context); + return NULL; + } +diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/util.c blender-2.63a/source/blender/imbuf/intern/util.c +--- blender-2.63a.orig/source/blender/imbuf/intern/util.c 2012-05-10 11:50:59.000000000 -0300 ++++ blender-2.63a/source/blender/imbuf/intern/util.c 2012-07-10 18:40:49.950377886 -0300 +@@ -243,7 +243,7 @@ + + static int isffmpeg (const char *filename) + { +- AVFormatContext *pFormatCtx; ++ AVFormatContext *pFormatCtx = NULL; + unsigned int i; + int videoStream; + AVCodec *pCodec; +@@ -261,7 +261,7 @@ + BLI_testextensie(filename, ".cin") || + BLI_testextensie(filename, ".wav")) return 0; + +- if (av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)!=0) { ++ if (avformat_open_input(&pFormatCtx, filename, NULL, NULL)!=0) { + if (UTIL_DEBUG) fprintf(stderr, "isffmpeg: av_open_input_file failed\n"); + return 0; + } +diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp +--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-05-10 11:48:50.000000000 -0300 ++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-07-10 18:56:03.696998071 -0300 +@@ -162,14 +162,14 @@ + } + + +-int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams) ++int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams) + { +- AVFormatContext *formatCtx; ++ AVFormatContext *formatCtx = NULL; + int i, videoStream; + AVCodec *codec; + AVCodecContext *codecCtx; + +- if (av_open_input_file(&formatCtx, filename, inputFormat, 0, formatParams)!=0) ++ if (avformat_open_input(&formatCtx, filename, inputFormat, formatParams)!=0) + return -1; + + if (av_find_stream_info(formatCtx)<0) +@@ -545,11 +545,7 @@ + // but it is really not desirable to seek on http file, so force streaming. + // It would be good to find this information from the context but there are no simple indication + !strncmp(filename, "http://", 7) || +-#ifdef FFMPEG_PB_IS_POINTER +- (m_formatCtx->pb && m_formatCtx->pb->is_streamed) +-#else +- m_formatCtx->pb.is_streamed +-#endif ++ (m_formatCtx->pb && !m_formatCtx->pb->seekable) + ) + { + // the file is in fact a streaming source, treat as cam to prevent seeking +@@ -586,13 +582,11 @@ + { + // open camera source + AVInputFormat *inputFormat; +- AVFormatParameters formatParams; +- AVRational frameRate; ++ AVDictionary *formatParams = NULL; + char *p, filename[28], rateStr[20]; + + do_init_ffmpeg(); + +- memset(&formatParams, 0, sizeof(formatParams)); + #ifdef WIN32 + // video capture on windows only through Video For Windows driver + inputFormat = av_find_input_format("vfwcap"); +@@ -622,7 +616,13 @@ + sprintf(filename, "/dev/dv1394/%d", camIdx); + } else + { +- inputFormat = av_find_input_format("video4linux"); ++ const char *formats[] = {"video4linux2,v4l2", "video4linux2", "video4linux"}; ++ int i, formatsCount = sizeof(formats) / sizeof(char*); ++ for (i = 0; i < formatsCount; i++) { ++ inputFormat = av_find_input_format(formats[i]); ++ if (inputFormat) ++ break; ++ } + sprintf(filename, "/dev/video%d", camIdx); + } + if (!inputFormat) +@@ -636,20 +636,22 @@ + if ((p = strchr(filename, ':')) != 0) + *p = 0; + } +- if (file && (p = strchr(file, ':')) != NULL) +- formatParams.standard = p+1; ++ if (file && (p = strchr(file, ':')) != NULL) { ++ av_dict_set(&formatParams, "standard", p+1, 0); ++ } + #endif + //frame rate + if (m_captRate <= 0.f) + m_captRate = defFrameRate; + sprintf(rateStr, "%f", m_captRate); +- av_parse_video_rate(&frameRate, rateStr); +- // populate format parameters +- // need to specify the time base = inverse of rate +- formatParams.time_base.num = frameRate.den; +- formatParams.time_base.den = frameRate.num; +- formatParams.width = m_captWidth; +- formatParams.height = m_captHeight; ++ ++ av_dict_set(&formatParams, "framerate", rateStr, 0); ++ ++ if (m_captWidth > 0 && m_captHeight > 0) { ++ char video_size[64]; ++ BLI_snprintf(video_size, sizeof(video_size), "%dx%d", m_captWidth, m_captHeight); ++ av_dict_set(&formatParams, "video_size", video_size, 0); ++ } + + if (openStream(filename, inputFormat, &formatParams) != 0) + return; +@@ -664,6 +666,8 @@ + // no need to thread if the system has a single core + m_isThreaded = true; + } ++ ++ av_dict_free(&formatParams); + } + + // play video +diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h +--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-05-10 11:48:50.000000000 -0300 ++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-07-10 18:57:21.710327435 -0300 +@@ -46,10 +46,6 @@ + # define FFMPEG_CODEC_IS_POINTER 1 + #endif + +-#if LIBAVFORMAT_VERSION_INT >= (52 << 16) +-# define FFMPEG_PB_IS_POINTER 1 +-#endif +- + #ifdef FFMPEG_CODEC_IS_POINTER + static inline AVCodecContext* get_codec_from_stream(AVStream* stream) + { +@@ -172,7 +168,7 @@ + double actFrameRate (void) { return m_frameRate * m_baseFrameRate; } + + /// common function to video file and capture +- int openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams); ++ int openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams); + + /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved + AVFrame* grabFrame(long frame); diff --git a/artistic/libspnav/Makefile.in.diff b/artistic/libspnav/Makefile.in.diff new file mode 100644 index 000000000..4c93b9cb6 --- /dev/null +++ b/artistic/libspnav/Makefile.in.diff @@ -0,0 +1,19 @@ +--- Makefile.in.orig 2009-04-18 00:12:45.000000000 +0200 ++++ Makefile.in 2009-04-18 00:16:06.000000000 +0200 +@@ -4,6 +4,7 @@ + lib_a = libspnav.a + soname = libspnav.so.0 + lib_so = $(soname).1 ++linkname = libspnav.so + + CC = gcc + AR = ar +@@ -34,6 +35,8 @@ + install: $(lib_a) $(lib_so) + cp $(lib_a) $(PREFIX)/$(libdir)/$(lib_a) + cp $(lib_so) $(PREFIX)/$(libdir)/$(lib_so) ++ ln -s $(lib_so) $(linkname) ++ cp -d $(linkname) $(PREFIX)/$(libdir)/$(linkname) + for h in $(hdr); do cp -p $(srcdir)/$$h $(PREFIX)/include/; done + + .PHONY: uninstall diff --git a/artistic/libspnav/PKGBUILD b/artistic/libspnav/PKGBUILD new file mode 100644 index 000000000..da0272ed7 --- /dev/null +++ b/artistic/libspnav/PKGBUILD @@ -0,0 +1,24 @@ +# Contributor: Jan Hambrecht <jaham at gmx dot net> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +pkgname=libspnav +pkgver=0.2.2 +pkgrel=3 +pkgdesc="The spacenav project provides a free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)." +arch=('i686' 'x86_64' 'mips64el') +url="http://spacenav.sourceforge.net/" +license=('GPL') +depends=('libx11') +source=(http://downloads.sourceforge.net/spacenav/$pkgname-$pkgver.tar.gz Makefile.in.diff) +md5sums=('b85a0f4ab711e2d4f73a40e2e371f5ae' + 'f9122ad4ca823e45bfa0538187df6270') + +build() { + cd $srcdir/$pkgname-$pkgver + patch -p0 < $srcdir/Makefile.in.diff + ./configure --prefix=$pkgdir/usr --disable-debug + make || return 1 + install -d $pkgdir/usr/lib + install -d $pkgdir/usr/include + make DESTDIR=$pkgdir install || return 1 +} diff --git a/artistic/spnavcfg/PKGBUILD b/artistic/spnavcfg/PKGBUILD new file mode 100644 index 000000000..df9027bc5 --- /dev/null +++ b/artistic/spnavcfg/PKGBUILD @@ -0,0 +1,20 @@ +# Contributor: Jan Hambrecht <jaham at gmx dot net> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> + +pkgname=spnavcfg +pkgver=0.2.1 +pkgrel=1 +pkgdesc="The spacenav project provides a free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)." +arch=('i686' 'x86_64' 'mips64el') +url="http://spacenav.sourceforge.net/" +license=('GPL') +depends=('gtk2') +source=(http://downloads.sourceforge.net/spacenav/$pkgname-$pkgver.tar.gz) +md5sums=('d20cf09515d1e39fd04877a00a2023b5') + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=$pkgdir/usr + make || return 1 + make DESTDIR=$pkgdir install || return 1 +} diff --git a/kernels/linux-libre-lts-rt/PKGBUILD b/kernels/linux-libre-lts-rt/PKGBUILD index b59e396cc..aee3a19ed 100644 --- a/kernels/linux-libre-lts-rt/PKGBUILD +++ b/kernels/linux-libre-lts-rt/PKGBUILD @@ -41,7 +41,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn md5sums=('5f64180fe7df4e574dac5911b78f5067' '150413437fe54d4822e9e43189e37319' '52679525b6b1049f5d54f270fad43423' - '5157a8a68134152e101a13d33441d5ed' + '37c2f6a089bc5d7632bcea4510c73e59' 'ffbd1f905ffb0bc0eccbbd729de7d116' '85f04a9555bdc295f7c387a6564f0c81' '2967cecc3af9f954ccc822fd63dca6ff' diff --git a/kernels/linux-libre-lts-rt/config.i686 b/kernels/linux-libre-lts-rt/config.i686 index ad52de79c..a7a870b8a 100644 --- a/kernels/linux-libre-lts-rt/config.i686 +++ b/kernels/linux-libre-lts-rt/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 3.0.29-1 Kernel Configuration +# Linux/i386 3.0.36-1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -90,7 +90,6 @@ CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_AUDIT_WATCH=y CONFIG_AUDIT_TREE=y -CONFIG_UTRACE=y CONFIG_HAVE_GENERIC_HARDIRQS=y # @@ -418,9 +417,6 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m -CONFIG_TRANSPARENT_HUGEPAGE=y -# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y CONFIG_CLEANCACHE=y # CONFIG_HIGHPTE is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -996,7 +992,9 @@ CONFIG_IP_DCCP_TFRC_LIB=y # DCCP Kernel Hacking # # CONFIG_IP_DCCP_DEBUG is not set +# CONFIG_NET_DCCPPROBE is not set CONFIG_IP_SCTP=m +# CONFIG_NET_SCTPPROBE is not set # CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_HMAC_NONE is not set @@ -1108,6 +1106,7 @@ CONFIG_XPS=y # Network testing # CONFIG_NET_PKTGEN=m +# CONFIG_NET_TCPPROBE is not set CONFIG_NET_DROP_MONITOR=y CONFIG_HAMRADIO=y @@ -1486,6 +1485,7 @@ CONFIG_MISC_DEVICES=y CONFIG_AD525X_DPOT=m CONFIG_AD525X_DPOT_I2C=m # CONFIG_IBM_ASM is not set +CONFIG_HWLAT_DETECTOR=m CONFIG_PHANTOM=m CONFIG_INTEL_MID_PTI=m CONFIG_SGI_IOC4=m @@ -2408,11 +2408,8 @@ CONFIG_SLHC=m # CONFIG_SLIP_SMART is not set # CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_NET_FC is not set -CONFIG_NETCONSOLE=m -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set CONFIG_VIRTIO_NET=m CONFIG_VMXNET3=m CONFIG_ISDN=y @@ -5290,13 +5287,13 @@ CONFIG_ENABLE_WARN_DEPRECATED=y # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_FRAME_WARN=1024 CONFIG_MAGIC_SYSRQ=y +# CONFIG_MAGIC_SYSRQ_FORCE_PRINTK is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_UNUSED_SYMBOLS=y CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set CONFIG_LOCKUP_DETECTOR=y CONFIG_HARDLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set @@ -5311,8 +5308,7 @@ CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y # CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_PREEMPT is not set # CONFIG_DEBUG_RT_MUTEXES is not set @@ -5346,6 +5342,7 @@ CONFIG_FRAME_POINTER=y # CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set @@ -5373,7 +5370,6 @@ CONFIG_FTRACE_NMI_ENTER=y CONFIG_EVENT_TRACING=y CONFIG_EVENT_POWER_TRACING_DEPRECATED=y CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_RING_BUFFER_ALLOW_SWAP=y CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y @@ -5383,12 +5379,15 @@ CONFIG_FUNCTION_GRAPH_TRACER=y # CONFIG_IRQSOFF_TRACER is not set # CONFIG_PREEMPT_TRACER is not set CONFIG_SCHED_TRACER=y +# CONFIG_WAKEUP_LATENCY_HIST is not set +# CONFIG_MISSED_TIMER_OFFSETS_HIST is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set # CONFIG_PROFILE_ALL_BRANCHES is not set CONFIG_STACK_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_KPROBE_EVENT=y CONFIG_DYNAMIC_FTRACE=y CONFIG_FUNCTION_PROFILER=y CONFIG_FTRACE_MCOUNT_RECORD=y @@ -5420,6 +5419,7 @@ CONFIG_DEBUG_RODATA=y CONFIG_DOUBLEFAULT=y # CONFIG_IOMMU_STRESS is not set CONFIG_HAVE_MMIOTRACE_SUPPORT=y +# CONFIG_X86_DECODER_SELFTEST is not set CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD index 6fc5679e7..5dd14405d 100644 --- a/libre/blender-libre/PKGBUILD +++ b/libre/blender-libre/PKGBUILD @@ -1,22 +1,12 @@ # $Id$ -# Contributor: John Sowiak <john@archlinux.org> -# Contributor: tobias <tobias@archlinux.org> -# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> -# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> -# Apparently, the blender guys refuse to release source tarballs for -# intermediate releases that deal mainly with binaries but incorporate tiny -# minor changes from svn. Since I'm sick and tired of the urges of users that -# look for release numbers only, we make a messy PKGBUILD that can checkout svn -# release if necessary. - -_svn=true _pkgname=blender pkgname=blender-libre -true && pkgver=2.63a # Hack for svn -true && pkgrel=2 +pkgver=2.63a +pkgrel=2.1 epoch=4 -pkgdesc="A fully integrated 3D graphics creation suite without cuda-toolkit recommendation" +pkgdesc="A fully integrated 3D graphics creation suite (without nonfree cuda-toolkit support)" arch=('i686' 'x86_64' 'mips64el') license=('GPL') url="http://www.blender.org" @@ -24,45 +14,19 @@ depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'openimageio' 'libsndfile' 'jack') -makedepends=('cmake' 'boost' 'subversion') +makedepends=('cmake' 'boost') replaces=("${_pkgname}") conflicts=("${_pkgname}") provides=("${_pkgname}=${pkgver}") options=(!strip) -install=blender.install -if [[ $_svn = false ]]; then - source=(http://download.blender.org/source/$_pkgname-$pkgver.tar.gz) - md5sums=('31a60b3ce5466d965cb7e2648995e092') -else - source=(ffmpeg-0.11.patch) - md5sums=('168db32487e363e71fd4671e204afccf') -fi - -_svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender" -_svnmod="blender" +install=${_pkgname}.install +source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz ffmpeg-0.11.patch) +md5sums=('31a60b3ce5466d965cb7e2648995e092' '9e5649403e51654615d30b10bc460217') build() { -if [[ $_svn = true ]]; then - cd "$srcdir" - msg "Connecting to SVN server...." - - if [[ -d "$_svnmod/.svn" ]]; then - (cd "$_svnmod" && svn up ) - else - svn co "$_svntrunk" --config-dir ./ "$_svnmod" - fi - - msg "SVN checkout done or server timeout" - msg "Starting build..." - - rm -rf "$srcdir/$_svnmod-build" - cp -r "$srcdir/$_svnmod" "$srcdir/$_svnmod-build" - cd "$srcdir/$_svnmod-build" -else - cd "$srcdir/$_pkgname-$pkgver" -fi + cd "${srcdir}/${_pkgname}-${pkgver}" - patch -Np0 < "$srcdir"/ffmpeg-0.11.patch + patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c @@ -96,26 +60,22 @@ fi make $MAKEFLAGS -# cp -rf "$srcdir"/${_pkgname}-$pkgver/release/plugins/* \ -# "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi/ -# cd "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi +# cp -rf "${srcdir}/${_pkgname}-${pkgver}"/release/plugins/* \ +# "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/ +# cd "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi # chmod 755 bmake make } package() { - if [[ $_svn = true ]]; then - cd "$srcdir/$_svnmod-build/build" - else - cd "$srcdir/$_pkgname-$pkgver/build" - fi + cd "${srcdir}/${_pkgname}-${pkgver}/build" make DESTDIR="${pkgdir}" install python -m compileall "${pkgdir}/usr/share/blender" # install plugins -# install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} -# cp "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \ -# "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ -# cp "$srcdir"/${_pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \ -# "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ +# install -d -m755 "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} +# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/sequence/*.so \ +# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ +# cp "${srcdir}/${_pkgname}-${pkgver}"/source/blender/blenpluginapi/texture/*.so \ +# "${pkgdir}"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ } diff --git a/libre/blender-libre/ffmpeg-0.11.patch b/libre/blender-libre/ffmpeg-0.11.patch index bc67052bf..45144140c 100644 --- a/libre/blender-libre/ffmpeg-0.11.patch +++ b/libre/blender-libre/ffmpeg-0.11.patch @@ -1,104 +1,101 @@ -Index: intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp -=================================================================== ---- intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp (revision 47422) -+++ intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp (working copy) +diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp +--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-05-10 11:45:40.000000000 -0300 ++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2012-07-10 18:12:55.727129720 -0300 @@ -143,23 +143,23 @@ - - switch(m_codecCtx->sample_fmt) - { + + switch(m_codecCtx->sample_fmt) + { - case SAMPLE_FMT_U8: + case AV_SAMPLE_FMT_U8: - m_convert = AUD_convert_u8_float; - m_specs.format = AUD_FORMAT_U8; - break; + m_convert = AUD_convert_u8_float; + m_specs.format = AUD_FORMAT_U8; + break; - case SAMPLE_FMT_S16: + case AV_SAMPLE_FMT_S16: - m_convert = AUD_convert_s16_float; - m_specs.format = AUD_FORMAT_S16; - break; + m_convert = AUD_convert_s16_float; + m_specs.format = AUD_FORMAT_S16; + break; - case SAMPLE_FMT_S32: + case AV_SAMPLE_FMT_S32: - m_convert = AUD_convert_s32_float; - m_specs.format = AUD_FORMAT_S32; - break; + m_convert = AUD_convert_s32_float; + m_specs.format = AUD_FORMAT_S32; + break; - case SAMPLE_FMT_FLT: + case AV_SAMPLE_FMT_FLT: - m_convert = AUD_convert_copy<float>; - m_specs.format = AUD_FORMAT_FLOAT32; - break; + m_convert = AUD_convert_copy<float>; + m_specs.format = AUD_FORMAT_FLOAT32; + break; - case SAMPLE_FMT_DBL: + case AV_SAMPLE_FMT_DBL: - m_convert = AUD_convert_double_float; - m_specs.format = AUD_FORMAT_FLOAT64; - break; + m_convert = AUD_convert_double_float; + m_specs.format = AUD_FORMAT_FLOAT64; + break; @@ -189,7 +189,7 @@ - } - catch(AUD_Exception&) - { + } + catch(AUD_Exception&) + { - av_close_input_file(m_formatCtx); + avformat_close_input(&m_formatCtx); - throw; - } + throw; + } } @@ -227,7 +227,7 @@ - } - catch(AUD_Exception&) - { + } + catch(AUD_Exception&) + { - av_close_input_stream(m_formatCtx); + avformat_close_input(&m_formatCtx); - av_free(m_aviocontext); - throw; - } + av_free(m_aviocontext); + throw; + } @@ -239,7 +239,7 @@ - - if(m_aviocontext) - { + + if(m_aviocontext) + { - av_close_input_stream(m_formatCtx); + avformat_close_input(&m_formatCtx); - av_free(m_aviocontext); - } - else -Index: intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp -=================================================================== ---- intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp (revision 47422) -+++ intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp (working copy) + av_free(m_aviocontext); + } + else +diff -Naur blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp +--- blender-2.63a.orig/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-05-10 11:45:40.000000000 -0300 ++++ blender-2.63a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2012-07-10 18:14:55.893790273 -0300 @@ -133,23 +133,23 @@ - { - case AUD_FORMAT_U8: - m_convert = AUD_convert_float_u8; + { + case AUD_FORMAT_U8: + m_convert = AUD_convert_float_u8; - m_codecCtx->sample_fmt = SAMPLE_FMT_U8; + m_codecCtx->sample_fmt = AV_SAMPLE_FMT_U8; - break; - case AUD_FORMAT_S16: - m_convert = AUD_convert_float_s16; + break; + case AUD_FORMAT_S16: + m_convert = AUD_convert_float_s16; - m_codecCtx->sample_fmt = SAMPLE_FMT_S16; + m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S16; - break; - case AUD_FORMAT_S32: - m_convert = AUD_convert_float_s32; + break; + case AUD_FORMAT_S32: + m_convert = AUD_convert_float_s32; - m_codecCtx->sample_fmt = SAMPLE_FMT_S32; + m_codecCtx->sample_fmt = AV_SAMPLE_FMT_S32; - break; - case AUD_FORMAT_FLOAT32: - m_convert = AUD_convert_copy<float>; + break; + case AUD_FORMAT_FLOAT32: + m_convert = AUD_convert_copy<float>; - m_codecCtx->sample_fmt = SAMPLE_FMT_FLT; + m_codecCtx->sample_fmt = AV_SAMPLE_FMT_FLT; - break; - case AUD_FORMAT_FLOAT64: - m_convert = AUD_convert_float_double; + break; + case AUD_FORMAT_FLOAT64: + m_convert = AUD_convert_float_double; - m_codecCtx->sample_fmt = SAMPLE_FMT_DBL; + m_codecCtx->sample_fmt = AV_SAMPLE_FMT_DBL; - break; - default: - AUD_THROW(AUD_ERROR_FFMPEG, format_error); -Index: intern/ffmpeg/ffmpeg_compat.h -=================================================================== ---- intern/ffmpeg/ffmpeg_compat.h (revision 47422) -+++ intern/ffmpeg/ffmpeg_compat.h (working copy) + break; + default: + AUD_THROW(AUD_ERROR_FFMPEG, format_error); +diff -Naur blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h blender-2.63a/intern/ffmpeg/ffmpeg_compat.h +--- blender-2.63a.orig/intern/ffmpeg/ffmpeg_compat.h 2012-05-10 11:46:17.000000000 -0300 ++++ blender-2.63a/intern/ffmpeg/ffmpeg_compat.h 2012-07-10 18:17:04.823783714 -0300 @@ -76,6 +76,10 @@ #define FFMPEG_FFV1_ALPHA_SUPPORTED #endif - + +#if ((LIBAVFORMAT_VERSION_MAJOR < 53) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24)) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR < 24) && (LIBAVFORMAT_VERSION_MICRO < 2))) +#define avformat_close_input(x) av_close_input_file(*(x)) +#endif @@ -106,31 +103,30 @@ Index: intern/ffmpeg/ffmpeg_compat.h #ifndef FFMPEG_HAVE_AVIO #define AVIO_FLAG_WRITE URL_WRONLY #define avio_open url_fopen -Index: source/blender/blenkernel/intern/writeffmpeg.c -=================================================================== ---- source/blender/blenkernel/intern/writeffmpeg.c (revision 47422) -+++ source/blender/blenkernel/intern/writeffmpeg.c (working copy) -@@ -42,6 +42,7 @@ +diff -Naur blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c +--- blender-2.63a.orig/source/blender/blenkernel/intern/writeffmpeg.c 2012-05-10 11:50:20.000000000 -0300 ++++ blender-2.63a/source/blender/blenkernel/intern/writeffmpeg.c 2012-07-10 18:27:00.213753426 -0300 +@@ -36,6 +36,7 @@ #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> #include <libavutil/rational.h> +#include <libavutil/samplefmt.h> #include <libswscale/swscale.h> #include <libavcodec/opt.h> - -@@ -615,7 +616,7 @@ - - c->sample_rate = rd->ffcodecdata.audio_mixrate; - c->bit_rate = ffmpeg_audio_bitrate * 1000; + +@@ -612,7 +613,7 @@ + + c->sample_rate = rd->ffcodecdata.audio_mixrate; + c->bit_rate = ffmpeg_audio_bitrate*1000; - c->sample_fmt = SAMPLE_FMT_S16; + c->sample_fmt = AV_SAMPLE_FMT_S16; - c->channels = rd->ffcodecdata.audio_channels; - codec = avcodec_find_encoder(c->codec_id); - if (!codec) { -@@ -657,11 +658,21 @@ + c->channels = rd->ffcodecdata.audio_channels; + codec = avcodec_find_encoder(c->codec_id); + if (!codec) { +@@ -654,11 +655,21 @@ } /* essential functions -- start, append, end */ - + +static void ffmpeg_dict_set_int(AVDictionary **dict, const char *key, int value) +{ + char buffer[32]; @@ -142,134 +138,132 @@ Index: source/blender/blenkernel/intern/writeffmpeg.c + static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, ReportList *reports) { - /* Handle to the output file */ - AVFormatContext *of; - AVOutputFormat *fmt; + /* Handle to the output file */ + AVFormatContext* of; + AVOutputFormat* fmt; + AVDictionary *opts = NULL; - char name[256]; - const char **exts; - -@@ -707,13 +718,14 @@ - of->oformat = fmt; - of->packet_size = rd->ffcodecdata.mux_packet_size; - if (ffmpeg_audio_codec != CODEC_ID_NONE) { + char name[256]; + const char ** exts; + +@@ -704,13 +715,14 @@ + of->oformat = fmt; + of->packet_size= rd->ffcodecdata.mux_packet_size; + if (ffmpeg_audio_codec != CODEC_ID_NONE) { - of->mux_rate = rd->ffcodecdata.mux_rate; + ffmpeg_dict_set_int(&opts, "muxrate", rd->ffcodecdata.mux_rate); - } - else { + } + else { - of->mux_rate = 0; + av_dict_set(&opts, "muxrate", "0", 0); - } - -- of->preload = (int)(0.5 * AV_TIME_BASE); -+ ffmpeg_dict_set_int(&opts, "preload", (int)(0.5 * AV_TIME_BASE)); + } + +- of->preload = (int)(0.5*AV_TIME_BASE); ++ ffmpeg_dict_set_int(&opts, "preload", (int)(0.5*AV_TIME_BASE)); + - of->max_delay = (int)(0.7 * AV_TIME_BASE); - - fmt->audio_codec = ffmpeg_audio_codec; -@@ -776,6 +788,7 @@ - fmt->audio_codec = CODEC_ID_PCM_S16LE; - if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) { - BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!"); + of->max_delay = (int)(0.7*AV_TIME_BASE); + + fmt->audio_codec = ffmpeg_audio_codec; +@@ -773,6 +785,7 @@ + fmt->audio_codec = CODEC_ID_PCM_S16LE; + if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) { + BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!"); + av_dict_free(&opts); - return 0; - } - } -@@ -785,6 +798,7 @@ - printf("alloc video stream %p\n", video_stream); - if (!video_stream) { - BKE_report(reports, RPT_ERROR, "Error initializing video stream."); + return 0; + } + } +@@ -782,6 +795,7 @@ + printf("alloc video stream %p\n", video_stream); + if (!video_stream) { + BKE_report(reports, RPT_ERROR, "Error initializing video stream."); + av_dict_free(&opts); - return 0; - } - } -@@ -793,27 +807,26 @@ - audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of); - if (!audio_stream) { - BKE_report(reports, RPT_ERROR, "Error initializing audio stream."); + return 0; + } + } +@@ -790,27 +804,27 @@ + audio_stream = alloc_audio_stream(rd, fmt->audio_codec, of); + if (!audio_stream) { + BKE_report(reports, RPT_ERROR, "Error initializing audio stream."); + av_dict_free(&opts); - return 0; - } - } + return 0; + } + } - if (av_set_parameters(of, NULL) < 0) { - BKE_report(reports, RPT_ERROR, "Error setting output parameters."); - return 0; - } - if (!(fmt->flags & AVFMT_NOFILE)) { - if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) { - BKE_report(reports, RPT_ERROR, "Could not open file for writing."); + if (!(fmt->flags & AVFMT_NOFILE)) { + if (avio_open(&of->pb, name, AVIO_FLAG_WRITE) < 0) { + BKE_report(reports, RPT_ERROR, "Could not open file for writing."); + av_dict_free(&opts); - return 0; - } - } -- + return 0; + } + } + - if (av_write_header(of) < 0) { + if (avformat_write_header(of, NULL) < 0) { - BKE_report(reports, RPT_ERROR, "Could not initialize streams. Probably unsupported codec combination."); -+ av_dict_free(&opts); - return 0; - } - - outfile = of; - av_dump_format(of, 0, name, 1); + BKE_report(reports, RPT_ERROR, "Could not initialize streams. Probably unsupported codec combination."); ++ av_dict_free(&opts); + return 0; + } + + outfile = of; + av_dump_format(of, 0, name, 1); + av_dict_free(&opts); - - return 1; + + return 1; } -Index: source/blender/imbuf/intern/anim_movie.c -=================================================================== ---- source/blender/imbuf/intern/anim_movie.c (revision 47422) -+++ source/blender/imbuf/intern/anim_movie.c (working copy) -@@ -445,7 +445,7 @@ - int i, videoStream; - - AVCodec *pCodec; +diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c blender-2.63a/source/blender/imbuf/intern/anim_movie.c +--- blender-2.63a.orig/source/blender/imbuf/intern/anim_movie.c 2012-05-10 11:50:59.000000000 -0300 ++++ blender-2.63a/source/blender/imbuf/intern/anim_movie.c 2012-07-10 18:30:19.413743294 -0300 +@@ -436,7 +436,7 @@ + int i, videoStream; + + AVCodec *pCodec; - AVFormatContext *pFormatCtx; + AVFormatContext *pFormatCtx = NULL; - AVCodecContext *pCodecCtx; - int frs_num; - double frs_den; -@@ -464,7 +464,7 @@ - - do_init_ffmpeg(); - -- if (av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL) != 0) { -+ if (avformat_open_input(&pFormatCtx, anim->name, NULL, NULL) != 0) { - return -1; - } - -@@ -998,7 +998,8 @@ - ret = av_seek_frame(anim->pFormatCtx, - -1, - pos, AVSEEK_FLAG_BYTE); + AVCodecContext *pCodecCtx; + int frs_num; + double frs_den; +@@ -455,7 +455,7 @@ + + do_init_ffmpeg(); + +- if (av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) { ++ if (avformat_open_input(&pFormatCtx, anim->name, NULL, NULL)!=0) { + return -1; + } + +@@ -990,7 +990,8 @@ + ret = av_seek_frame(anim->pFormatCtx, + -1, + pos, AVSEEK_FLAG_BYTE); - av_update_cur_dts(anim->pFormatCtx, v_st, dts); + // XXX: need double verification + // av_update_cur_dts(anim->pFormatCtx, v_st, dts); - } - else { - av_log(anim->pFormatCtx, AV_LOG_DEBUG, -Index: source/blender/imbuf/intern/indexer.c -=================================================================== ---- source/blender/imbuf/intern/indexer.c (revision 47422) -+++ source/blender/imbuf/intern/indexer.c (working copy) -@@ -531,13 +531,6 @@ - rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER; - } - + } + else { + av_log(anim->pFormatCtx, AV_LOG_DEBUG, +diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/indexer.c blender-2.63a/source/blender/imbuf/intern/indexer.c +--- blender-2.63a.orig/source/blender/imbuf/intern/indexer.c 2012-05-10 11:50:59.000000000 -0300 ++++ blender-2.63a/source/blender/imbuf/intern/indexer.c 2012-07-10 18:38:25.737051891 -0300 +@@ -533,13 +533,6 @@ + rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER; + } + - if (av_set_parameters(rv->of, NULL) < 0) { - fprintf(stderr, "Couldn't set output parameters? " -- "Proxy not built!\n"); +- "Proxy not built!\n"); - av_free(rv->of); - return 0; - } - - if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) { - fprintf(stderr, "Couldn't open outputfile! " - "Proxy not built!\n"); -@@ -574,7 +567,12 @@ - NULL, NULL, NULL); - } - + if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) { + fprintf(stderr, "Couldn't open outputfile! " + "Proxy not built!\n"); +@@ -576,7 +569,12 @@ + NULL, NULL, NULL); + } + - av_write_header(rv->of); + if (avformat_write_header(rv->of, NULL) < 0) { + fprintf(stderr, "Couldn't set output parameters? " @@ -277,95 +271,92 @@ Index: source/blender/imbuf/intern/indexer.c + av_free(rv->of); + return 0; + } - - return rv; + + return rv; } -@@ -737,7 +735,7 @@ - memset(context->proxy_ctx, 0, sizeof(context->proxy_ctx)); - memset(context->indexer, 0, sizeof(context->indexer)); - +@@ -739,7 +737,7 @@ + memset(context->proxy_ctx, 0, sizeof(context->proxy_ctx)); + memset(context->indexer, 0, sizeof(context->indexer)); + - if (av_open_input_file(&context->iFormatCtx, anim->name, NULL, 0, NULL) != 0) { + if (avformat_open_input(&context->iFormatCtx, anim->name, NULL, NULL) != 0) { - MEM_freeN(context); - return NULL; - } -Index: source/blender/imbuf/intern/util.c -=================================================================== ---- source/blender/imbuf/intern/util.c (revision 47422) -+++ source/blender/imbuf/intern/util.c (working copy) -@@ -247,7 +247,7 @@ - - static int isffmpeg(const char *filename) + MEM_freeN(context); + return NULL; + } +diff -Naur blender-2.63a.orig/source/blender/imbuf/intern/util.c blender-2.63a/source/blender/imbuf/intern/util.c +--- blender-2.63a.orig/source/blender/imbuf/intern/util.c 2012-05-10 11:50:59.000000000 -0300 ++++ blender-2.63a/source/blender/imbuf/intern/util.c 2012-07-10 18:40:49.950377886 -0300 +@@ -243,7 +243,7 @@ + + static int isffmpeg (const char *filename) { - AVFormatContext *pFormatCtx; + AVFormatContext *pFormatCtx = NULL; - unsigned int i; - int videoStream; - AVCodec *pCodec; -@@ -268,7 +268,7 @@ - return 0; - } - -- if (av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL) != 0) { -+ if (avformat_open_input(&pFormatCtx, filename, NULL, NULL) != 0) { - if (UTIL_DEBUG) fprintf(stderr, "isffmpeg: av_open_input_file failed\n"); - return 0; - } -Index: source/gameengine/VideoTexture/VideoFFmpeg.cpp -=================================================================== ---- source/gameengine/VideoTexture/VideoFFmpeg.cpp (revision 47422) -+++ source/gameengine/VideoTexture/VideoFFmpeg.cpp (working copy) + unsigned int i; + int videoStream; + AVCodec *pCodec; +@@ -261,7 +261,7 @@ + BLI_testextensie(filename, ".cin") || + BLI_testextensie(filename, ".wav")) return 0; + +- if (av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)!=0) { ++ if (avformat_open_input(&pFormatCtx, filename, NULL, NULL)!=0) { + if (UTIL_DEBUG) fprintf(stderr, "isffmpeg: av_open_input_file failed\n"); + return 0; + } +diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp +--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-05-10 11:48:50.000000000 -0300 ++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2012-07-10 18:56:03.696998071 -0300 @@ -162,14 +162,14 @@ } - - + + -int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams) +int VideoFFmpeg::openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams) { - AVFormatContext *formatCtx; + AVFormatContext *formatCtx = NULL; - int i, videoStream; - AVCodec *codec; - AVCodecContext *codecCtx; - + int i, videoStream; + AVCodec *codec; + AVCodecContext *codecCtx; + - if (av_open_input_file(&formatCtx, filename, inputFormat, 0, formatParams)!=0) + if (avformat_open_input(&formatCtx, filename, inputFormat, formatParams)!=0) - return -1; - - if (av_find_stream_info(formatCtx)<0) + return -1; + + if (av_find_stream_info(formatCtx)<0) @@ -545,11 +545,7 @@ - // but it is really not desirable to seek on http file, so force streaming. - // It would be good to find this information from the context but there are no simple indication - !strncmp(filename, "http://", 7) || + // but it is really not desirable to seek on http file, so force streaming. + // It would be good to find this information from the context but there are no simple indication + !strncmp(filename, "http://", 7) || -#ifdef FFMPEG_PB_IS_POINTER - (m_formatCtx->pb && m_formatCtx->pb->is_streamed) -#else - m_formatCtx->pb.is_streamed -#endif + (m_formatCtx->pb && !m_formatCtx->pb->seekable) - ) - { - // the file is in fact a streaming source, treat as cam to prevent seeking -@@ -586,14 +582,12 @@ + ) + { + // the file is in fact a streaming source, treat as cam to prevent seeking +@@ -586,13 +582,11 @@ { - // open camera source - AVInputFormat *inputFormat; + // open camera source + AVInputFormat *inputFormat; - AVFormatParameters formatParams; - AVRational frameRate; + AVDictionary *formatParams = NULL; - char filename[28], rateStr[20]; - char *p; - - do_init_ffmpeg(); - + char *p, filename[28], rateStr[20]; + + do_init_ffmpeg(); + - memset(&formatParams, 0, sizeof(formatParams)); #ifdef WIN32 - // video capture on windows only through Video For Windows driver - inputFormat = av_find_input_format("vfwcap"); -@@ -623,7 +617,13 @@ - sprintf(filename, "/dev/dv1394/%d", camIdx); - } else - { + // video capture on windows only through Video For Windows driver + inputFormat = av_find_input_format("vfwcap"); +@@ -622,7 +616,13 @@ + sprintf(filename, "/dev/dv1394/%d", camIdx); + } else + { - inputFormat = av_find_input_format("video4linux"); + const char *formats[] = {"video4linux2,v4l2", "video4linux2", "video4linux"}; + int i, formatsCount = sizeof(formats) / sizeof(char*); @@ -374,23 +365,23 @@ Index: source/gameengine/VideoTexture/VideoFFmpeg.cpp + if (inputFormat) + break; + } - sprintf(filename, "/dev/video%d", camIdx); - } - if (!inputFormat) -@@ -637,20 +637,22 @@ - if ((p = strchr(filename, ':')) != 0) - *p = 0; - } + sprintf(filename, "/dev/video%d", camIdx); + } + if (!inputFormat) +@@ -636,20 +636,22 @@ + if ((p = strchr(filename, ':')) != 0) + *p = 0; + } - if (file && (p = strchr(file, ':')) != NULL) - formatParams.standard = p+1; + if (file && (p = strchr(file, ':')) != NULL) { + av_dict_set(&formatParams, "standard", p+1, 0); + } #endif - //frame rate - if (m_captRate <= 0.f) - m_captRate = defFrameRate; - sprintf(rateStr, "%f", m_captRate); + //frame rate + if (m_captRate <= 0.f) + m_captRate = defFrameRate; + sprintf(rateStr, "%f", m_captRate); - av_parse_video_rate(&frameRate, rateStr); - // populate format parameters - // need to specify the time base = inverse of rate @@ -406,26 +397,25 @@ Index: source/gameengine/VideoTexture/VideoFFmpeg.cpp + BLI_snprintf(video_size, sizeof(video_size), "%dx%d", m_captWidth, m_captHeight); + av_dict_set(&formatParams, "video_size", video_size, 0); + } - - if (openStream(filename, inputFormat, &formatParams) != 0) - return; -@@ -665,6 +667,8 @@ - // no need to thread if the system has a single core - m_isThreaded = true; - } + + if (openStream(filename, inputFormat, &formatParams) != 0) + return; +@@ -664,6 +666,8 @@ + // no need to thread if the system has a single core + m_isThreaded = true; + } + + av_dict_free(&formatParams); } - + // play video -Index: source/gameengine/VideoTexture/VideoFFmpeg.h -=================================================================== ---- source/gameengine/VideoTexture/VideoFFmpeg.h (revision 47422) -+++ source/gameengine/VideoTexture/VideoFFmpeg.h (working copy) +diff -Naur blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h +--- blender-2.63a.orig/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-05-10 11:48:50.000000000 -0300 ++++ blender-2.63a/source/gameengine/VideoTexture/VideoFFmpeg.h 2012-07-10 18:57:21.710327435 -0300 @@ -46,10 +46,6 @@ # define FFMPEG_CODEC_IS_POINTER 1 #endif - + -#if LIBAVFORMAT_VERSION_INT >= (52 << 16) -# define FFMPEG_PB_IS_POINTER 1 -#endif @@ -434,11 +424,11 @@ Index: source/gameengine/VideoTexture/VideoFFmpeg.h static inline AVCodecContext* get_codec_from_stream(AVStream* stream) { @@ -172,7 +168,7 @@ - double actFrameRate (void) { return m_frameRate * m_baseFrameRate; } - - /// common function to video file and capture + double actFrameRate (void) { return m_frameRate * m_baseFrameRate; } + + /// common function to video file and capture - int openStream(const char *filename, AVInputFormat *inputFormat, AVFormatParameters *formatParams); + int openStream(const char *filename, AVInputFormat *inputFormat, AVDictionary **formatParams); - - /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved - AVFrame* grabFrame(long frame); + + /// check if a frame is available and load it in pFrame, return true if a frame could be retrieved + AVFrame* grabFrame(long frame); diff --git a/libre/libquicktime-libre/PKGBUILD b/libre/libquicktime-libre/PKGBUILD index 2b3c84263..b800c1444 100644 --- a/libre/libquicktime-libre/PKGBUILD +++ b/libre/libquicktime-libre/PKGBUILD @@ -1,11 +1,11 @@ # $Id$ # Maintainer: Mateusz Herych <heniekk@gmail.com> -# Contributor (Parabola): Jorge Lopez <jorginho@adinet.com.uy> +# Contributor (Parabola): Jorge Lopez <jorginho@lavabit.com> pkgname=libquicktime-libre _pkgname=libquicktime pkgver=1.2.4 -pkgrel=1 +pkgrel=2 pkgdesc="A library for reading and writing quicktime files (no unfree faac support)." arch=('i686' 'x86_64') license=('GPL') diff --git a/libre/mplayer-libre/PKGBUILD b/libre/mplayer-libre/PKGBUILD index 703d740c4..3e9d0a44d 100644 --- a/libre/mplayer-libre/PKGBUILD +++ b/libre/mplayer-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 160672 2012-06-03 16:16:53Z ibiru $ +# $Id: PKGBUILD 163126 2012-07-07 16:29:25Z ibiru $ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Hugo Doria <hugo@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@lavabit.com> @@ -6,17 +6,17 @@ _pkgbase=mplayer pkgbase=mplayer-libre pkgname=('mplayer-libre' 'mencoder-libre') -pkgver=34992 +pkgver=35014 pkgrel=1 arch=('i686' 'x86_64') makedepends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libxinerama' 'sdl' 'lame' 'libtheora' 'xvidcore' 'libmng' 'libxss' 'libgl' 'smbclient' 'aalib' 'jack' 'libcaca' 'x264' 'faad2' 'lirc-utils' 'libxvmc' 'enca' 'libvdpau' 'opencore-amr' 'libdca' 'a52dec' 'schroedinger' 'libvpx' -'libpulse' 'fribidi' 'unzip-libre' 'mesa' 'live-media' 'yasm' 'git' 'fontconfig' 'mpg123' 'ladspa' 'libass' 'libbluray' 'libcdio') +'libpulse' 'fribidi' 'unzip-libre' 'mesa' 'live-media' 'yasm' 'git' 'fontconfig' 'mpg123' 'ladspa' 'libass' 'libbluray' 'libcdio' 'subversion') license=('GPL') url="http://www.mplayerhq.hu/" options=(!buildflags !emptydirs) source=(ftp://ftp.archlinux.org/other/$_pkgbase/$_pkgbase-$pkgver.tar.xz mplayer.desktop) -md5sums=('04642b1eb68671577ff53bb84839253a' +md5sums=('d0785560e5e8eb02e089728ef4412eae' 'c0d6ef795cf6de48e3b87ff7c23f0319') build() { @@ -39,8 +39,7 @@ build() { --enable-radio \ --enable-radio-capture \ --language=all \ - --confdir=/etc/mplayer \ - --extra-cflags="-fpermissive" + --confdir=/etc/mplayer [ "$CARCH" = "i686" ] && sed 's|-march=i486|-march=i686|g' -i config.mak make diff --git a/libre/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD index 9b3ace8f8..41f84e022 100644 --- a/libre/mplayer-vaapi-libre/PKGBUILD +++ b/libre/mplayer-vaapi-libre/PKGBUILD @@ -3,45 +3,40 @@ # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Hugo Doria <hugo@archlinux.org> # Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar> -# Contributor (Parabola): André Silva <emulatorman@lavabit.com> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> -_pkgname=mplayer-vaapi pkgname=mplayer-vaapi-libre -pkgver=34578 -pkgrel=6 -pkgdesc="A movie player, compiled with vaapi and without unfree faac support" +pkgver=35014 +pkgrel=1 +pkgdesc="A movie player, compiled with vaapi (without unfree faac support)" arch=('i686' 'x86_64') url="http://gitorious.org/vaapi/mplayer" license=('GPL') -depends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libcdio' 'libxinerama' 'sdl-libre' +depends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libcdio' 'libxinerama' 'sdl' 'lame' 'fontconfig' 'libtheora' 'xvidcore' 'libmng' 'libxss' 'mesa' 'smbclient' 'aalib' 'jack' 'libcaca' 'x264' 'speex' 'faad2' 'lirc-utils' 'ttf-dejavu' 'libxvmc' 'enca' 'opencore-amr' 'libdca' - 'a52dec' 'schroedinger' 'mpg123' 'libvpx' 'libpulse' 'fribidi' 'faad2' - 'libva' 'libass' 'desktop-file-utils') + 'a52dec' 'schroedinger' 'mpg123' 'libvpx' 'libpulse' 'fribidi' + 'libbluray' 'libva' 'libass' 'desktop-file-utils') makedepends=('unzip-libre' 'live-media' 'yasm' 'ladspa' 'git') -provides=("$_pkgname=$pkgver" "mplayer=$pkgver") -conflicts=('mplayer' "$_pkgname") +provides=("mplayer=$pkgver" "mplayer-vaapi=$pkgver") +conflicts=('mplayer' 'mplayer-vaapi') replaces=('mplayer-vaapi') backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf') source=(http://pkgbuild.com/~foutrelis/mplayer-vaapi-$pkgver.tar.xz - tweak-desktop-file.patch - mplayer.png - live-media.patch) + tweak-desktop-file.patch) options=('!buildflags' '!emptydirs') install=mplayer-vaapi.install -sha256sums=('cc35a057c8a64d2cdec2dc0a037811ef0f91dd03cd3d07465c7272a08665a37d' - '5b39f0a61969bf330c4434cb17975101be93c27334f65e154e4a93033033e795' - '061739a8cc267748ad58f168034cc39785d949a5262772535e1b347c7842af48' - '9c1400f27dd2ea54c125c66ed1af0eab19761b1b2ae808fa491cd3732fd8a685') +sha256sums=('db19a938e7de46aad567b6d7d8866ec6cb3919a29d60236609a83ebf4e1bb5f0' + '5a09fb462729a4e573568f9e8c1f57dbe7f69c0b68cfa4f6d70b3e52c450d93b') build() { cd "$srcdir/mplayer-vaapi-$pkgver" patch -d etc -Np0 -i "$srcdir/tweak-desktop-file.patch" - patch -Np0 -i "$srcdir/live-media.patch" - ./configure --prefix=/usr \ + ./configure \ + --prefix=/usr \ --enable-runtime-cpudetection \ --disable-gui \ --disable-arts \ @@ -56,6 +51,8 @@ build() { --disable-ass-internal \ --disable-faac \ --enable-xvmc \ + --enable-radio \ + --enable-radio-capture \ --disable-vdpau \ --enable-vaapi \ --language=all \ @@ -69,13 +66,13 @@ build() { package() { cd "$srcdir/mplayer-vaapi-$pkgver" - make -j1 DESTDIR="$pkgdir" install-mplayer install-mplayer-man + make DESTDIR="$pkgdir" install-mplayer install-mplayer-man install -Dm644 etc/{codecs.conf,input.conf,example.conf} "$pkgdir/etc/mplayer/" install -Dm644 etc/mplayer.desktop "$pkgdir/usr/share/applications/mplayer.desktop" install -d "$pkgdir/usr/share/mplayer/" ln -s /usr/share/fonts/TTF/DejaVuSans.ttf "$pkgdir/usr/share/mplayer/subfont.ttf" rm -rf "$pkgdir/usr/share/mplayer/font" - install -Dm644 "$srcdir/mplayer.png" "$pkgdir/usr/share/pixmaps/mplayer.png" + install -Dm644 etc/mplayer256x256.png "$pkgdir/usr/share/pixmaps/mplayer.png" } # vim:set ts=2 sw=2 et: diff --git a/libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch b/libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch deleted file mode 100644 index 58daa09e7..000000000 --- a/libre/mplayer-vaapi-libre/gcc-4.6-mp3lib-sse-code-miscompilation.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: mp3lib/dct64_sse.c -=================================================================== ---- mp3lib/dct64_sse.c (revision 33468) -+++ mp3lib/dct64_sse.c (revision 33469) -@@ -112,7 +112,6 @@ - } - - { -- real *costab = costab_mmx + 24; - int i; - - __asm__( -@@ -121,7 +120,7 @@ - "movaps %1, %%xmm5\n\t" - "movaps %%xmm5, %%xmm6\n\t" - : -- :"m"(*costab), "m"(*nnnn) -+ :"m"(costab_mmx[24]), "m"(*nnnn) - ); - - for (i = 0; i < 0x20; i += 8) diff --git a/libre/mplayer-vaapi-libre/live-media.patch b/libre/mplayer-vaapi-libre/live-media.patch deleted file mode 100644 index 73a6451f5..000000000 --- a/libre/mplayer-vaapi-libre/live-media.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: libmpdemux/demux_rtp.cpp -=================================================================== ---- libmpdemux/demux_rtp.cpp (revision 34798) -+++ libmpdemux/demux_rtp.cpp (working copy) -@@ -19,6 +19,8 @@ - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -+#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1 -+ - extern "C" { - // on MinGW, we must include windows.h before the things it conflicts - #ifdef __MINGW32__ // with. they are each protected from diff --git a/libre/mplayer-vaapi-libre/mplayer-vaapi.install b/libre/mplayer-vaapi-libre/mplayer-vaapi.install index af56cdbf4..a44f19aef 100644 --- a/libre/mplayer-vaapi-libre/mplayer-vaapi.install +++ b/libre/mplayer-vaapi-libre/mplayer-vaapi.install @@ -1,9 +1,11 @@ post_install() { - update-desktop-database -q + update-desktop-database -q } post_upgrade() { - post_install + post_install } post_remove() { - post_install + post_install } + +# vim:set ts=2 sw=2 et: diff --git a/libre/mplayer-vaapi-libre/mplayer.desktop b/libre/mplayer-vaapi-libre/mplayer.desktop deleted file mode 100644 index e3229d042..000000000 --- a/libre/mplayer-vaapi-libre/mplayer.desktop +++ /dev/null @@ -1,21 +0,0 @@ -[Desktop Entry] -Type=Application -Name=MPlayer Media Player -Name[ca]=Reproductor multimèdia MPlayer -Name[pl]=MPlayer odtwarzacz multimedialny -GenericName=Multimedia player -Comment=Play movies and songs -Comment[ca]=Reproduïu vídeos i cançons -Comment[de]=Filme und Musik abspielen -Comment[es]=Reproduzca vídeos y canciones -Comment[fr]=Lecteur multimédia -Comment[it]=Lettore multimediale -Comment[zh]=多媒体播放器 -Comment[pl]=Odtwarzaj filmy i muzykę -Icon=mplayer -TryExec=mplayer -Exec=mplayer -really-quiet %F -Terminal=false -NoDisplay=true -Categories=GTK;AudioVideo;Audio;Video;Player;TV; -MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/mp4;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-flv;video/x-theora;video/x-matroska; diff --git a/libre/mplayer-vaapi-libre/mplayer.png b/libre/mplayer-vaapi-libre/mplayer.png Binary files differdeleted file mode 100644 index 799769335..000000000 --- a/libre/mplayer-vaapi-libre/mplayer.png +++ /dev/null diff --git a/libre/mplayer-vaapi-libre/patch-fixes.patch b/libre/mplayer-vaapi-libre/patch-fixes.patch deleted file mode 100644 index 5da97d1d9..000000000 --- a/libre/mplayer-vaapi-libre/patch-fixes.patch +++ /dev/null @@ -1,491 +0,0 @@ -diff -upr mplayer-vaapi-20110127.orig/patches/mplayer-vaapi-0.29.patch mplayer-vaapi-20110127/patches/mplayer-vaapi-0.29.patch ---- mplayer-vaapi-20110127.orig/patches/mplayer-vaapi-0.29.patch 2011-01-27 17:15:16.000000000 +0200 -+++ mplayer-vaapi-20110127/patches/mplayer-vaapi-0.29.patch 2011-03-30 21:22:32.000000000 +0300 -@@ -434,7 +434,7 @@ diff --git a/ffmpeg/libavcodec/vaapi_vc1 - index 34e9056..b29e50e 100644 - --- a/ffmpeg/libavcodec/vaapi_vc1.c - +++ b/ffmpeg/libavcodec/vaapi_vc1.c --@@ -146,101 +146,103 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t -+@@ -146,103 +146,103 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t - pic_param = ff_vaapi_alloc_pic_param(vactx, sizeof(VAPictureParameterBufferVC1)); - if (!pic_param) - return -1; -@@ -452,7 +452,9 @@ index 34e9056..b29e50e 100644 - - pic_param->sequence_fields.bits.syncmarker = s->resync_marker; - - pic_param->sequence_fields.bits.rangered = v->rangered; - - pic_param->sequence_fields.bits.max_b_frames = s->avctx->max_b_frames; -+-#if VA_CHECK_VERSION(0,32,0) - - pic_param->sequence_fields.bits.profile = v->profile; -+-#endif - - pic_param->coded_width = s->avctx->coded_width; - - pic_param->coded_height = s->avctx->coded_height; - - pic_param->entrypoint_fields.value = 0; /* reset all bits */ -diff -upr mplayer-vaapi-20110127.orig/patches/mplayer-vaapi.patch mplayer-vaapi-20110127/patches/mplayer-vaapi.patch ---- mplayer-vaapi-20110127.orig/patches/mplayer-vaapi.patch 2011-01-27 17:15:29.000000000 +0200 -+++ mplayer-vaapi-20110127/patches/mplayer-vaapi.patch 2011-03-30 21:09:14.000000000 +0300 -@@ -207,15 +207,6 @@ index 1e0f7fc..45e4574 100755 - echocheck "Xv" - if test "$_xv" = auto ; then - _xv=no --@@ -4372,7 +4435,7 @@ if test "$_vdpau" = yes ; then -- else -- def_vdpau='#define CONFIG_VDPAU 0' -- novomodules="vdpau $novomodules" --- libavdecoders=$(echo $libavdecoders | sed -e s/MPEG_VDPAU_DECODER// -e s/MPEG1_VDPAU_DECODER// -e s/H264_VDPAU_DECODER// -e s/WMV3_VDPAU_DECODER// -e s/VC1_VDPAU_DECODER// -e s/MPEG4_VDPAU_DECODER//) --+ libavdecoders=$(echo $libavdecoders | sed -e "s/\(MPEG\|MPEG[124]\|H26[34]\|WMV3\|VC1\)_VDPAU_DECODER//g") -- fi -- echores "$_vdpau" -- - @@ -4791,6 +4854,31 @@ echores "$_corevideo" - fi #if darwin - -@@ -433,30 +424,19 @@ index d353bb5..e39a926 100644 - out YV12,I420,IYUV - - videocodec ffzygo --diff --git a/ffmpeg/libavcodec/vaapi_vc1.c b/ffmpeg/libavcodec/vaapi_vc1.c --index 2c24042..34e9056 100644 ----- a/ffmpeg/libavcodec/vaapi_vc1.c --+++ b/ffmpeg/libavcodec/vaapi_vc1.c --@@ -160,6 +160,7 @@ static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t -- pic_param->sequence_fields.bits.syncmarker = s->resync_marker; -- pic_param->sequence_fields.bits.rangered = v->rangered; -- pic_param->sequence_fields.bits.max_b_frames = s->avctx->max_b_frames; --+ pic_param->sequence_fields.bits.profile = v->profile; -- pic_param->coded_width = s->avctx->coded_width; -- pic_param->coded_height = s->avctx->coded_height; -- pic_param->entrypoint_fields.value = 0; /* reset all bits */ - diff --git a/fmt-conversion.c b/fmt-conversion.c - index 9e88100..bd32ce8 100644 - --- a/fmt-conversion.c - +++ b/fmt-conversion.c --@@ -18,12 +18,14 @@ -+@@ -18,6 +18,7 @@ - - #include "mp_msg.h" - #include "libavutil/avutil.h" - +#include "libavcodec/avcodec.h" - #include "libmpcodecs/img_format.h" -- #include "fmt-conversion.h" -- -+ #include "libavutil/samplefmt.h" -+ #include "libaf/af_format.h" -+@@ -26,6 +27,7 @@ - static const struct { - int fmt; - enum PixelFormat pix_fmt; -@@ -503,14 +483,15 @@ diff --git a/fmt-conversion.h b/fmt-conv - index 9e133a8..962ca4e 100644 - --- a/fmt-conversion.h - +++ b/fmt-conversion.h --@@ -23,6 +23,6 @@ -- #include "libavutil/avutil.h" -+@@ -24,7 +24,7 @@ -+ #include "libavutil/samplefmt.h" - - enum PixelFormat imgfmt2pixfmt(int fmt); - -int pixfmt2imgfmt(enum PixelFormat pix_fmt); - +int pixfmt2imgfmt(enum PixelFormat pix_fmt, int codec_id); -+ enum AVSampleFormat affmt2samplefmt(int fmt); -+ int samplefmt2affmt(enum AVSampleFormat sample_fmt); - -- #endif /* MPLAYER_FMT_CONVERSION_H */ - diff --git a/gui/mplayer/gtk/opts.c b/gui/mplayer/gtk/opts.c - index 4f7ffb2..0da5434 100644 - --- a/gui/mplayer/gtk/opts.c -@@ -808,7 +789,7 @@ index 7c68a20..609ac41 100644 - sh_video_t *sh = avctx->opaque; - vd_ffmpeg_ctx *ctx = sh->context; - @@ -295,6 +296,12 @@ static int init(sh_video_t *sh){ -- avctx->codec_type = CODEC_TYPE_VIDEO; -+ avctx->codec_type = AVMEDIA_TYPE_VIDEO; - avctx->codec_id = lavc_codec->id; - - +#if CONFIG_VAAPI -@@ -817,9 +798,9 @@ index 7c68a20..609ac41 100644 - + avctx->get_format = get_format; - + } - +#endif /* CONFIG_VAAPI */ -- #if CONFIG_VDPAU -- if(lavc_codec->capabilities & CODEC_CAP_HWACCEL_VDPAU){ -- avctx->get_format = get_format; -+ avctx->get_format = get_format; -+ if(ctx->do_dr1){ -+ avctx->flags|= CODEC_FLAG_EMU_EDGE; - @@ -487,7 +494,7 @@ static void draw_slice(struct AVCodecContext *s, - const AVFrame *src, int offset[4], - int y, int type, int height){ -@@ -841,12 +822,10 @@ index 7c68a20..609ac41 100644 - ctx->vo_initialized = 1; - } - return 0; --@@ -972,24 +980,62 @@ static mp_image_t *decode(sh_video_t *sh, void *data, int len, int flags){ -+@@ -974,22 +974,60 @@ static mp_image_t *decode(sh_video_t *sh - return mpi; - } - ---#if CONFIG_XVMC || CONFIG_VDPAU --+#if CONFIG_XVMC || CONFIG_VAAPI || CONFIG_VDPAU - +static inline int is_hwaccel_format(int imgfmt) - +{ - + switch (get_video_hwaccel()) { -@@ -883,15 +862,14 @@ index 7c68a20..609ac41 100644 - int imgfmt; - sh_video_t *sh = avctx->opaque; - - int i; --- -++ int i, try_hwaccel; -+ - - for(i=0;fmt[i]!=PIX_FMT_NONE;i++){ - - imgfmt = pixfmt2imgfmt(fmt[i]); - - if(!IMGFMT_IS_HWACCEL(imgfmt)) continue; - - mp_msg(MSGT_DECVIDEO, MSGL_INFO, MSGTR_MPCODECS_TryingPixfmt, i); - - if(init_vo(sh, fmt[i]) >= 0) { - - break; --+ int i, try_hwaccel; --+ - + for (try_hwaccel = 1; try_hwaccel >= 0; --try_hwaccel) { - + for (i = 0; fmt[i] != PIX_FMT_NONE; i++) { - + imgfmt = pixfmt2imgfmt(fmt[i], avctx->codec_id); -@@ -912,11 +890,9 @@ index 7c68a20..609ac41 100644 - + break; - } - - selected_format = fmt[i]; -+ if (selected_format == PIX_FMT_NONE) -+ selected_format = avcodec_default_get_format(avctx, fmt); - set_format_params(avctx, selected_format); -- return selected_format; -- } ---#endif /* CONFIG_XVMC || CONFIG_VDPAU */ --+#endif /* CONFIG_XVMC || CONFIG_VAAPI || CONFIG_VDPAU */ - diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h - index 3619e69..fd869b7 100644 - --- a/libmpcodecs/vf.h -diff -upr mplayer-vaapi-20110127.orig/patches/mplayer-vdpau.patch mplayer-vaapi-20110127/patches/mplayer-vdpau.patch ---- mplayer-vaapi-20110127.orig/patches/mplayer-vdpau.patch 2010-11-15 08:41:19.000000000 +0200 -+++ mplayer-vaapi-20110127/patches/mplayer-vdpau.patch 2011-03-30 22:29:47.000000000 +0300 -@@ -11,15 +11,6 @@ index 91fd164..1f4434e 100755 - libavdemuxers_all=$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]') - libavdemuxers=$(echo $libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/AVISYNTH_DEMUXER//) - libavmuxers_all=$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]') --@@ -4466,7 +4466,7 @@ if test "$_vdpau" = yes ; then -- else -- def_vdpau='#define CONFIG_VDPAU 0' -- novomodules="vdpau $novomodules" --- libavdecoders=$(echo $libavdecoders | sed -e "s/\(MPEG\|MPEG[124]\|H26[34]\|WMV3\|VC1\)_VDPAU_DECODER//g") --+ libavhwaccels=$(echo $libavhwaccels | sed -e "s/\(MPEG[124]\|H26[34]\|WMV3\|VC1\)_VDPAU_HWACCEL//g") -- fi -- echores "$_vdpau" -- - diff --git a/etc/codecs.conf b/etc/codecs.conf - index b0d00f4..745d3e4 100644 - --- a/etc/codecs.conf -@@ -48,7 +39,7 @@ index b0d00f4..745d3e4 100644 - out YV12,I420,IYUV - out 422P,444P - --@@ -332,41 +335,6 @@ videocodec ffmpeg12mc -+@@ -332,38 +335,6 @@ videocodec ffmpeg12mc - out IDCT_MPEG2 - out MOCO_MPEG2 - -@@ -73,9 +64,6 @@ index b0d00f4..745d3e4 100644 - - fourcc xdv7,xdv8,xdv9 - - fourcc xdva,xdvb,xdvc - - fourcc xdvd,xdve,xdvf --- fourcc xd5a,xd5b,xd5c --- fourcc xd5d,xd5e,xd5f --- fourcc xd59,xd54 - - fourcc mx5n,mx4n,mx4p - - fourcc mx3n,mx3p - - fourcc AVmp -@@ -87,9 +75,9 @@ index b0d00f4..745d3e4 100644 - - out VDPAU_MPEG1 - - out VDPAU_MPEG2 - - -- videocodec mpegpes -- info "MPEG-PES output (.mpg or DXR3/IVTV/DVB/V4L2 card)" -- comment "for hardware decoding" -+ videocodec ffmpeg2crystalhd -+ info "FFmpeg MPEG-2 (CrystalHD)" -+ status working - @@ -943,6 +911,7 @@ videocodec ffwmv3 - driver ffmpeg - dll wmv3 -@@ -133,7 +121,7 @@ index b0d00f4..745d3e4 100644 - - videocodec ffh264 - info "FFmpeg H.264" --@@ -993,19 +947,8 @@ videocodec ffh264 -+@@ -993,21 +947,8 @@ videocodec ffh264 - driver ffmpeg - dll h264 - out VAAPI_H264 -@@ -146,6 +134,8 @@ index b0d00f4..745d3e4 100644 - - fourcc X264,x264 - - fourcc avc1,AVC1 - - fourcc davc,DAVC -+- fourcc ai55,ai15 ; flip4mac avc intra -+- fourcc ai1q,ai5q ; flip4mac avc intra - - format 0x10000005 - - driver ffmpeg - - dll h264_vdpau -@@ -200,55 +190,41 @@ diff --git a/ffmpeg/libavcodec/allcodecs - index fbae0f6..4b6d2e9 100644 - --- a/ffmpeg/libavcodec/allcodecs.c - +++ b/ffmpeg/libavcodec/allcodecs.c --@@ -65,6 +65,13 @@ void avcodec_register_all(void) -- REGISTER_HWACCEL (WMV3_DXVA2, wmv3_dxva2); -- REGISTER_HWACCEL (WMV3_VAAPI, wmv3_vaapi); -- --+ REGISTER_HWACCEL (H264_VDPAU, h264_vdpau); --+ REGISTER_HWACCEL (MPEG1_VDPAU, mpeg1_vdpau); --+ REGISTER_HWACCEL (MPEG2_VDPAU, mpeg2_vdpau); --+ REGISTER_HWACCEL (MPEG4_VDPAU, mpeg4_vdpau); --+ REGISTER_HWACCEL (VC1_VDPAU, vc1_vdpau); --+ REGISTER_HWACCEL (WMV3_VDPAU, wmv3_vdpau); --+ -- /* video codecs */ -- REGISTER_ENCODER (A64MULTI, a64multi); -- REGISTER_ENCODER (A64MULTI5, a64multi5); - @@ -116,7 +123,6 @@ void avcodec_register_all(void) -- REGISTER_DECODER (H263I, h263i); - REGISTER_ENCODER (H263P, h263p); - REGISTER_DECODER (H264, h264); -+ REGISTER_DECODER (H264_CRYSTALHD, h264_crystalhd); - - REGISTER_DECODER (H264_VDPAU, h264_vdpau); - REGISTER_ENCDEC (HUFFYUV, huffyuv); - REGISTER_DECODER (IDCIN, idcin); - REGISTER_DECODER (IFF_BYTERUN1, iff_byterun1); - @@ -140,10 +146,7 @@ void avcodec_register_all(void) -- REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video); - REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video); - REGISTER_ENCDEC (MPEG4, mpeg4); -+ REGISTER_DECODER (MPEG4_CRYSTALHD, mpeg4_crystalhd); - - REGISTER_DECODER (MPEG4_VDPAU, mpeg4_vdpau); - REGISTER_DECODER (MPEGVIDEO, mpegvideo); - - REGISTER_DECODER (MPEG_VDPAU, mpeg_vdpau); - - REGISTER_DECODER (MPEG1_VDPAU, mpeg1_vdpau); -+ REGISTER_DECODER (MPEG2_CRYSTALHD, mpeg2_crystalhd); -+ REGISTER_DECODER (MSMPEG4_CRYSTALHD, msmpeg4_crystalhd); - REGISTER_ENCDEC (MSMPEG4V1, msmpeg4v1); -- REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2); -- REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3); - @@ -196,7 +199,6 @@ void avcodec_register_all(void) -- REGISTER_DECODER (V210X, v210x); - REGISTER_DECODER (VB, vb); - REGISTER_DECODER (VC1, vc1); -+ REGISTER_DECODER (VC1_CRYSTALHD, vc1_crystalhd); - - REGISTER_DECODER (VC1_VDPAU, vc1_vdpau); - REGISTER_DECODER (VCR1, vcr1); - REGISTER_DECODER (VMDVIDEO, vmdvideo); - REGISTER_DECODER (VMNC, vmnc); - @@ -210,7 +212,6 @@ void avcodec_register_all(void) -- REGISTER_ENCDEC (WMV1, wmv1); - REGISTER_ENCDEC (WMV2, wmv2); - REGISTER_DECODER (WMV3, wmv3); -+ REGISTER_DECODER (WMV3_CRYSTALHD, wmv3_crystalhd); - - REGISTER_DECODER (WMV3_VDPAU, wmv3_vdpau); - REGISTER_DECODER (WNV1, wnv1); - REGISTER_DECODER (XAN_WC3, xan_wc3); -- REGISTER_DECODER (XL, xl); -+ REGISTER_DECODER (XAN_WC4, xan_wc4); - diff --git a/ffmpeg/libavcodec/avcodec.h b/ffmpeg/libavcodec/avcodec.h - index bff9477..1e77fa6 100644 - --- a/ffmpeg/libavcodec/avcodec.h -@@ -285,9 +261,9 @@ index b0a3a8a..b5b9026 100644 - #include "mpeg4video_parser.h" - #include "msmpeg4.h" - -#include "vdpau_internal.h" -+ #include "thread.h" - #include "flv.h" - #include "mpeg4video.h" -- - @@ -620,11 +619,6 @@ retry: - if(MPV_frame_start(s, avctx) < 0) - return -1; -@@ -305,23 +281,23 @@ index f99f7ea..faafa97 100644 - --- a/ffmpeg/libavcodec/h264.c - +++ b/ffmpeg/libavcodec/h264.c - @@ -37,7 +37,6 @@ -- #include "golomb.h" - #include "mathops.h" - #include "rectangle.h" -+ #include "thread.h" - -#include "vdpau_internal.h" - #include "libavutil/avassert.h" - - #include "cabac.h" - @@ -1647,9 +1646,6 @@ static void field_end(H264Context *h){ -- s->current_picture_ptr->qscale_type= FF_QSCALE_TYPE_H264; -- s->current_picture_ptr->pict_type= s->pict_type; -+ ff_thread_report_progress((AVFrame*)s->current_picture_ptr, (16*s->mb_height >> FIELD_PICTURE) - 1, -+ s->picture_structure==PICT_BOTTOM_FIELD); - - - if (CONFIG_H264_VDPAU_DECODER && s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU) - - ff_vdpau_h264_set_reference_frames(s); - - -- if(!s->dropable) { -- ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index); -- h->prev_poc_msb= h->poc_msb; -+ if(in_setup || !(avctx->active_thread_type&FF_THREAD_FRAME)){ -+ if(!s->dropable) { -+ ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index); - @@ -1663,9 +1659,6 @@ static void field_end(H264Context *h){ - av_log(avctx, AV_LOG_ERROR, "hardware accelerator failed to decode picture\n"); - } -@@ -362,13 +338,13 @@ index f99f7ea..faafa97 100644 - context_count++; - } - break; --@@ -3408,20 +3392,3 @@ AVCodec h264_decoder = { -+@@ -3408,21 +3392,3 @@ AVCodec h264_decoder = { - .flush= flush_dpb, - .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"), - }; - - - -#if CONFIG_H264_VDPAU_DECODER ---AVCodec h264_vdpau_decoder = { -+-AVCodec ff_h264_vdpau_decoder = { - - "h264_vdpau", - - AVMEDIA_TYPE_VIDEO, - - CODEC_ID_H264, -@@ -381,6 +357,7 @@ index f99f7ea..faafa97 100644 - - .flush= flush_dpb, - - .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)"), - - .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_H264, PIX_FMT_NONE}, -+- .profiles = NULL_IF_CONFIG_SMALL(profiles), - -}; - -#endif - diff --git a/ffmpeg/libavcodec/mpeg12.c b/ffmpeg/libavcodec/mpeg12.c -@@ -449,7 +426,7 @@ index 6a331eb..c226797 100644 - - break; - - } - - -- if(avctx->thread_count > 1){ -+ if(HAVE_THREADS && avctx->active_thread_type&FF_THREAD_SLICE){ - int threshold= (s2->mb_height*s->slice_count + avctx->thread_count/2) / avctx->thread_count; - if(threshold <= mb_y){ - @@ -2578,36 +2561,3 @@ AVCodec mpeg_xvmc_decoder = { -@@ -458,7 +435,7 @@ index 6a331eb..c226797 100644 - #endif - - - -#if CONFIG_MPEG_VDPAU_DECODER ---AVCodec mpeg_vdpau_decoder = { -+-AVCodec ff_mpeg_vdpau_decoder = { - - "mpegvideo_vdpau", - - AVMEDIA_TYPE_VIDEO, - - CODEC_ID_MPEG2VIDEO, -@@ -474,7 +451,7 @@ index 6a331eb..c226797 100644 - -#endif - - - -#if CONFIG_MPEG1_VDPAU_DECODER ---AVCodec mpeg1_vdpau_decoder = { -+-AVCodec ff_mpeg1_vdpau_decoder = { - - "mpeg1video_vdpau", - - AVMEDIA_TYPE_VIDEO, - - CODEC_ID_MPEG1VIDEO, -@@ -500,7 +477,7 @@ index b339f78..1928d03 100644 - - - - - -#if CONFIG_MPEG4_VDPAU_DECODER ---AVCodec mpeg4_vdpau_decoder = { -+-AVCodec ff_mpeg4_vdpau_decoder = { - - "mpeg4_vdpau", - - AVMEDIA_TYPE_VIDEO, - - CODEC_ID_MPEG4, -@@ -527,9 +504,17 @@ index 9650066..5f8440b 100644 - PIX_FMT_NONE - }; - @@ -1064,7 +1065,6 @@ void MPV_frame_end(MpegEncContext *s) -- if(CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration){ - ff_xvmc_field_end(s); -- }else if(!s->avctx->hwaccel -+ }else if((s->error_count || s->encoding) -+ && !s->avctx->hwaccel -+- && !(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU) -+ && s->unrestricted_mv -+ && s->current_picture.reference -+ && !s->intra_only -+@@ -2254,7 +2254,6 @@ void ff_draw_horiz_band(MpegEncContext * -+ } -+ -+ if (!s->avctx->hwaccel - - && !(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU) - && s->unrestricted_mv - && s->current_picture.reference -@@ -582,13 +567,13 @@ index c9a547b..71c50e7 100644 - if (avctx->hwaccel->start_frame(avctx, buf, buf_size) < 0) - return -1; - if (avctx->hwaccel->decode_slice(avctx, buf_start, (buf + buf_size) - buf_start) < 0) --@@ -3376,37 +3364,3 @@ AVCodec wmv3_decoder = { -- .pix_fmts = ff_hwaccel_pixfmt_list_420 -+@@ -3376,39 +3364,3 @@ AVCodec wmv3_decoder = { -+ .profiles = NULL_IF_CONFIG_SMALL(profiles) - }; - #endif - - - -#if CONFIG_WMV3_VDPAU_DECODER ---AVCodec wmv3_vdpau_decoder = { -+-AVCodec ff_wmv3_vdpau_decoder = { - - "wmv3_vdpau", - - AVMEDIA_TYPE_VIDEO, - - CODEC_ID_WMV3, -@@ -600,12 +585,13 @@ index c9a547b..71c50e7 100644 - - CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_HWACCEL_VDPAU, - - NULL, - - .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 VDPAU"), --- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_WMV3, PIX_FMT_NONE} -+- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_WMV3, PIX_FMT_NONE}, -+- .profiles = NULL_IF_CONFIG_SMALL(profiles) - -}; - -#endif - - - -#if CONFIG_VC1_VDPAU_DECODER ---AVCodec vc1_vdpau_decoder = { -+-AVCodec ff_vc1_vdpau_decoder = { - - "vc1_vdpau", - - AVMEDIA_TYPE_VIDEO, - - CODEC_ID_VC1, -@@ -617,7 +603,8 @@ index c9a547b..71c50e7 100644 - - CODEC_CAP_DR1 | CODEC_CAP_DELAY | CODEC_CAP_HWACCEL_VDPAU, - - NULL, - - .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1 VDPAU"), --- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_VC1, PIX_FMT_NONE} -+- .pix_fmts = (const enum PixelFormat[]){PIX_FMT_VDPAU_VC1, PIX_FMT_NONE}, -+- .profiles = NULL_IF_CONFIG_SMALL(profiles) - -}; - -#endif - diff --git a/ffmpeg/libavcodec/vdpau.c b/ffmpeg/libavcodec/vdpau.c -@@ -1163,9 +1150,9 @@ index 8ec91c8..2386a81 100644 - PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1 - PIX_FMT_Y400A, ///< 8bit gray, 8bit alpha - + PIX_FMT_VDPAU, ///< HW decoding with VDPAU, Picture.data[3] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers -+ PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian -+ PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian - PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions -- }; -- - diff --git a/fmt-conversion.c b/fmt-conversion.c - index bd32ce8..8994caa 100644 - --- a/fmt-conversion.c -@@ -1198,19 +1185,6 @@ index bd32ce8..8994caa 100644 - {0, PIX_FMT_NONE} - }; - --diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c --index 84b5430..aef79e9 100644 ----- a/libmpcodecs/vd_ffmpeg.c --+++ b/libmpcodecs/vd_ffmpeg.c --@@ -303,7 +303,7 @@ static int init(sh_video_t *sh){ -- } -- #endif /* CONFIG_VAAPI */ -- #if CONFIG_VDPAU --- if(lavc_codec->capabilities & CODEC_CAP_HWACCEL_VDPAU){ --+ if(get_video_hwaccel() == HWACCEL_VDPAU){ -- avctx->get_format = get_format; -- } -- #endif /* CONFIG_VDPAU */ - diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c - index 5133b66..0ce6104 100644 - --- a/libvo/vo_vdpau.c diff --git a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch index db0f377d2..606e356b0 100644 --- a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch +++ b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch @@ -1,19 +1,6 @@ ---- mplayer.desktop.orig 2012-05-13 19:25:26.000000000 +0300 -+++ mplayer.desktop 2012-05-13 19:32:19.000000000 +0300 -@@ -7,12 +7,6 @@ GenericName[de]=Medienwiedergabe - GenericName[fr]=Lecteur multimédia - GenericName[it]=Lettore multimediale - GenericName[ja]=メディアプレーヤー --X-GNOME-FullName=MPlayer Media Player --X-GNOME-FullName[ca]=MPlayer Reproductor multimèdia --X-GNOME-FullName[de]=MPlayer Medienwiedergabe --X-GNOME-FullName[fr]=MPlayer Lecteur multimédia --X-GNOME-FullName[it]=MPlayer Lettore multimediale --X-GNOME-FullName[ja]=MPlayer メディアプレーヤー - Comment=Play movies and songs - Comment[ca]=Reproduïu vídeos i cançons - Comment[de]=Filme und Musik wiedergeben -@@ -20,8 +14,9 @@ Comment[fr]=Lit les films et musiques +--- mplayer.desktop.orig 2012-07-08 22:18:27.000000000 +0300 ++++ mplayer.desktop 2012-07-08 22:19:08.000000000 +0300 +@@ -23,8 +23,9 @@ Comment[fr]=Lit les films et musiques Comment[it]=Riproduce filmati e musica Comment[ja]=動画や音声のファイルを再生します Icon=mplayer @@ -24,5 +11,4 @@ Terminal=false +NoDisplay=true Categories=GTK;AudioVideo;Audio;Video;Player;TV; --MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-theora;video/x-matroska;video/3gpp;application/x-flash-video; -+MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/mp4;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-flv;video/x-theora;video/x-matroska;video/3gpp;application/x-flash-video; + MimeType=application/mxf;application/x-netshow-channel;application/ogg;application/ram;application/vnd.rn-realmedia;application/x-shockwave-flash;application/smil;audio/ac3;audio/x-adpcm;audio/x-aiff;audio/AMR;audio/AMR-WB;audio/x-ape;audio/basic;audio/flac;audio/x-flac;audio/x-flac+ogg;audio/x-m4b;audio/x-matroska;audio/mp2;audio/mp4;audio/mpeg;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/ogg;audio/vnd.rn-realaudio;audio/x-scpls;audio/x-voc;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;video/3gpp;video/3gpp2;video/dv;video/x-flic;video/x-flv;video/x-matroska;video/mp2t;video/mp4;video/mpeg;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/ogg;video/x-ogm+ogg;video/quicktime;video/vnd.rn-realvideo;video/x-theora+ogg;video/webm; diff --git a/social/seeks/PKGBUILD b/social/seeks/PKGBUILD index 2ff5b8104..f686a2fc9 100644 --- a/social/seeks/PKGBUILD +++ b/social/seeks/PKGBUILD @@ -2,7 +2,7 @@ pkgname=seeks pkgver=0.4.1 -pkgrel=4 +pkgrel=5 pkgdesc="A social decentralized internet overlay for collaborative searches" arch=('i686' 'x86_64' 'mips64el') url="http://www.seeks-project.info/site/" diff --git a/~coadde/mesa-git/PKGBUILD b/~coadde/mesa-git/PKGBUILD index dfd4a9a75..a76a2376f 100644 --- a/~coadde/mesa-git/PKGBUILD +++ b/~coadde/mesa-git/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=mesa-git pkgname=('mesa-git') -true && pkgname=('mesa-git' 'libgl-git' 'osmesa-git' 'libglapi-git' 'libgbm-git' 'libgles-git' 'libegl-git' 'khrplatform-devel-git' 'ati-dri-git' 'intel-dri-git' 'nouveau-dri-git' 'svga-dri-git') +true && pkgname=('mesa-git' 'libgl-git' 'osmesa-git' 'libglapi-git' 'libgbm-git' 'libgles-git' 'libegl-git' 'khrplatform-devel-git' 'ati-dri-git' 'intel-dri-git' 'nouveau-dri-git') pkgver=20120612 pkgrel=1 _mesaver=8.1 @@ -252,12 +252,3 @@ package_nouveau-dri-git() { make -C ${srcdir}/build/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install } - -package_svga-dri-git() { - depends=("mesa-git") - conflicts=('svga-dri') - provides=("svga-dri=${_mesaver}") - pkgdesc="Gallium3D VMware guest GL driver" - - make -C ${srcdir}/build/src/gallium/targets/dri-vmwgfx DESTDIR="${pkgdir}" install -} |