diff --git a/media-video/ffmpeg/ffmpeg-0.10.2.recipe b/media-video/ffmpeg/ffmpeg-0.10.2.recipe deleted file mode 100644 index 6ab8f8847..000000000 --- a/media-video/ffmpeg/ffmpeg-0.10.2.recipe +++ /dev/null @@ -1,162 +0,0 @@ -SUMMARY="Audio and video recording, conversion, and streaming library" -DESCRIPTION=" -FFmpeg is a complete, cross-platform solution to record, convert and stream \ -audio and video. It includes libavcodec - the leading audio/video codec library. -" -HOMEPAGE="http://www.ffmpeg.org" -LICENSE=" - GNU LGPL v2.1 - GNU GPL v2 - " -COPYRIGHT=" - 2000-2003 Fabrice Bellard - 2003-2012 the FFmpeg developers - " -SRC_URI="http://www.ffmpeg.org/releases/ffmpeg-0.10.2.tar.bz2" -CHECKSUM_SHA256="2d990012091c07849843c456eb34ad015a00f45a66cba5be7c81a28e45fb6711" -REVISION="5" -ARCHITECTURES="x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86_gcc2 x86" - -if [ $effectiveTargetArchitecture == x86_gcc2 ]; then - PATCHES="ffmpeg-0.10.2-gcc2.patch" -fi - -PROVIDES=" - ffmpeg$secondaryArchSuffix = $portVersion compat >= 0.10 - lib:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53 - lib:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53 - lib:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2 - lib:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53 - lib:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51 - lib:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0 - lib:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2 - " -if [ -z "$secondaryArchSuffix" ]; then - PROVIDES="$PROVIDES - cmd:ffmpeg = $portVersion compat >= 0.10 - cmd:ffprobe = $portVersion compat >= 0.10 - cmd:ffserver = $portVersion compat >= 0.10 - " -fi - -REQUIRES=" - haiku$secondaryArchSuffix >= $haikuVersion - lib:libbz2$secondaryArchSuffix - lib:libogg$secondaryArchSuffix - lib:libspeex$secondaryArchSuffix - lib:libtheoradec$secondaryArchSuffix - lib:libtheoraenc$secondaryArchSuffix - lib:libvorbis$secondaryArchSuffix - lib:libvorbisenc$secondaryArchSuffix - lib:libvpx$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " -BUILD_REQUIRES=" - devel:libbz2$secondaryArchSuffix - devel:libogg$secondaryArchSuffix - devel:libspeex$secondaryArchSuffix - devel:libtheora$secondaryArchSuffix - devel:libvorbis$secondaryArchSuffix - devel:libvpx$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:awk - cmd:make - cmd:perl - cmd:pkg_config$secondaryArchSuffix - cmd:texi2html - cmd:yasm - " - -GLOBAL_WRITABLE_FILES=" - settings/ffserver.conf - " - -PATCH() -{ - # patch hard-coded config file path - sed -i "s,/etc/ffserver.conf,$sysconfDir/ffserver.conf," \ - ffserver.c \ - doc/ffserver.texi - - # patch hard-coded paths to perl - sed -i "s,/usr/bin/perl,$portPackageLinksDir/cmd~perl/bin/perl," \ - Doxyfile \ - doc/texi2pod.pl -} - -BUILD() -{ - # not an auto tools configure - ./configure \ - --prefix=$prefix \ - --bindir=$binDir \ - --datadir=$dataDir/$portName \ - --incdir=$includeDir \ - --libdir=$libDir \ - --shlibdir=$libDir \ - --mandir=$manDir \ - --disable-debug \ - --enable-shared \ - --enable-libvorbis \ - --enable-libspeex \ - --enable-libtheora \ - --enable-libvpx - make $jobArgs -} - -INSTALL() -{ - make install - - rm $binDir/ffprobe - # TODO: Determine and fix what is wrong with ffprobe! The executable - # seems to be broken. The NEEDED entries in the dynamic section look - # weird and the runtime loader fails relocating with "Operation not - # allowed". - - prepareInstalledDevelLibs \ - libavcodec \ - libavdevice \ - libavfilter \ - libavformat \ - libavutil \ - libswresample \ - libswscale - fixPkgconfig - - # include the documented ffserver.conf - mkdir -p $docDir - cp doc/ffserver.conf $docDir - - # devel package - packageEntries devel \ - $developDir - - # Remove stuff we don't need in the secondary architecture base package. - if [ -n "$secondaryArchSuffix" ]; then - rm -rf $prefix/bin - rm -rf $documentationDir - fi -} - -# ----- devel package ------------------------------------------------------- - -PROVIDES_devel=" - ffmpeg${secondaryArchSuffix}_devel = $portVersion compat >= 0.10 - devel:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53 - devel:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53 - devel:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2 - devel:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53 - devel:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51 - devel:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0 - devel:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2 - " -REQUIRES_devel=" - ffmpeg$secondaryArchSuffix == $portVersion - " diff --git a/media-video/ffmpeg/ffmpeg-0.11.1.recipe b/media-video/ffmpeg/ffmpeg-0.11.5.recipe similarity index 76% rename from media-video/ffmpeg/ffmpeg-0.11.1.recipe rename to media-video/ffmpeg/ffmpeg-0.11.5.recipe index 813fc8834..73a35acf8 100644 --- a/media-video/ffmpeg/ffmpeg-0.11.1.recipe +++ b/media-video/ffmpeg/ffmpeg-0.11.5.recipe @@ -9,27 +9,27 @@ LICENSE=" " COPYRIGHT=" 2000-2003 Fabrice Bellard - 2003-2012 the FFmpeg developers + 2003-2014 the FFmpeg developers " -SRC_URI="http://www.ffmpeg.org/releases/ffmpeg-0.11.1.tar.bz2" -CHECKSUM_SHA256="b01ddfb6352c84810879988f43172c5f7be555697edb929625845c7bb953fa96" -REVISION="2" -ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" +SRC_URI="http://www.ffmpeg.org/releases/ffmpeg-0.11.5.tar.bz2" +CHECKSUM_SHA256="9492991f44d6757080f457c0aef83e68884dbfb925666806c7f7ea0389e5b8c0" +REVISION="1" +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86" if [ $effectiveTargetArchitecture == x86_gcc2 ]; then - PATCHES="ffmpeg-0.11.1-gcc2.patch" + PATCHES="ffmpeg-0.11.5-gcc2.patch" fi PROVIDES=" ffmpeg$secondaryArchSuffix = $portVersion compat >= 0.11 - lib:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53 - lib:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53 - lib:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2 - lib:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53 - lib:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51 - lib:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0 + lib:libavutil$secondaryArchSuffix = 51.54.100 compat >= 51 + lib:libavcodec$secondaryArchSuffix = 54.23.100 compat >= 54 + lib:libavformat$secondaryArchSuffix = 54.6.100 compat >= 54 + lib:libavdevice$secondaryArchSuffix = 54.0.100 compat >= 54 + lib:libavfilter$secondaryArchSuffix = 2.77.100 compat >= 2 lib:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2 + lib:libswresample$secondaryArchSuffix = 0.15.100 compat >= 0 " # on x86_gcc2hybrid, the tools should be placed in $prefix/bin but @@ -97,7 +97,7 @@ PATCH() BUILD() { - # not an auto tools configure + # not an autotools configure ./configure \ --prefix=$prefix \ --bindir=$prefix/bin \ @@ -111,8 +111,10 @@ BUILD() --enable-libvorbis \ --enable-libspeex \ --enable-libtheora \ - --enable-libvpx - make $jobArgs + --enable-libvpx \ + --disable-amd3dnow + + make $jobArgs CFLAGS="-fno-PIC -std=gnu9x" } INSTALL() @@ -157,13 +159,13 @@ INSTALL() PROVIDES_devel=" ffmpeg${secondaryArchSuffix}_devel = $portVersion compat >= 0.11 - devel:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53 - devel:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53 - devel:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2 - devel:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53 - devel:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51 - devel:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0 + devel:libavutil$secondaryArchSuffix = 51.54.100 compat >= 51 + devel:libavcodec$secondaryArchSuffix = 54.23.100 compat >= 54 + devel:libavformat$secondaryArchSuffix = 54.6.100 compat >= 54 + devel:libavdevice$secondaryArchSuffix = 54.0.100 compat >= 54 + devel:libavfilter$secondaryArchSuffix = 2.77.100 compat >= 2 devel:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2 + devel:libswresample$secondaryArchSuffix = 0.15.100 compat >= 0 " REQUIRES_devel=" ffmpeg$secondaryArchSuffix == $portVersion diff --git a/media-video/ffmpeg/patches/ffmpeg-0.10.2-gcc2.patch b/media-video/ffmpeg/patches/ffmpeg-0.10.2-gcc2.patch deleted file mode 100644 index 7c7f0231f..000000000 --- a/media-video/ffmpeg/patches/ffmpeg-0.10.2-gcc2.patch +++ /dev/null @@ -1,268 +0,0 @@ -diff --git a/cmdutils.c b/cmdutils.c -index 386db3d..f918600 100644 ---- ffmpeg-0.10.2/cmdutils.c -+++ ffmpeg-0.10.2/cmdutils.c -@@ -89,7 +89,7 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v - char line[1024]; - static int print_prefix = 1; - -- va_copy(vl2, vl); -+ __va_copy(vl2, vl); - av_log_default_callback(ptr, level, fmt, vl); - av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix); - va_end(vl2); -diff --git a/ffmpeg.c b/ffmpeg.c -index 463e1f4..245e8b5 100644 ---- ffmpeg-0.10.2/ffmpeg.c -+++ ffmpeg-0.10.2/ffmpeg.c -@@ -1247,9 +1247,11 @@ need_realloc: - av_fifo_size(ost->fifo) / (enc->channels * osize); // FIXME wrong - - if (ost->audio_resample) { -+ uint8_t *buftmp2[] = { buftmp }; -+ const uint8_t *buf2[] = { buf }; - buftmp = audio_buf; -- size_out = swr_convert(ost->swr, ( uint8_t*[]){buftmp}, audio_buf_size / (enc->channels * osize), -- (const uint8_t*[]){buf }, size / (dec->channels * isize)); -+ size_out = swr_convert(ost->swr, buftmp2, audio_buf_size / (enc->channels * osize), -+ buf2, size / (dec->channels * isize)); - size_out = size_out * enc->channels * osize; - } else { - buftmp = buf; -diff --git a/ffprobe.c b/ffprobe.c -index ca6133e..43f9d39 100644 ---- ffmpeg-0.10.2/ffprobe.c -+++ ffmpeg-0.10.2/ffprobe.c -@@ -293,7 +293,9 @@ static void writer_print_time(WriterContext *wctx, const char *key, - writer_print_string(wctx, key, "N/A", 1); - } else { - double d = ts * av_q2d(*time_base); -- value_string(buf, sizeof(buf), (struct unit_value){.val.d=d, .unit=unit_second_str}); -+ struct unit_value value2 = {.unit=unit_second_str}; -+ value2.val.d = d; -+ value_string(buf, sizeof(buf), value2); - writer_print_string(wctx, key, buf, 0); - } - } -@@ -1249,8 +1251,8 @@ static void writer_register_all(void) - #define print_str_opt(k, v) writer_print_string(w, k, v, 1) - #define print_time(k, v, tb) writer_print_time(w, k, v, tb) - #define print_ts(k, v) writer_print_ts(w, k, v) --#define print_val(k, v, u) writer_print_string(w, k, \ -- value_string(val_str, sizeof(val_str), (struct unit_value){.val.i = v, .unit=u}), 0) -+#define print_val(k, v, u) value2.val.i = v; value2.unit=u; writer_print_string(w, k, \ -+ value_string(val_str, sizeof(val_str), value2), 0); - #define print_section_header(s) writer_print_section_header(w, s) - #define print_section_footer(s) writer_print_section_footer(w, s) - #define show_tags(metadata) writer_show_tags(w, metadata) -@@ -1261,6 +1263,7 @@ static void show_packet(WriterContext *w, AVFormatContext *fmt_ctx, AVPacket *pk - AVStream *st = fmt_ctx->streams[pkt->stream_index]; - struct print_buf pbuf = {.s = NULL}; - const char *s; -+ struct unit_value value2; - - print_section_header("packet"); - s = av_get_media_type_string(st->codec->codec_type); -@@ -1404,6 +1407,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i - const char *s; - AVRational display_aspect_ratio; - struct print_buf pbuf = {.s = NULL}; -+ struct unit_value value2; - - print_section_header("stream"); - -@@ -1516,6 +1520,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx) - { - char val_str[128]; - int64_t size = fmt_ctx->pb ? avio_size(fmt_ctx->pb) : -1; -+ struct unit_value value2; - - print_section_header("format"); - print_str("filename", fmt_ctx->filename); -@@ -1524,9 +1529,9 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx) - print_str("format_long_name", fmt_ctx->iformat->long_name); - print_time("start_time", fmt_ctx->start_time, &AV_TIME_BASE_Q); - print_time("duration", fmt_ctx->duration, &AV_TIME_BASE_Q); -- if (size >= 0) print_val ("size", size, unit_byte_str); -+ if (size >= 0) { print_val ("size", size, unit_byte_str); } - else print_str_opt("size", "N/A"); -- if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str); -+ if (fmt_ctx->bit_rate > 0) { print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str); } - else print_str_opt("bit_rate", "N/A"); - show_tags(fmt_ctx->metadata); - print_section_footer("format"); -diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c -index 55f0286..35d5f1a 100644 ---- ffmpeg-0.10.2/libavcodec/aacenc.c -+++ ffmpeg-0.10.2/libavcodec/aacenc.c -@@ -223,8 +223,9 @@ WINDOW_FUNC(eight_short) - const float *pwindow = sce->ics.use_kb_window[1] ? ff_aac_kbd_short_128 : ff_sine_128; - const float *in = audio + 448; - float *out = sce->ret; -+ int w; - -- for (int w = 0; w < 8; w++) { -+ for (w = 0; w < 8; w++) { - dsp->vector_fmul (out, in, w ? pwindow : swindow, 128); - out += 128; - in += 128; -@@ -686,11 +687,12 @@ static av_cold int dsp_init(AVCodecContext *avctx, AACEncContext *s) - - static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s) - { -+ int ch; - FF_ALLOCZ_OR_GOTO(avctx, s->buffer.samples, 3 * 1024 * s->channels * sizeof(s->buffer.samples[0]), alloc_fail); - FF_ALLOCZ_OR_GOTO(avctx, s->cpe, sizeof(ChannelElement) * s->chan_map[0], alloc_fail); - FF_ALLOCZ_OR_GOTO(avctx, avctx->extradata, 5 + FF_INPUT_BUFFER_PADDING_SIZE, alloc_fail); - -- for(int ch = 0; ch < s->channels; ch++) -+ for(ch = 0; ch < s->channels; ch++) - s->planar_samples[ch] = s->buffer.samples + 3 * 1024 * ch; - - return 0; -diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c -index e73fbfe..3cde56c 100644 ---- ffmpeg-0.10.2/libavutil/pixdesc.c -+++ ffmpeg-0.10.2/libavutil/pixdesc.c -@@ -1096,12 +1096,6 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { - .log2_chroma_h = 1, - .flags = PIX_FMT_HWACCEL, - }, -- [PIX_FMT_VDA_VLD] = { -- .name = "vda_vld", -- .log2_chroma_w = 1, -- .log2_chroma_h = 1, -- .flags = PIX_FMT_HWACCEL, -- }, - [PIX_FMT_GRAY8A] = { - .name = "gray8a", - .nb_components = 2, -@@ -1110,16 +1104,6 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { - { 0, 1, 2, 0, 7 }, /* A */ - }, - }, -- [PIX_FMT_GBR24P] = { -- .name = "gbr24p", -- .nb_components= 3, -- .comp = { -- { 1, 0, 1, 0, 7 }, /* B */ -- { 0, 0, 1, 0, 7 }, /* G */ -- { 2, 0, 1, 0, 7 }, /* R */ -- }, -- .flags = PIX_FMT_PLANAR | PIX_FMT_RGB, -- }, - [PIX_FMT_GBRP] = { - .name = "gbrp", - .nb_components = 3, -diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c -index e1ba799..3820056 100644 ---- ffmpeg-0.10.2/libswscale/swscale_unscaled.c -+++ ffmpeg-0.10.2/libswscale/swscale_unscaled.c -@@ -370,30 +370,38 @@ static int planarRgbToRgbWrapper(SwsContext *c, const uint8_t* src[], int srcStr - } - - switch (c->dstFormat) { -- case PIX_FMT_BGR24: -- gbr24ptopacked24((const uint8_t* []) {src[1], src[0], src[2]}, (int []) {srcStride[1], srcStride[0], srcStride[2]}, -+ case PIX_FMT_BGR24: { -+ const uint8_t* src2[] = {src[1], src[0], src[2]}; -+ int srcStride2[] = {srcStride[1], srcStride[0], srcStride[2]}; -+ gbr24ptopacked24(src2, srcStride2, - dst[0] + srcSliceY * dstStride[0], dstStride[0], srcSliceH, c->srcW); - break; -- -- case PIX_FMT_RGB24: -- gbr24ptopacked24((const uint8_t* []) {src[2], src[0], src[1]}, (int []) {srcStride[2], srcStride[0], srcStride[1]}, -+ } -+ case PIX_FMT_RGB24: { -+ const uint8_t* src2[] = {src[2], src[0], src[1]}; -+ int srcStride2[] = {srcStride[2], srcStride[0], srcStride[1]}; -+ gbr24ptopacked24(src2, srcStride2, - dst[0] + srcSliceY * dstStride[0], dstStride[0], srcSliceH, c->srcW); - break; -- -+ } - case PIX_FMT_ARGB: - alpha_first = 1; -- case PIX_FMT_RGBA: -- gbr24ptopacked32((const uint8_t* []) {src[2], src[0], src[1]}, (int []) {srcStride[2], srcStride[0], srcStride[1]}, -+ case PIX_FMT_RGBA: { -+ const uint8_t* src2[] = {src[2], src[0], src[1]}; -+ int srcStride2[] = {srcStride[2], srcStride[0], srcStride[1]}; -+ gbr24ptopacked32(src2, srcStride2, - dst[0] + srcSliceY * dstStride[0], dstStride[0], srcSliceH, alpha_first, c->srcW); - break; -- -+ } - case PIX_FMT_ABGR: - alpha_first = 1; -- case PIX_FMT_BGRA: -- gbr24ptopacked32((const uint8_t* []) {src[1], src[0], src[2]}, (int []) {srcStride[1], srcStride[0], srcStride[2]}, -+ case PIX_FMT_BGRA: { -+ const uint8_t* src2[] = {src[1], src[0], src[2]}; -+ int srcStride2[] = {srcStride[1], srcStride[0], srcStride[2]}; -+ gbr24ptopacked32(src2, srcStride2, - dst[0] + srcSliceY * dstStride[0], dstStride[0], srcSliceH, alpha_first, c->srcW); - break; -- -+ } - default: - av_log(c, AV_LOG_ERROR, "unsupported planar RGB conversion %s -> %s\n", - av_get_pix_fmt_name(c->srcFormat), av_get_pix_fmt_name(c->dstFormat)); -diff --git a/configure b/configure ---- ffmpeg-0.10.2/configure -+++ ffmpeg-0.10-haiku/configure -@@ -1359,7 +1359,6 @@ - - aligned_stack_if_any="ppc x86" - fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" --fast_clz_if_any="alpha armv5te avr32 mips ppc x86" - fast_unaligned_if_any="armv6 ppc x86" - - inline_asm_deps="!tms470" -@@ -1866,7 +1865,7 @@ - CC_O='-o $@' - CXX_O='-o $@' - --host_cflags='-D_ISOC99_SOURCE -O3 -g' -+host_cflags='-D_ISOC99_SOURCE -O2 -g' - host_libs='-lm' - - target_path='$(CURDIR)' -@@ -1948,6 +1947,7 @@ - done - - enable $ARCH_EXT_LIST $ALL_TESTS -+disable sse - - die_unknown(){ - echo "Unknown option \"$1\"." -@@ -2144,7 +2144,7 @@ - CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' - AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' - fi -- speed_cflags='-O3' -+ speed_cflags='-O2' - size_cflags='-Os' - elif $cc --version 2>/dev/null | grep -q Intel; then - cc_type=icc -@@ -2831,10 +2831,6 @@ - struct { int x; } __attribute__((packed)) x; - EOF - --check_cc < -Date: Mon, 21 Jul 2014 16:10:54 -0400 -Subject: [PATCH] Fix build on GCC2. - ---- - cmdutils.c | 2 +- - configure | 12 +++------ - ffprobe.c | 18 +++++++++----- - ffserver.c | 4 +-- - libavcodec/pngenc.c | 3 ++- - libavfilter/af_aresample.c | 9 ++++--- - libavutil/pixdesc.c | 6 ----- - libswresample/x86/swresample_x86.c | 2 +- - libswscale/swscale_unscaled.c | 51 ++++++++++++++++++++------------------ - 9 files changed, 54 insertions(+), 53 deletions(-) - -diff --git a/cmdutils.c b/cmdutils.c -index 2c84394..8375c82 100644 ---- a/cmdutils.c -+++ b/cmdutils.c -@@ -94,7 +94,7 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v - char line[1024]; - static int print_prefix = 1; - -- va_copy(vl2, vl); -+ __va_copy(vl2, vl); - av_log_default_callback(ptr, level, fmt, vl); - av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix); - va_end(vl2); -diff --git a/configure b/configure -index 4e1a611..16f6032 100755 ---- a/configure -+++ b/configure -@@ -1377,7 +1377,6 @@ avx_deps="ssse3" - - aligned_stack_if_any="ppc x86" - fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" --fast_clz_if_any="alpha armv5te avr32 mips ppc x86" - fast_unaligned_if_any="armv6 ppc x86" - - inline_asm_deps="!tms470" -@@ -1916,7 +1915,7 @@ AS_O='-o $@' - CC_O='-o $@' - CXX_O='-o $@' - --host_cflags='-D_ISOC99_SOURCE -O3 -g' -+host_cflags='-D_ISOC99_SOURCE -O2 -g' - host_libs='-lm' - - target_path='$(CURDIR)' -@@ -1999,6 +1998,7 @@ for n in $COMPONENT_LIST; do - done - - enable $ARCH_EXT_LIST $ALL_TESTS -+disable sse - - die_unknown(){ - echo "Unknown option \"$1\"." -@@ -2181,7 +2181,7 @@ if $cc -v 2>&1 | grep -q '^gcc.*LLVM'; then - cc_ident="llvm-gcc $($cc -dumpversion) $gcc_extra_ver" - CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' - AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' -- speed_cflags='-O3' -+ speed_cflags='-O2' - size_cflags='-Os' - elif $cc -v 2>&1 | grep -qi ^gcc; then - cc_type=gcc -@@ -2907,10 +2907,6 @@ check_cc <streams[pkt->stream_index]; - AVBPrint pbuf; - const char *s; -+ struct unit_value value2; - - av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); - -@@ -1227,6 +1230,7 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream) - { - AVBPrint pbuf; - const char *s; -+ struct unit_value value2; - - av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); - -@@ -1356,6 +1360,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i - const char *s; - AVRational display_aspect_ratio; - AVBPrint pbuf; -+ struct unit_value value2; - - av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); - -@@ -1446,7 +1451,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i - print_fmt("time_base", "%d/%d", stream->time_base.num, stream->time_base.den); - print_time("start_time", stream->start_time, &stream->time_base); - print_time("duration", stream->duration, &stream->time_base); -- if (dec_ctx->bit_rate > 0) print_val ("bit_rate", dec_ctx->bit_rate, unit_bit_per_second_str); -+ if (dec_ctx->bit_rate > 0) { print_val ("bit_rate", dec_ctx->bit_rate, unit_bit_per_second_str); } - else print_str_opt("bit_rate", "N/A"); - if (stream->nb_frames) print_fmt ("nb_frames", "%"PRId64, stream->nb_frames); - else print_str_opt("nb_frames", "N/A"); -@@ -1472,6 +1477,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx) - { - char val_str[128]; - int64_t size = fmt_ctx->pb ? avio_size(fmt_ctx->pb) : -1; -+ struct unit_value value2; - - print_section_header("format"); - print_str("filename", fmt_ctx->filename); -@@ -1480,9 +1486,9 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx) - print_str("format_long_name", fmt_ctx->iformat->long_name); - print_time("start_time", fmt_ctx->start_time, &AV_TIME_BASE_Q); - print_time("duration", fmt_ctx->duration, &AV_TIME_BASE_Q); -- if (size >= 0) print_val ("size", size, unit_byte_str); -+ if (size >= 0) { print_val ("size", size, unit_byte_str); } - else print_str_opt("size", "N/A"); -- if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str); -+ if (fmt_ctx->bit_rate > 0) { print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str); } - else print_str_opt("bit_rate", "N/A"); - show_tags(fmt_ctx->metadata); - print_section_footer("format"); -diff --git a/ffserver.c b/ffserver.c -index a0efa54..0d1684a 100644 ---- a/ffserver.c -+++ b/ffserver.c -@@ -305,7 +305,7 @@ static int rtp_new_av_stream(HTTPContext *c, - static const char *my_program_name; - static const char *my_program_dir; - --static const char *config_filename = "/etc/ffserver.conf"; -+static const char *config_filename = "/packages/ffmpeg-0.11.1-2/.settings/ffserver.conf"; - - static int ffserver_debug; - static int ffserver_daemon; -@@ -4659,7 +4659,7 @@ static const OptionDef options[] = { - #include "cmdutils_common_opts.h" - { "n", OPT_BOOL, {(void *)&no_launch }, "enable no-launch mode" }, - { "d", 0, {(void*)opt_debug}, "enable debug mode" }, -- { "f", HAS_ARG | OPT_STRING, {(void*)&config_filename }, "use configfile instead of /etc/ffserver.conf", "configfile" }, -+ { "f", HAS_ARG | OPT_STRING, {(void*)&config_filename }, "use configfile instead of /packages/ffmpeg-0.11.1-2/.settings/ffserver.conf", "configfile" }, - { NULL }, - }; - -diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c -index c29435b..1f73bc4 100644 ---- a/libavcodec/pngenc.c -+++ b/libavcodec/pngenc.c -@@ -55,8 +55,9 @@ static void png_get_interlaced_row(uint8_t *dst, int row_size, - int x, mask, dst_x, j, b, bpp; - uint8_t *d; - const uint8_t *s; -+ int mask_tmp[] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff}; - -- mask = (int[]){0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff}[pass]; -+ mask = mask_tmp[pass]; - switch(bits_per_pixel) { - case 1: - memset(dst, 0, row_size); -diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c -index 8ead314..e0b76e5 100644 ---- a/libavfilter/af_aresample.c -+++ b/libavfilter/af_aresample.c -@@ -103,20 +103,23 @@ static int query_formats(AVFilterContext *ctx) - ff_channel_layouts_ref(in_layouts, &inlink->out_channel_layouts); - - if(out_rate > 0) { -- out_samplerates = avfilter_make_format_list((int[]){ out_rate, -1 }); -+ int samplerate_tmp[] = { out_rate, -1 }; -+ out_samplerates = avfilter_make_format_list(samplerate_tmp); - } else { - out_samplerates = ff_all_samplerates(); - } - avfilter_formats_ref(out_samplerates, &outlink->in_samplerates); - - if(out_format != AV_SAMPLE_FMT_NONE) { -- out_formats = avfilter_make_format_list((int[]){ out_format, -1 }); -+ int format_tmp[] = { out_format, -1 }; -+ out_formats = avfilter_make_format_list(format_tmp); - } else - out_formats = avfilter_make_all_formats(AVMEDIA_TYPE_AUDIO); - avfilter_formats_ref(out_formats, &outlink->in_formats); - - if(out_layout) { -- out_layouts = avfilter_make_format64_list((int64_t[]){ out_layout, -1 }); -+ int64_t layout_tmp[] = { out_layout, -1 }; -+ out_layouts = avfilter_make_format64_list(layout_tmp); - } else - out_layouts = ff_all_channel_layouts(); - ff_channel_layouts_ref(out_layouts, &outlink->in_channel_layouts); -diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c -index e73cf8d..0bff2d6 100644 ---- a/libavutil/pixdesc.c -+++ b/libavutil/pixdesc.c -@@ -1117,12 +1117,6 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { - .log2_chroma_h = 1, - .flags = PIX_FMT_HWACCEL, - }, -- [PIX_FMT_VDA_VLD] = { -- .name = "vda_vld", -- .log2_chroma_w = 1, -- .log2_chroma_h = 1, -- .flags = PIX_FMT_HWACCEL, -- }, - [PIX_FMT_GRAY8A] = { - .name = "gray8a", - .nb_components = 2, -diff --git a/libswresample/x86/swresample_x86.c b/libswresample/x86/swresample_x86.c -index 6cd6073..5436bc3 100644 ---- a/libswresample/x86/swresample_x86.c -+++ b/libswresample/x86/swresample_x86.c -@@ -25,7 +25,7 @@ - #define PROTO2(pre, out, cap) PROTO(pre, int16, out, cap) PROTO(pre, int32, out, cap) PROTO(pre, float, out, cap) - #define PROTO3(pre, cap) PROTO2(pre, int16, cap) PROTO2(pre, int32, cap) PROTO2(pre, float, cap) - #define PROTO4(pre) PROTO3(pre, mmx) PROTO3(pre, sse) PROTO3(pre, sse2) PROTO3(pre, ssse3) PROTO3(pre, sse4) PROTO3(pre, avx) --PROTO4() -+PROTO4( ) - PROTO4(_pack_2ch) - PROTO4(_pack_6ch) - PROTO4(_unpack_2ch) -diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c -index 754edaf..c35f1b7 100644 ---- a/libswscale/swscale_unscaled.c -+++ b/libswscale/swscale_unscaled.c -@@ -472,38 +472,41 @@ static int planarRgbToRgbWrapper(SwsContext *c, const uint8_t *src[], - } - - switch (c->dstFormat) { -- case PIX_FMT_BGR24: -- gbr24ptopacked24((const uint8_t *[]) { src[1], src[0], src[2] }, -- (int []) { srcStride[1], srcStride[0], srcStride[2] }, -- dst[0] + srcSliceY * dstStride[0], dstStride[0], -+ case PIX_FMT_BGR24: { -+ const uint8_t* src2[] = {src[1], src[0], src[2]}; -+ int srcStride2[] = {srcStride[1], srcStride[0], srcStride[2]}; -+ gbr24ptopacked24(src2, srcStride2, dst[0] + srcSliceY * dstStride[0], dstStride[0], - srcSliceH, c->srcW); - break; - -- case PIX_FMT_RGB24: -- gbr24ptopacked24((const uint8_t *[]) { src[2], src[0], src[1] }, -- (int []) { srcStride[2], srcStride[0], srcStride[1] }, -- dst[0] + srcSliceY * dstStride[0], dstStride[0], -- srcSliceH, c->srcW); -+ } -+ case PIX_FMT_RGB24: { -+ const uint8_t* src2[] = {src[2], src[0], src[1]}; -+ int srcStride2[] = {srcStride[2], srcStride[0], srcStride[1]}; -+ gbr24ptopacked24(src2, srcStride2, dst[0] + srcSliceY * dstStride[0], dstStride[0], -+ srcSliceH, c->srcW); - break; -- -+ } - case PIX_FMT_ARGB: - alpha_first = 1; -- case PIX_FMT_RGBA: -- gbr24ptopacked32((const uint8_t *[]) { src[2], src[0], src[1] }, -- (int []) { srcStride[2], srcStride[0], srcStride[1] }, -- dst[0] + srcSliceY * dstStride[0], dstStride[0], -- srcSliceH, alpha_first, c->srcW); -- break; -- -+ case PIX_FMT_RGBA: { -+ const uint8_t* src2[] = {src[2], src[0], src[1]}; -+ int srcStride2[] = {srcStride[2], srcStride[0], srcStride[1]}; -+ gbr24ptopacked32(src2, srcStride2, -+ dst[0] + srcSliceY * dstStride[0], dstStride[0], -+ srcSliceH, alpha_first, c->srcW); -+ break; -+ } - case PIX_FMT_ABGR: - alpha_first = 1; -- case PIX_FMT_BGRA: -- gbr24ptopacked32((const uint8_t *[]) { src[1], src[0], src[2] }, -- (int []) { srcStride[1], srcStride[0], srcStride[2] }, -- dst[0] + srcSliceY * dstStride[0], dstStride[0], -- srcSliceH, alpha_first, c->srcW); -- break; -- -+ case PIX_FMT_BGRA: { -+ const uint8_t* src2[] = {src[1], src[0], src[2]}; -+ int srcStride2[] = {srcStride[1], srcStride[0], srcStride[2]}; -+ gbr24ptopacked32(src2, srcStride2, -+ dst[0] + srcSliceY * dstStride[0], dstStride[0], -+ srcSliceH, alpha_first, c->srcW); -+ break; -+ } - default: - av_log(c, AV_LOG_ERROR, - "unsupported planar RGB conversion %s -> %s\n", --- -1.8.3.4 - diff --git a/media-video/ffmpeg/patches/ffmpeg-0.11.5-gcc2.patch b/media-video/ffmpeg/patches/ffmpeg-0.11.5-gcc2.patch new file mode 100644 index 000000000..5be7668d3 --- /dev/null +++ b/media-video/ffmpeg/patches/ffmpeg-0.11.5-gcc2.patch @@ -0,0 +1,1533 @@ +From a48079c520e49ab340f98e3df912ab7bdd76d44b Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Thu, 23 Oct 2014 10:32:43 +0200 +Subject: applying patch ffmpeg-0.11.5-gcc2.patch + + +diff --git a/cmdutils.c b/cmdutils.c +index 9afb54c..306dd4b 100644 +--- a/cmdutils.c ++++ b/cmdutils.c +@@ -94,7 +94,7 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v + char line[1024]; + static int print_prefix = 1; + +- va_copy(vl2, vl); ++ __va_copy(vl2, vl); + av_log_default_callback(ptr, level, fmt, vl); + av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix); + va_end(vl2); +diff --git a/configure b/configure +index 66112bf..ee20361 100755 +--- a/configure ++++ b/configure +@@ -1378,7 +1378,6 @@ avx_deps="ssse3" + + aligned_stack_if_any="ppc x86" + fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" +-fast_clz_if_any="alpha armv5te avr32 mips ppc x86" + fast_unaligned_if_any="armv6 ppc x86" + + inline_asm_deps="!tms470" +@@ -1917,7 +1916,7 @@ AS_O='-o $@' + CC_O='-o $@' + CXX_O='-o $@' + +-host_cflags='-D_ISOC99_SOURCE -O3 -g' ++host_cflags='-D_ISOC99_SOURCE -O2 -g' + host_libs='-lm' + + target_path='$(CURDIR)' +@@ -2000,6 +1999,7 @@ for n in $COMPONENT_LIST; do + done + + enable $ARCH_EXT_LIST $ALL_TESTS ++disable sse + + die_unknown(){ + echo "Unknown option \"$1\"." +@@ -2182,7 +2182,7 @@ if $cc -v 2>&1 | grep -q '^gcc.*LLVM'; then + cc_ident="llvm-gcc $($cc -dumpversion) $gcc_extra_ver" + CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' + AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' +- speed_cflags='-O3' ++ speed_cflags='-O2' + size_cflags='-Os' + elif $cc -v 2>&1 | grep -qi ^gcc; then + cc_type=gcc +@@ -2908,10 +2908,6 @@ check_cc <streams[pkt->stream_index]; + AVBPrint pbuf; + const char *s; ++ struct unit_value value2; + + av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); + +@@ -1227,6 +1230,7 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream) + { + AVBPrint pbuf; + const char *s; ++ struct unit_value value2; + + av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); + +@@ -1356,6 +1360,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i + const char *s; + AVRational display_aspect_ratio; + AVBPrint pbuf; ++ struct unit_value value2; + + av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); + +@@ -1446,7 +1451,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i + print_fmt("time_base", "%d/%d", stream->time_base.num, stream->time_base.den); + print_time("start_time", stream->start_time, &stream->time_base); + print_time("duration", stream->duration, &stream->time_base); +- if (dec_ctx->bit_rate > 0) print_val ("bit_rate", dec_ctx->bit_rate, unit_bit_per_second_str); ++ if (dec_ctx->bit_rate > 0) { print_val ("bit_rate", dec_ctx->bit_rate, unit_bit_per_second_str); } + else print_str_opt("bit_rate", "N/A"); + if (stream->nb_frames) print_fmt ("nb_frames", "%"PRId64, stream->nb_frames); + else print_str_opt("nb_frames", "N/A"); +@@ -1472,6 +1477,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx) + { + char val_str[128]; + int64_t size = fmt_ctx->pb ? avio_size(fmt_ctx->pb) : -1; ++ struct unit_value value2; + + print_section_header("format"); + print_str("filename", fmt_ctx->filename); +@@ -1480,9 +1486,9 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx) + print_str("format_long_name", fmt_ctx->iformat->long_name); + print_time("start_time", fmt_ctx->start_time, &AV_TIME_BASE_Q); + print_time("duration", fmt_ctx->duration, &AV_TIME_BASE_Q); +- if (size >= 0) print_val ("size", size, unit_byte_str); ++ if (size >= 0) { print_val ("size", size, unit_byte_str); } + else print_str_opt("size", "N/A"); +- if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str); ++ if (fmt_ctx->bit_rate > 0) { print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str); } + else print_str_opt("bit_rate", "N/A"); + show_tags(fmt_ctx->metadata); + print_section_footer("format"); +diff --git a/ffserver.c b/ffserver.c +index a0efa54..0d1684a 100644 +--- a/ffserver.c ++++ b/ffserver.c +@@ -305,7 +305,7 @@ static int rtp_new_av_stream(HTTPContext *c, + static const char *my_program_name; + static const char *my_program_dir; + +-static const char *config_filename = "/etc/ffserver.conf"; ++static const char *config_filename = "/packages/ffmpeg-0.11.1-2/.settings/ffserver.conf"; + + static int ffserver_debug; + static int ffserver_daemon; +@@ -4659,7 +4659,7 @@ static const OptionDef options[] = { + #include "cmdutils_common_opts.h" + { "n", OPT_BOOL, {(void *)&no_launch }, "enable no-launch mode" }, + { "d", 0, {(void*)opt_debug}, "enable debug mode" }, +- { "f", HAS_ARG | OPT_STRING, {(void*)&config_filename }, "use configfile instead of /etc/ffserver.conf", "configfile" }, ++ { "f", HAS_ARG | OPT_STRING, {(void*)&config_filename }, "use configfile instead of /packages/ffmpeg-0.11.1-2/.settings/ffserver.conf", "configfile" }, + { NULL }, + }; + +diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c +index c29435b..1f73bc4 100644 +--- a/libavcodec/pngenc.c ++++ b/libavcodec/pngenc.c +@@ -55,8 +55,9 @@ static void png_get_interlaced_row(uint8_t *dst, int row_size, + int x, mask, dst_x, j, b, bpp; + uint8_t *d; + const uint8_t *s; ++ int mask_tmp[] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff}; + +- mask = (int[]){0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff}[pass]; ++ mask = mask_tmp[pass]; + switch(bits_per_pixel) { + case 1: + memset(dst, 0, row_size); +diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c +index 90e8781..bdba6db 100644 +--- a/libavfilter/af_aresample.c ++++ b/libavfilter/af_aresample.c +@@ -103,20 +103,23 @@ static int query_formats(AVFilterContext *ctx) + ff_channel_layouts_ref(in_layouts, &inlink->out_channel_layouts); + + if(out_rate > 0) { +- out_samplerates = avfilter_make_format_list((int[]){ out_rate, -1 }); ++ int samplerate_tmp[] = { out_rate, -1 }; ++ out_samplerates = avfilter_make_format_list(samplerate_tmp); + } else { + out_samplerates = ff_all_samplerates(); + } + avfilter_formats_ref(out_samplerates, &outlink->in_samplerates); + + if(out_format != AV_SAMPLE_FMT_NONE) { +- out_formats = avfilter_make_format_list((int[]){ out_format, -1 }); ++ int format_tmp[] = { out_format, -1 }; ++ out_formats = avfilter_make_format_list(format_tmp); + } else + out_formats = avfilter_make_all_formats(AVMEDIA_TYPE_AUDIO); + avfilter_formats_ref(out_formats, &outlink->in_formats); + + if(out_layout) { +- out_layouts = avfilter_make_format64_list((int64_t[]){ out_layout, -1 }); ++ int64_t layout_tmp[] = { out_layout, -1 }; ++ out_layouts = avfilter_make_format64_list(layout_tmp); + } else + out_layouts = ff_all_channel_layouts(); + ff_channel_layouts_ref(out_layouts, &outlink->in_channel_layouts); +diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c +index e73cf8d..0bff2d6 100644 +--- a/libavutil/pixdesc.c ++++ b/libavutil/pixdesc.c +@@ -1117,12 +1117,6 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { + .log2_chroma_h = 1, + .flags = PIX_FMT_HWACCEL, + }, +- [PIX_FMT_VDA_VLD] = { +- .name = "vda_vld", +- .log2_chroma_w = 1, +- .log2_chroma_h = 1, +- .flags = PIX_FMT_HWACCEL, +- }, + [PIX_FMT_GRAY8A] = { + .name = "gray8a", + .nb_components = 2, +diff --git a/libswresample/x86/swresample_x86.c b/libswresample/x86/swresample_x86.c +index 6cd6073..5436bc3 100644 +--- a/libswresample/x86/swresample_x86.c ++++ b/libswresample/x86/swresample_x86.c +@@ -25,7 +25,7 @@ + #define PROTO2(pre, out, cap) PROTO(pre, int16, out, cap) PROTO(pre, int32, out, cap) PROTO(pre, float, out, cap) + #define PROTO3(pre, cap) PROTO2(pre, int16, cap) PROTO2(pre, int32, cap) PROTO2(pre, float, cap) + #define PROTO4(pre) PROTO3(pre, mmx) PROTO3(pre, sse) PROTO3(pre, sse2) PROTO3(pre, ssse3) PROTO3(pre, sse4) PROTO3(pre, avx) +-PROTO4() ++PROTO4( ) + PROTO4(_pack_2ch) + PROTO4(_pack_6ch) + PROTO4(_unpack_2ch) +diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c +index 52951e0..74a61b8 100644 +--- a/libswscale/swscale_unscaled.c ++++ b/libswscale/swscale_unscaled.c +@@ -472,38 +472,41 @@ static int planarRgbToRgbWrapper(SwsContext *c, const uint8_t *src[], + } + + switch (c->dstFormat) { +- case PIX_FMT_BGR24: +- gbr24ptopacked24((const uint8_t *[]) { src[1], src[0], src[2] }, +- (int []) { srcStride[1], srcStride[0], srcStride[2] }, +- dst[0] + srcSliceY * dstStride[0], dstStride[0], ++ case PIX_FMT_BGR24: { ++ const uint8_t* src2[] = {src[1], src[0], src[2]}; ++ int srcStride2[] = {srcStride[1], srcStride[0], srcStride[2]}; ++ gbr24ptopacked24(src2, srcStride2, dst[0] + srcSliceY * dstStride[0], dstStride[0], + srcSliceH, c->srcW); + break; + +- case PIX_FMT_RGB24: +- gbr24ptopacked24((const uint8_t *[]) { src[2], src[0], src[1] }, +- (int []) { srcStride[2], srcStride[0], srcStride[1] }, +- dst[0] + srcSliceY * dstStride[0], dstStride[0], +- srcSliceH, c->srcW); ++ } ++ case PIX_FMT_RGB24: { ++ const uint8_t* src2[] = {src[2], src[0], src[1]}; ++ int srcStride2[] = {srcStride[2], srcStride[0], srcStride[1]}; ++ gbr24ptopacked24(src2, srcStride2, dst[0] + srcSliceY * dstStride[0], dstStride[0], ++ srcSliceH, c->srcW); + break; +- ++ } + case PIX_FMT_ARGB: + alpha_first = 1; +- case PIX_FMT_RGBA: +- gbr24ptopacked32((const uint8_t *[]) { src[2], src[0], src[1] }, +- (int []) { srcStride[2], srcStride[0], srcStride[1] }, +- dst[0] + srcSliceY * dstStride[0], dstStride[0], +- srcSliceH, alpha_first, c->srcW); +- break; +- ++ case PIX_FMT_RGBA: { ++ const uint8_t* src2[] = {src[2], src[0], src[1]}; ++ int srcStride2[] = {srcStride[2], srcStride[0], srcStride[1]}; ++ gbr24ptopacked32(src2, srcStride2, ++ dst[0] + srcSliceY * dstStride[0], dstStride[0], ++ srcSliceH, alpha_first, c->srcW); ++ break; ++ } + case PIX_FMT_ABGR: + alpha_first = 1; +- case PIX_FMT_BGRA: +- gbr24ptopacked32((const uint8_t *[]) { src[1], src[0], src[2] }, +- (int []) { srcStride[1], srcStride[0], srcStride[2] }, +- dst[0] + srcSliceY * dstStride[0], dstStride[0], +- srcSliceH, alpha_first, c->srcW); +- break; +- ++ case PIX_FMT_BGRA: { ++ const uint8_t* src2[] = {src[1], src[0], src[2]}; ++ int srcStride2[] = {srcStride[1], srcStride[0], srcStride[2]}; ++ gbr24ptopacked32(src2, srcStride2, ++ dst[0] + srcSliceY * dstStride[0], dstStride[0], ++ srcSliceH, alpha_first, c->srcW); ++ break; ++ } + default: + av_log(c, AV_LOG_ERROR, + "unsupported planar RGB conversion %s -> %s\n", +-- +1.8.3.4 + + +From bb2b8ce280cca96855ebbe3475b9e134f0d35427 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Thu, 23 Oct 2014 11:09:11 +0200 +Subject: Avoid utf8 in doc to make texi2pod happy. + + +diff --git a/doc/filters.texi b/doc/filters.texi +index 324a154..7303a7d 100644 +--- a/doc/filters.texi ++++ b/doc/filters.texi +@@ -2924,7 +2924,7 @@ Tile several successive frames together. + It accepts as argument the tile size (i.e. the number of lines and columns) + in the form "@var{w}x@var{h}". + +-For example, produce 8×8 PNG tiles of all keyframes (@option{-skip_frame ++For example, produce 8x8 PNG tiles of all keyframes (@option{-skip_frame + nokey}) in a movie: + @example + ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png +-- +1.8.3.4 + + +From 21b82aeed933d7a1811fd8b57866db841762b4be Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Thu, 23 Oct 2014 11:09:37 +0200 +Subject: fix ffprobe when GPL libs are disabled. + +libpostproc is not built in that case. + +diff --git a/ffprobe.c b/ffprobe.c +index 41c5cec..95712b4 100644 +--- a/ffprobe.c ++++ b/ffprobe.c +@@ -1664,7 +1664,7 @@ static void ffprobe_show_library_versions(WriterContext *w) + SHOW_LIB_VERSION(avfilter, AVFILTER); + SHOW_LIB_VERSION(swscale, SWSCALE); + SHOW_LIB_VERSION(swresample, SWRESAMPLE); +- SHOW_LIB_VERSION(postproc, POSTPROC); ++// SHOW_LIB_VERSION(postproc, POSTPROC); + writer_print_chapter_footer(w, "library_versions"); + } + +-- +1.8.3.4 + + +From a4f7f2a2d6634d1bd9c832b1c7103e58087c4306 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Thu, 23 Oct 2014 21:02:26 +0200 +Subject: gcc2 hacks. + +ffmpeg relies on the compiler optimizing: + + #define FOO 0 + if(FOO) call_foo(); + +gcc2 doesn't seem to do that, and in the end the lib can't be loaded +because of missing symbol call_foo. So replace the if with #ifdef to +make things work. + +Note that this shouldn't disable anything that wasn't already. Stuff is +disabled because either of: +- ARM/PPC/other CPU specific +- GPL licensed (we don't currently enable those parts - they need more + patches) +- Uses 3dnow (manually disabled - doesn't compile here) or AVX (not + enabled by buildsystem) + +diff --git a/libavcodec/aacpsdsp.c b/libavcodec/aacpsdsp.c +index e90c50b..84c4a49 100644 +--- a/libavcodec/aacpsdsp.c ++++ b/libavcodec/aacpsdsp.c +@@ -209,6 +209,7 @@ av_cold void ff_psdsp_init(PSDSPContext *s) + s->stereo_interpolate[0] = ps_stereo_interpolate_c; + s->stereo_interpolate[1] = ps_stereo_interpolate_ipdopd_c; + +- if (ARCH_ARM) ++#if ARCH_ARM + ff_psdsp_init_arm(s); ++#endif + } +diff --git a/libavcodec/ac3dsp.c b/libavcodec/ac3dsp.c +index 581e5f5..a4c1721 100644 +--- a/libavcodec/ac3dsp.c ++++ b/libavcodec/ac3dsp.c +@@ -228,8 +228,9 @@ av_cold void ff_ac3dsp_init(AC3DSPContext *c, int bit_exact) + c->sum_square_butterfly_int32 = ac3_sum_square_butterfly_int32_c; + c->sum_square_butterfly_float = ac3_sum_square_butterfly_float_c; + +- if (ARCH_ARM) ++#if ARCH_ARM + ff_ac3dsp_init_arm(c, bit_exact); ++#endif + if (HAVE_MMX) + ff_ac3dsp_init_x86(c, bit_exact); + } +diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c +index ac05b9b..9bfabd5 100644 +--- a/libavcodec/allcodecs.c ++++ b/libavcodec/allcodecs.c +@@ -54,6 +54,7 @@ void avcodec_register_all(void) + initialized = 1; + + /* hardware accelerators */ ++#ifndef __HAIKU__ + REGISTER_HWACCEL (H263_VAAPI, h263_vaapi); + REGISTER_HWACCEL (H264_DXVA2, h264_dxva2); + REGISTER_HWACCEL (H264_VAAPI, h264_vaapi); +@@ -67,6 +68,7 @@ void avcodec_register_all(void) + REGISTER_HWACCEL (VC1_VAAPI, vc1_vaapi); + REGISTER_HWACCEL (WMV3_DXVA2, wmv3_dxva2); + REGISTER_HWACCEL (WMV3_VAAPI, wmv3_vaapi); ++#endif + + /* video codecs */ + REGISTER_ENCODER (A64MULTI, a64multi); +@@ -115,7 +117,9 @@ void avcodec_register_all(void) + REGISTER_DECODER (ESCAPE124, escape124); + REGISTER_DECODER (ESCAPE130, escape130); + REGISTER_DECODER (EXR, exr); ++#ifndef __HAIKU__ + REGISTER_ENCDEC (FFV1, ffv1); ++#endif + REGISTER_ENCDEC (FFVHUFF, ffvhuff); + REGISTER_ENCDEC (FLASHSV, flashsv); + REGISTER_ENCDEC (FLASHSV2, flashsv2); +@@ -130,8 +134,10 @@ void avcodec_register_all(void) + REGISTER_DECODER (H263I, h263i); + REGISTER_ENCODER (H263P, h263p); + REGISTER_DECODER (H264, h264); ++#ifndef __HAIKU__ + REGISTER_DECODER (H264_CRYSTALHD, h264_crystalhd); + REGISTER_DECODER (H264_VDPAU, h264_vdpau); ++#endif + REGISTER_ENCDEC (HUFFYUV, huffyuv); + REGISTER_DECODER (IDCIN, idcin); + REGISTER_DECODER (IFF_BYTERUN1, iff_byterun1); +@@ -155,17 +161,23 @@ void avcodec_register_all(void) + REGISTER_DECODER (MJPEGB, mjpegb); + REGISTER_DECODER (MMVIDEO, mmvideo); + REGISTER_DECODER (MOTIONPIXELS, motionpixels); ++#ifndef __HAIKU__ + REGISTER_DECODER (MPEG_XVMC, mpeg_xvmc); ++#endif + REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video); + REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video); + REGISTER_ENCDEC (MPEG4, mpeg4); ++#ifndef __HAIKU__ + REGISTER_DECODER (MPEG4_CRYSTALHD, mpeg4_crystalhd); + REGISTER_DECODER (MPEG4_VDPAU, mpeg4_vdpau); ++#endif + REGISTER_DECODER (MPEGVIDEO, mpegvideo); ++#ifndef __HAIKU__ + REGISTER_DECODER (MPEG_VDPAU, mpeg_vdpau); + REGISTER_DECODER (MPEG1_VDPAU, mpeg1_vdpau); + REGISTER_DECODER (MPEG2_CRYSTALHD, mpeg2_crystalhd); + REGISTER_DECODER (MSMPEG4_CRYSTALHD, msmpeg4_crystalhd); ++#endif + REGISTER_DECODER (MSMPEG4V1, msmpeg4v1); + REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2); + REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3); +@@ -229,8 +241,10 @@ void avcodec_register_all(void) + REGISTER_DECODER (VB, vb); + REGISTER_DECODER (VBLE, vble); + REGISTER_DECODER (VC1, vc1); ++#ifndef __HAIKU__ + REGISTER_DECODER (VC1_CRYSTALHD, vc1_crystalhd); + REGISTER_DECODER (VC1_VDPAU, vc1_vdpau); ++#endif + REGISTER_DECODER (VC1IMAGE, vc1image); + REGISTER_DECODER (VCR1, vcr1); + REGISTER_DECODER (VMDVIDEO, vmdvideo); +@@ -245,8 +259,10 @@ void avcodec_register_all(void) + REGISTER_ENCDEC (WMV1, wmv1); + REGISTER_ENCDEC (WMV2, wmv2); + REGISTER_DECODER (WMV3, wmv3); ++#ifndef __HAIKU__ + REGISTER_DECODER (WMV3_CRYSTALHD, wmv3_crystalhd); + REGISTER_DECODER (WMV3_VDPAU, wmv3_vdpau); ++#endif + REGISTER_DECODER (WMV3IMAGE, wmv3image); + REGISTER_DECODER (WNV1, wnv1); + REGISTER_DECODER (XAN_WC3, xan_wc3); +@@ -284,7 +300,9 @@ void avcodec_register_all(void) + REGISTER_ENCDEC (FLAC, flac); + REGISTER_ENCDEC (G723_1, g723_1); + REGISTER_DECODER (G729, g729); ++#ifndef __HAIKU__ + REGISTER_DECODER (GSM, gsm); ++#endif + REGISTER_DECODER (GSM_MS, gsm_ms); + REGISTER_DECODER (IMC, imc); + REGISTER_DECODER (MACE3, mace3); +@@ -405,6 +423,7 @@ void avcodec_register_all(void) + REGISTER_ENCDEC (XSUB, xsub); + + /* external libraries */ ++#ifndef __HAIKU__ + REGISTER_DECODER (LIBCELT, libcelt); + REGISTER_ENCODER (LIBFAAC, libfaac); + REGISTER_ENCDEC (LIBGSM, libgsm); +@@ -414,19 +433,26 @@ void avcodec_register_all(void) + REGISTER_DECODER (LIBOPENCORE_AMRWB, libopencore_amrwb); + REGISTER_ENCDEC (LIBOPENJPEG, libopenjpeg); + REGISTER_ENCDEC (LIBSCHROEDINGER, libschroedinger); ++#endif + REGISTER_ENCDEC (LIBSPEEX, libspeex); ++#ifndef __HAIKU__ + REGISTER_DECODER (LIBSTAGEFRIGHT_H264, libstagefright_h264); ++#endif + REGISTER_ENCODER (LIBTHEORA, libtheora); ++#ifndef __HAIKU__ + REGISTER_ENCDEC (LIBUTVIDEO, libutvideo); + REGISTER_ENCODER (LIBVO_AACENC, libvo_aacenc); + REGISTER_ENCODER (LIBVO_AMRWBENC, libvo_amrwbenc); ++#endif + REGISTER_ENCDEC (LIBVORBIS, libvorbis); + REGISTER_ENCDEC (LIBVPX, libvpx); ++#ifndef __HAIKU__ + REGISTER_ENCODER (LIBX264, libx264); + REGISTER_ENCODER (LIBX264RGB, libx264rgb); + REGISTER_ENCODER (LIBXAVS, libxavs); + REGISTER_ENCODER (LIBXVID, libxvid); + REGISTER_ENCODER (LIBAACPLUS, libaacplus); ++#endif + + /* text */ + REGISTER_DECODER (BINTEXT, bintext); +diff --git a/libavcodec/dcadsp.c b/libavcodec/dcadsp.c +index dd4994d..94dd52c 100644 +--- a/libavcodec/dcadsp.c ++++ b/libavcodec/dcadsp.c +@@ -47,5 +47,7 @@ static void dca_lfe_fir_c(float *out, const float *in, const float *coefs, + void ff_dcadsp_init(DCADSPContext *s) + { + s->lfe_fir = dca_lfe_fir_c; +- if (ARCH_ARM) ff_dcadsp_init_arm(s); ++#if ARCH_ARM ++ ff_dcadsp_init_arm(s); ++#endif + } +diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c +index a13540d..8254e3a 100644 +--- a/libavcodec/dsputil.c ++++ b/libavcodec/dsputil.c +@@ -3170,13 +3170,25 @@ av_cold void ff_dsputil_init(DSPContext* c, AVCodecContext *avctx) + + + if (HAVE_MMX) ff_dsputil_init_mmx (c, avctx); +- if (ARCH_ARM) ff_dsputil_init_arm (c, avctx); +- if (HAVE_VIS) ff_dsputil_init_vis (c, avctx); +- if (ARCH_ALPHA) ff_dsputil_init_alpha (c, avctx); +- if (ARCH_PPC) ff_dsputil_init_ppc (c, avctx); +- if (HAVE_MMI) ff_dsputil_init_mmi (c, avctx); +- if (ARCH_SH4) ff_dsputil_init_sh4 (c, avctx); +- if (ARCH_BFIN) ff_dsputil_init_bfin (c, avctx); ++#if ARCH_ARM ++ ff_dsputil_init_arm (c, avctx); ++#endif ++#if HAVE_VIS ++ ff_dsputil_init_vis (c, avctx); ++#endif ++#if ARCH_ALPHA ++ ff_dsputil_init_alpha (c, avctx); ++#elif ARCH_PPC ++ ff_dsputil_init_ppc (c, avctx); ++#endif ++#if HAVE_MMI ++ ff_dsputil_init_mmi (c, avctx); ++#endif ++#if ARCH_SH4 ++ ff_dsputil_init_sh4 (c, avctx); ++#elif ARCH_BFIN ++ ff_dsputil_init_bfin (c, avctx); ++#endif + + for (i = 0; i < 4; i++) { + for (j = 0; j < 16; j++) { +diff --git a/libavcodec/fft.c b/libavcodec/fft.c +index 6b93a5c..2d0618c 100644 +--- a/libavcodec/fft.c ++++ b/libavcodec/fft.c +@@ -158,13 +158,19 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, int inverse) + #endif + + #if CONFIG_FFT_FLOAT +- if (ARCH_ARM) ff_fft_init_arm(s); +- if (HAVE_ALTIVEC) ff_fft_init_altivec(s); ++#if ARCH_ARM ++ ff_fft_init_arm(s); ++#endif ++#if HAVE_ALTIVEC ++ ff_fft_init_altivec(s); ++#endif + if (HAVE_MMX) ff_fft_init_mmx(s); + if (CONFIG_MDCT) s->mdct_calcw = s->mdct_calc; + #else + if (CONFIG_MDCT) s->mdct_calcw = ff_mdct_calcw_c; +- if (ARCH_ARM) ff_fft_fixed_init_arm(s); ++#if ARCH_ARM ++ ff_fft_fixed_init_arm(s); ++#endif + #endif + + for(j=4; j<=nbits; j++) { +diff --git a/libavcodec/fmtconvert.c b/libavcodec/fmtconvert.c +index c03117c..9a1ec1e 100644 +--- a/libavcodec/fmtconvert.c ++++ b/libavcodec/fmtconvert.c +@@ -82,8 +82,12 @@ av_cold void ff_fmt_convert_init(FmtConvertContext *c, AVCodecContext *avctx) + c->float_to_int16_interleave = float_to_int16_interleave_c; + c->float_interleave = ff_float_interleave_c; + +- if (ARCH_ARM) ff_fmt_convert_init_arm(c, avctx); +- if (HAVE_ALTIVEC) ff_fmt_convert_init_altivec(c, avctx); ++#if ARCH_ARM ++ ff_fmt_convert_init_arm(c, avctx); ++#endif ++#if HAVE_ALTIVEC ++ ff_fmt_convert_init_altivec(c, avctx); ++#endif + if (HAVE_MMX) ff_fmt_convert_init_x86(c, avctx); + } + +diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c +index 4d3c7b8..25bd9fc 100644 +--- a/libavcodec/h263dec.c ++++ b/libavcodec/h263dec.c +@@ -648,10 +648,12 @@ retry: + + if (!s->divx_packed) ff_thread_finish_setup(avctx); + +- if (CONFIG_MPEG4_VDPAU_DECODER && (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU)) { ++#if CONFIG_MPEG4_VDPAU_DECODER ++ if (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) { + ff_vdpau_mpeg4_decode_picture(s, s->gb.buffer, s->gb.buffer_end - s->gb.buffer); + goto frame_end; + } ++#endif + + if (avctx->hwaccel) { + if (avctx->hwaccel->start_frame(avctx, s->gb.buffer, s->gb.buffer_end - s->gb.buffer) < 0) +diff --git a/libavcodec/h264.c b/libavcodec/h264.c +index 1e6326f..0e45c37 100644 +--- a/libavcodec/h264.c ++++ b/libavcodec/h264.c +@@ -2746,9 +2746,10 @@ static int field_end(H264Context *h, int in_setup) + ff_thread_report_progress(&s->current_picture_ptr->f, INT_MAX, + s->picture_structure == PICT_BOTTOM_FIELD); + +- if (CONFIG_H264_VDPAU_DECODER && +- s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) ++#if CONFIG_H264_VDPAU_DECODER ++ if (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) + ff_vdpau_h264_set_reference_frames(s); ++#endif + + if (in_setup || !(avctx->active_thread_type & FF_THREAD_FRAME)) { + if (!s->dropable) { +@@ -2767,9 +2768,10 @@ static int field_end(H264Context *h, int in_setup) + "hardware accelerator failed to decode picture\n"); + } + +- if (CONFIG_H264_VDPAU_DECODER && +- s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) ++#if CONFIG_H264_VDPAU_DECODER ++ if (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) + ff_vdpau_h264_picture_complete(s); ++#endif + + /* + * FIXME: Error handling code does not seem to support interlaced +@@ -4394,9 +4396,10 @@ again: + if (s->avctx->hwaccel && + s->avctx->hwaccel->start_frame(s->avctx, NULL, 0) < 0) + return -1; +- if (CONFIG_H264_VDPAU_DECODER && +- s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) ++#if CONFIG_H264_VDPAU_DECODER ++ if (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) + ff_vdpau_h264_picture_start(s); ++#endif + } + + if (hx->redundant_pic_count == 0 && +@@ -4412,14 +4415,15 @@ again: + &buf[buf_index - consumed], + consumed) < 0) + return -1; +- } else if (CONFIG_H264_VDPAU_DECODER && +- s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) { ++#if CONFIG_H264_VDPAU_DECODER ++ } else if (s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) { + static const uint8_t start_code[] = { + 0x00, 0x00, 0x01 }; + ff_vdpau_add_data_chunk(s, start_code, + sizeof(start_code)); + ff_vdpau_add_data_chunk(s, &buf[buf_index - consumed], + consumed); ++#endif + } else + context_count++; + } +diff --git a/libavcodec/h264dsp.c b/libavcodec/h264dsp.c +index bd35aa3..0bc9037 100644 +--- a/libavcodec/h264dsp.c ++++ b/libavcodec/h264dsp.c +@@ -111,7 +111,11 @@ void ff_h264dsp_init(H264DSPContext *c, const int bit_depth, const int chroma_fo + break; + } + +- if (ARCH_ARM) ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc); +- if (HAVE_ALTIVEC) ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc); ++#if ARCH_ARM ++ ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc); ++#endif ++#if HAVE_ALTIVEC ++ ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc); ++#endif + if (HAVE_MMX) ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc); + } +diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c +index a174b4c..19921d8 100644 +--- a/libavcodec/h264pred.c ++++ b/libavcodec/h264pred.c +@@ -532,6 +532,8 @@ void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth, co + break; + } + +- if (ARCH_ARM) ff_h264_pred_init_arm(h, codec_id, bit_depth, chroma_format_idc); ++#if ARCH_ARM ++ ff_h264_pred_init_arm(h, codec_id, bit_depth, chroma_format_idc); ++#endif + if (HAVE_MMX) ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc); + } +diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c +index bcee1d8..25c573d 100644 +--- a/libavcodec/mpeg12.c ++++ b/libavcodec/mpeg12.c +@@ -834,12 +834,14 @@ static int mpeg_decode_mb(MpegEncContext *s, DCTELEM block[12][64]) + memset(s->last_mv, 0, sizeof(s->last_mv)); /* reset mv prediction */ + s->mb_intra = 1; + // if 1, we memcpy blocks in xvmcvideo +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration > 1) { ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration > 1) { + ff_xvmc_pack_pblocks(s, -1); // inter are always full blocks + if (s->swap_uv) { + exchange_uv(s); + } + } ++#endif + + if (s->codec_id == CODEC_ID_MPEG2VIDEO) { + if (s->flags2 & CODEC_FLAG2_FAST) { +@@ -1052,12 +1054,14 @@ static int mpeg_decode_mb(MpegEncContext *s, DCTELEM block[12][64]) + } + + //if 1, we memcpy blocks in xvmcvideo +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration > 1) { ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration > 1) { + ff_xvmc_pack_pblocks(s, cbp); + if (s->swap_uv) { + exchange_uv(s); + } + } ++#endif + + if (s->codec_id == CODEC_ID_MPEG2VIDEO) { + if (s->flags2 & CODEC_FLAG2_FAST) { +@@ -1656,9 +1660,11 @@ static int mpeg_field_start(MpegEncContext *s, const uint8_t *buf, int buf_size) + + // MPV_frame_start will call this function too, + // but we need to call it on every field +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration) + if (ff_xvmc_field_start(s, avctx) < 0) + return -1; ++#endif + + return 0; + } +@@ -1762,8 +1768,10 @@ static int mpeg_decode_slice(MpegEncContext *s, int mb_y, + + for (;;) { + // If 1, we memcpy blocks in xvmcvideo. +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration > 1) ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration > 1) + ff_xvmc_init_block(s); // set s->block ++#endif + + if (mpeg_decode_mb(s, s->block) < 0) + return -1; +@@ -1954,8 +1962,10 @@ static int slice_end(AVCodecContext *avctx, AVFrame *pict) + av_log(avctx, AV_LOG_ERROR, "hardware accelerator failed to decode picture\n"); + } + +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration) + ff_xvmc_field_end(s); ++#endif + + /* end of slice reached */ + if (/*s->mb_y << field_pic == s->mb_height &&*/ !s->first_field && !s->first_slice) { +@@ -2332,9 +2342,10 @@ static int decode_chunks(AVCodecContext *avctx, + s2->error_count += s2->thread_context[i]->error_count; + } + +- if (CONFIG_VDPAU && uses_vdpau(avctx)) ++#if CONFIG_VDPAU ++ if (uses_vdpau(avctx)) + ff_vdpau_mpeg_picture_complete(s2, buf, buf_size, s->slice_count); +- ++#endif + + if (slice_end(avctx, picture)) { + if (s2->last_picture_ptr || s2->low_delay) //FIXME merge with the stuff in mpeg_decode_slice +diff --git a/libavcodec/mpegaudiodsp.c b/libavcodec/mpegaudiodsp.c +index cc12dd9..2e8d214 100644 +--- a/libavcodec/mpegaudiodsp.c ++++ b/libavcodec/mpegaudiodsp.c +@@ -40,7 +40,11 @@ void ff_mpadsp_init(MPADSPContext *s) + s->imdct36_blocks_float = ff_imdct36_blocks_float; + s->imdct36_blocks_fixed = ff_imdct36_blocks_fixed; + +- if (ARCH_ARM) ff_mpadsp_init_arm(s); ++#if ARCH_ARM ++ ff_mpadsp_init_arm(s); ++#endif + if (HAVE_MMX) ff_mpadsp_init_mmx(s); +- if (HAVE_ALTIVEC) ff_mpadsp_init_altivec(s); ++#if HAVE_ALTIVEC ++ ff_mpadsp_init_altivec(s); ++#endif + } +diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c +index 705951a..b4ebe84 100644 +--- a/libavcodec/mpegvideo.c ++++ b/libavcodec/mpegvideo.c +@@ -1327,8 +1327,10 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) + update_noise_reduction(s); + } + +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration) + return ff_xvmc_field_start(s, avctx); ++#endif + + return 0; + } +@@ -1340,9 +1342,12 @@ void ff_MPV_frame_end(MpegEncContext *s) + int i; + /* redraw edges for the frame if decoding didn't complete */ + // just to make sure that all data is rendered. +- if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) { ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration) { + ff_xvmc_field_end(s); +- } else if((s->error_count || s->encoding || !(s->avctx->codec->capabilities&CODEC_CAP_DRAW_HORIZ_BAND)) && ++ } else ++#endif ++ if((s->error_count || s->encoding || !(s->avctx->codec->capabilities&CODEC_CAP_DRAW_HORIZ_BAND)) && + !s->avctx->hwaccel && + !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) && + s->unrestricted_mv && +@@ -2271,10 +2276,12 @@ void MPV_decode_mb_internal(MpegEncContext *s, DCTELEM block[12][64], + int lowres_flag, int is_mpeg12) + { + const int mb_xy = s->mb_y * s->mb_stride + s->mb_x; +- if(CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration){ ++#if CONFIG_MPEG_XVMC_DECODER ++ if (s->avctx->xvmc_acceleration){ + ff_xvmc_decode_mb(s);//xvmc uses pblocks + return; + } ++#endif + + if(s->avctx->debug&FF_DEBUG_DCT_COEFF) { + /* save DCT coefficients */ +diff --git a/libavcodec/rdft.c b/libavcodec/rdft.c +index ebddd8b..66918f9 100644 +--- a/libavcodec/rdft.c ++++ b/libavcodec/rdft.c +@@ -122,7 +122,9 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans) + #endif + s->rdft_calc = ff_rdft_calc_c; + +- if (ARCH_ARM) ff_rdft_init_arm(s); ++#if ARCH_ARM ++ ff_rdft_init_arm(s); ++#endif + + return 0; + } +diff --git a/libavcodec/rv34dsp.c b/libavcodec/rv34dsp.c +index 1ddcea4..93bd66f 100644 +--- a/libavcodec/rv34dsp.c ++++ b/libavcodec/rv34dsp.c +@@ -134,8 +134,9 @@ av_cold void ff_rv34dsp_init(RV34DSPContext *c, DSPContext* dsp) { + c->rv34_idct_add = rv34_idct_add_c; + c->rv34_idct_dc_add = rv34_idct_dc_add_c; + +- if (HAVE_NEON) ++#if HAVE_NEON + ff_rv34dsp_init_neon(c, dsp); ++#endif + if (HAVE_MMX) + ff_rv34dsp_init_x86(c, dsp); + } +diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c +index 8ba10be..d1b922c 100644 +--- a/libavcodec/rv40dsp.c ++++ b/libavcodec/rv40dsp.c +@@ -604,6 +604,7 @@ av_cold void ff_rv40dsp_init(RV34DSPContext *c, DSPContext* dsp) { + + if (HAVE_MMX) + ff_rv40dsp_init_x86(c, dsp); +- if (HAVE_NEON) ++#if HAVE_NEON + ff_rv40dsp_init_neon(c, dsp); ++#endif + } +diff --git a/libavcodec/sbrdsp.c b/libavcodec/sbrdsp.c +index 8c88fb3..1b514f4 100644 +--- a/libavcodec/sbrdsp.c ++++ b/libavcodec/sbrdsp.c +@@ -241,8 +241,9 @@ av_cold void ff_sbrdsp_init(SBRDSPContext *s) + s->hf_apply_noise[2] = sbr_hf_apply_noise_2; + s->hf_apply_noise[3] = sbr_hf_apply_noise_3; + +- if (ARCH_ARM) ++#if ARCH_ARM + ff_sbrdsp_init_arm(s); ++#endif + if (HAVE_MMX) + ff_sbrdsp_init_x86(s); + } +diff --git a/libavcodec/synth_filter.c b/libavcodec/synth_filter.c +index 5f10530..6022355 100644 +--- a/libavcodec/synth_filter.c ++++ b/libavcodec/synth_filter.c +@@ -60,5 +60,7 @@ av_cold void ff_synth_filter_init(SynthFilterContext *c) + { + c->synth_filter_float = synth_filter_float; + +- if (ARCH_ARM) ff_synth_filter_init_arm(c); ++#if ARCH_ARM ++ ff_synth_filter_init_arm(c); ++#endif + } +diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c +index 309194e..bc266d6 100644 +--- a/libavcodec/vc1dec.c ++++ b/libavcodec/vc1dec.c +@@ -5545,10 +5545,12 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data, + s->me.qpel_put = s->dsp.put_qpel_pixels_tab; + s->me.qpel_avg = s->dsp.avg_qpel_pixels_tab; + +- if ((CONFIG_VC1_VDPAU_DECODER) +- &&s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU) ++#if CONFIG_VC1_VDPAU_DECODER ++ if (s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU) + ff_vdpau_vc1_decode_picture(s, buf_start, (buf + buf_size) - buf_start); +- else if (avctx->hwaccel) { ++ else ++#endif ++ if (avctx->hwaccel) { + if (avctx->hwaccel->start_frame(avctx, buf, buf_size) < 0) + goto err; + if (avctx->hwaccel->decode_slice(avctx, buf_start, (buf + buf_size) - buf_start) < 0) +diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c +index da7593f..90ede54 100644 +--- a/libavcodec/vc1dsp.c ++++ b/libavcodec/vc1dsp.c +@@ -846,8 +846,9 @@ av_cold void ff_vc1dsp_init(VC1DSPContext* dsp) { + dsp->sprite_v_double_twoscale = sprite_v_double_twoscale_c; + #endif + +- if (HAVE_ALTIVEC) ++#if HAVE_ALTIVEC + ff_vc1dsp_init_altivec(dsp); ++#endif + if (HAVE_MMX) + ff_vc1dsp_init_mmx(dsp); + } +diff --git a/libavcodec/vp56dsp.c b/libavcodec/vp56dsp.c +index c629343..d4d9e1c 100644 +--- a/libavcodec/vp56dsp.c ++++ b/libavcodec/vp56dsp.c +@@ -88,6 +88,8 @@ void ff_vp56dsp_init(VP56DSPContext *s, enum CodecID codec) + } + } + +- if (ARCH_ARM) ff_vp56dsp_init_arm(s, codec); ++#if ARCH_ARM ++ ff_vp56dsp_init_arm(s, codec); ++#endif + if (HAVE_MMX) ff_vp56dsp_init_x86(s, codec); + } +diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c +index 1ee070c..423410e 100644 +--- a/libavcodec/vp8dsp.c ++++ b/libavcodec/vp8dsp.c +@@ -522,8 +522,9 @@ av_cold void ff_vp8dsp_init(VP8DSPContext *dsp) + + if (HAVE_MMX) + ff_vp8dsp_init_x86(dsp); +- if (HAVE_ALTIVEC) ++#if HAVE_ALTIVEC + ff_vp8dsp_init_altivec(dsp); +- if (ARCH_ARM) ++#elif ARCH_ARM + ff_vp8dsp_init_arm(dsp); ++#endif + } +diff --git a/libavcodec/x86/ac3dsp_mmx.c b/libavcodec/x86/ac3dsp_mmx.c +index 54fa380..b797268 100644 +--- a/libavcodec/x86/ac3dsp_mmx.c ++++ b/libavcodec/x86/ac3dsp_mmx.c +@@ -59,16 +59,19 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact) + c->ac3_lshift_int16 = ff_ac3_lshift_int16_mmx; + c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx; + } ++#if HAVE_AMD3DNOW + if (mm_flags & AV_CPU_FLAG_3DNOW && HAVE_AMD3DNOW) { + c->extract_exponents = ff_ac3_extract_exponents_3dnow; + if (!bit_exact) { + c->float_to_fixed24 = ff_float_to_fixed24_3dnow; + } + } ++#endif + if (mm_flags & AV_CPU_FLAG_MMX2 && HAVE_MMX2) { + c->ac3_exponent_min = ff_ac3_exponent_min_mmxext; + c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_mmx2; + } ++#if HAVE_SSE + if (mm_flags & AV_CPU_FLAG_SSE && HAVE_SSE) { + c->float_to_fixed24 = ff_float_to_fixed24_sse; + } +@@ -83,6 +86,8 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact) + c->ac3_rshift_int32 = ff_ac3_rshift_int32_sse2; + } + } ++#endif ++#if HAVE_SSSE3 + if (mm_flags & AV_CPU_FLAG_SSSE3 && HAVE_SSSE3) { + c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_ssse3; + if (!(mm_flags & AV_CPU_FLAG_ATOM)) { +@@ -90,4 +95,5 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact) + } + } + #endif ++#endif + } +diff --git a/libavcodec/x86/fft.c b/libavcodec/x86/fft.c +index 7c21335..4b0d908 100644 +--- a/libavcodec/x86/fft.c ++++ b/libavcodec/x86/fft.c +@@ -25,6 +25,7 @@ av_cold void ff_fft_init_mmx(FFTContext *s) + { + #if HAVE_YASM + int has_vectors = av_get_cpu_flags(); ++#if HAVE_AMD3DNOW + if (has_vectors & AV_CPU_FLAG_3DNOW && HAVE_AMD3DNOW) { + /* 3DNow! for K6-2/3 */ + s->imdct_calc = ff_imdct_calc_3dn; +@@ -37,6 +38,8 @@ av_cold void ff_fft_init_mmx(FFTContext *s) + s->imdct_half = ff_imdct_half_3dn2; + s->fft_calc = ff_fft_calc_3dn2; + } ++#endif ++#if HAVE_SSE + if (has_vectors & AV_CPU_FLAG_SSE && HAVE_SSE) { + /* SSE for P3/P4/K8 */ + s->imdct_calc = ff_imdct_calc_sse; +@@ -45,6 +48,8 @@ av_cold void ff_fft_init_mmx(FFTContext *s) + s->fft_calc = ff_fft_calc_sse; + s->fft_permutation = FF_FFT_PERM_SWAP_LSBS; + } ++#endif ++#if HAVE_AVX + if (has_vectors & AV_CPU_FLAG_AVX && HAVE_AVX && s->nbits >= 5) { + /* AVX for SB */ + s->imdct_half = ff_imdct_half_avx; +@@ -52,6 +57,7 @@ av_cold void ff_fft_init_mmx(FFTContext *s) + s->fft_permutation = FF_FFT_PERM_AVX; + } + #endif ++#endif + } + + #if CONFIG_DCT +@@ -59,12 +65,16 @@ av_cold void ff_dct_init_mmx(DCTContext *s) + { + #if HAVE_YASM + int has_vectors = av_get_cpu_flags(); ++#if HAVE_SSE + if (has_vectors & AV_CPU_FLAG_SSE && HAVE_SSE) + s->dct32 = ff_dct32_float_sse; + if (has_vectors & AV_CPU_FLAG_SSE2 && HAVE_SSE) + s->dct32 = ff_dct32_float_sse2; ++#endif ++#if HAVE_AVX + if (has_vectors & AV_CPU_FLAG_AVX && HAVE_AVX) + s->dct32 = ff_dct32_float_avx; + #endif ++#endif + } + #endif +diff --git a/libavcodec/x86/h264dsp_mmx.c b/libavcodec/x86/h264dsp_mmx.c +index 063e3de..6a2c7d9 100644 +--- a/libavcodec/x86/h264dsp_mmx.c ++++ b/libavcodec/x86/h264dsp_mmx.c +@@ -420,6 +420,7 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, const int chrom + c->biweight_h264_pixels_tab[0]= ff_h264_biweight_16_ssse3; + c->biweight_h264_pixels_tab[1]= ff_h264_biweight_8_ssse3; + } ++#if HAVE_AVX + if (HAVE_AVX && mm_flags&AV_CPU_FLAG_AVX) { + #if HAVE_ALIGNED_STACK + c->h264_v_loop_filter_luma = ff_deblock_v_luma_8_avx; +@@ -428,6 +429,7 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, const int chrom + c->h264_h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_avx; + #endif + } ++#endif + } + } + #endif +diff --git a/libavcodec/x86/v210-init.c b/libavcodec/x86/v210-init.c +index c961178..b61f1e8 100644 +--- a/libavcodec/x86/v210-init.c ++++ b/libavcodec/x86/v210-init.c +@@ -34,15 +34,19 @@ av_cold void v210_x86_init(V210DecContext *s) + if (cpu_flags & AV_CPU_FLAG_SSSE3) + s->unpack_frame = ff_v210_planar_unpack_aligned_ssse3; + ++#if HAVE_AVX + if (HAVE_AVX && cpu_flags & AV_CPU_FLAG_AVX) + s->unpack_frame = ff_v210_planar_unpack_aligned_avx; ++#endif + } + else { + if (cpu_flags & AV_CPU_FLAG_SSSE3) + s->unpack_frame = ff_v210_planar_unpack_unaligned_ssse3; + ++#if HAVE_AVX + if (HAVE_AVX && cpu_flags & AV_CPU_FLAG_AVX) + s->unpack_frame = ff_v210_planar_unpack_unaligned_avx; ++#endif + } + #endif + } +diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c +index 86ebfee..8424bdd 100644 +--- a/libavdevice/alldevices.c ++++ b/libavdevice/alldevices.c +@@ -38,6 +38,7 @@ void avdevice_register_all(void) + initialized = 1; + + /* devices */ ++#ifndef __HAIKU__ + REGISTER_INOUTDEV (ALSA, alsa); + REGISTER_INDEV (BKTR, bktr); + REGISTER_INDEV (DSHOW, dshow); +@@ -58,4 +59,5 @@ void avdevice_register_all(void) + /* external libraries */ + REGISTER_INDEV (LIBCDIO, libcdio); + REGISTER_INDEV (LIBDC1394, libdc1394); ++#endif + } +diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c +index b9d44f2..2a95845 100644 +--- a/libavfilter/allfilters.c ++++ b/libavfilter/allfilters.c +@@ -43,12 +43,16 @@ void avfilter_register_all(void) + REGISTER_FILTER (ASHOWINFO, ashowinfo, af); + REGISTER_FILTER (ASPLIT, asplit, af); + REGISTER_FILTER (ASTREAMSYNC, astreamsync, af); ++#ifndef __HAIKU__ + REGISTER_FILTER (ASYNCTS, asyncts, af); ++#endif + REGISTER_FILTER (EARWAX, earwax, af); + REGISTER_FILTER (PAN, pan, af); + REGISTER_FILTER (SILENCEDETECT, silencedetect, af); + REGISTER_FILTER (VOLUME, volume, af); ++#ifndef __HAIKU__ + REGISTER_FILTER (RESAMPLE, resample, af); ++#endif + + REGISTER_FILTER (AEVALSRC, aevalsrc, asrc); + REGISTER_FILTER (AMOVIE, amovie, asrc); +@@ -57,37 +61,53 @@ void avfilter_register_all(void) + REGISTER_FILTER (ABUFFERSINK, abuffersink, asink); + REGISTER_FILTER (ANULLSINK, anullsink, asink); + ++#ifndef __HAIKU__ + REGISTER_FILTER (ASS, ass, vf); ++#endif + REGISTER_FILTER (BBOX, bbox, vf); + REGISTER_FILTER (BLACKDETECT, blackdetect, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (BLACKFRAME, blackframe, vf); + REGISTER_FILTER (BOXBLUR, boxblur, vf); + REGISTER_FILTER (COLORMATRIX, colormatrix, vf); ++#endif + REGISTER_FILTER (COPY, copy, vf); + REGISTER_FILTER (CROP, crop, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (CROPDETECT, cropdetect, vf); + REGISTER_FILTER (DELOGO, delogo, vf); ++#endif + REGISTER_FILTER (DESHAKE, deshake, vf); + REGISTER_FILTER (DRAWBOX, drawbox, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (DRAWTEXT, drawtext, vf); ++#endif + REGISTER_FILTER (FADE, fade, vf); + REGISTER_FILTER (FIELDORDER, fieldorder, vf); + REGISTER_FILTER (FIFO, fifo, vf); + REGISTER_FILTER (FORMAT, format, vf); + REGISTER_FILTER (FPS, fps, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (FREI0R, frei0r, vf); ++#endif + REGISTER_FILTER (GRADFUN, gradfun, vf); + REGISTER_FILTER (HFLIP, hflip, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (HQDN3D, hqdn3d, vf); ++#endif + REGISTER_FILTER (IDET, idet, vf); + REGISTER_FILTER (LUT, lut, vf); + REGISTER_FILTER (LUTRGB, lutrgb, vf); + REGISTER_FILTER (LUTYUV, lutyuv, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (MP, mp, vf); ++#endif + REGISTER_FILTER (NEGATE, negate, vf); + REGISTER_FILTER (NOFORMAT, noformat, vf); + REGISTER_FILTER (NULL, null, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (OCV, ocv, vf); ++#endif + REGISTER_FILTER (OVERLAY, overlay, vf); + REGISTER_FILTER (PAD, pad, vf); + REGISTER_FILTER (PIXDESCTEST, pixdesctest, vf); +@@ -101,23 +121,33 @@ void avfilter_register_all(void) + REGISTER_FILTER (SHOWINFO, showinfo, vf); + REGISTER_FILTER (SLICIFY, slicify, vf); + REGISTER_FILTER (SPLIT, split, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (SUPER2XSAI, super2xsai, vf); ++#endif + REGISTER_FILTER (SWAPUV, swapuv, vf); + REGISTER_FILTER (THUMBNAIL, thumbnail, vf); + REGISTER_FILTER (TILE, tile, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (TINTERLACE, tinterlace, vf); ++#endif + REGISTER_FILTER (TRANSPOSE, transpose, vf); + REGISTER_FILTER (UNSHARP, unsharp, vf); + REGISTER_FILTER (VFLIP, vflip, vf); ++#ifndef __HAIKU__ + REGISTER_FILTER (YADIF, yadif, vf); ++#endif + + REGISTER_FILTER (CELLAUTO, cellauto, vsrc); + REGISTER_FILTER (COLOR, color, vsrc); ++#ifndef __HAIKU__ + REGISTER_FILTER (FREI0R, frei0r_src, vsrc); ++#endif + REGISTER_FILTER (LIFE, life, vsrc); + REGISTER_FILTER (MANDELBROT, mandelbrot, vsrc); + REGISTER_FILTER (MOVIE, movie, vsrc); ++#ifndef __HAIKU__ + REGISTER_FILTER (MPTESTSRC, mptestsrc, vsrc); ++#endif + REGISTER_FILTER (NULLSRC, nullsrc, vsrc); + REGISTER_FILTER (RGBTESTSRC, rgbtestsrc, vsrc); + REGISTER_FILTER (TESTSRC, testsrc, vsrc); +diff --git a/libavformat/allformats.c b/libavformat/allformats.c +index 1862449..2c849b3 100644 +--- a/libavformat/allformats.c ++++ b/libavformat/allformats.c +@@ -67,7 +67,9 @@ void av_register_all(void) + REGISTER_MUXER (ASF_STREAM, asf_stream); + REGISTER_MUXDEMUX (AU, au); + REGISTER_MUXDEMUX (AVI, avi); ++#ifndef __HAIKU__ + REGISTER_DEMUXER (AVISYNTH, avisynth); ++#endif + REGISTER_MUXER (AVM2, avm2); + REGISTER_DEMUXER (AVS, avs); + REGISTER_DEMUXER (BETHSOFTVID, bethsoftvid); +@@ -92,7 +94,9 @@ void av_register_all(void) + REGISTER_DEMUXER (DXA, dxa); + REGISTER_DEMUXER (EA, ea); + REGISTER_DEMUXER (EA_CDATA, ea_cdata); ++#ifndef __HAIKU__ + REGISTER_MUXDEMUX (EAC3, eac3); ++#endif + REGISTER_MUXDEMUX (FFM, ffm); + REGISTER_MUXDEMUX (FFMETADATA, ffmetadata); + REGISTER_MUXDEMUX (FILMSTRIP, filmstrip); +@@ -121,7 +125,9 @@ void av_register_all(void) + REGISTER_DEMUXER (INGENIENT, ingenient); + REGISTER_DEMUXER (IPMOVIE, ipmovie); + REGISTER_MUXER (IPOD, ipod); ++#ifndef __HAIKU__ + REGISTER_MUXER (ISMV, ismv); ++#endif + REGISTER_DEMUXER (ISS, iss); + REGISTER_DEMUXER (IV8, iv8); + REGISTER_MUXDEMUX (IVF, ivf); +@@ -146,7 +152,9 @@ void av_register_all(void) + REGISTER_MUXDEMUX (MP3, mp3); + REGISTER_MUXER (MP4, mp4); + REGISTER_DEMUXER (MPC, mpc); ++#ifndef __HAIKU__ + REGISTER_DEMUXER (MPC8, mpc8); ++#endif + REGISTER_MUXER (MPEG1SYSTEM, mpeg1system); + REGISTER_MUXER (MPEG1VCD, mpeg1vcd); + REGISTER_MUXER (MPEG1VIDEO, mpeg1video); +@@ -262,7 +270,9 @@ void av_register_all(void) + #if FF_API_APPLEHTTP_PROTO + REGISTER_PROTOCOL (APPLEHTTP, applehttp); + #endif ++#ifndef __HAIKU__ + REGISTER_PROTOCOL (BLURAY, bluray); ++#endif + REGISTER_PROTOCOL (CACHE, cache); + REGISTER_PROTOCOL (CONCAT, concat); + REGISTER_PROTOCOL (CRYPTO, crypto); +@@ -271,23 +281,31 @@ void av_register_all(void) + REGISTER_PROTOCOL (HLS, hls); + REGISTER_PROTOCOL (HTTP, http); + REGISTER_PROTOCOL (HTTPPROXY, httpproxy); ++#ifndef __HAIKU__ + REGISTER_PROTOCOL (HTTPS, https); ++#endif + REGISTER_PROTOCOL (MMSH, mmsh); + REGISTER_PROTOCOL (MMST, mmst); + REGISTER_PROTOCOL (MD5, md5); + REGISTER_PROTOCOL (PIPE, pipe); + REGISTER_PROTOCOL (RTMP, rtmp); + REGISTER_PROTOCOL (RTP, rtp); ++#ifndef __HAIKU__ + REGISTER_PROTOCOL (SCTP, sctp); ++#endif + REGISTER_PROTOCOL (TCP, tcp); ++#ifndef __HAIKU__ + REGISTER_PROTOCOL (TLS, tls); ++#endif + REGISTER_PROTOCOL (UDP, udp); + + /* external libraries */ ++#ifndef __HAIKU__ + REGISTER_MUXDEMUX (LIBNUT, libnut); + REGISTER_PROTOCOL (LIBRTMP, librtmp); + REGISTER_PROTOCOL (LIBRTMPE, librtmpe); + REGISTER_PROTOCOL (LIBRTMPS, librtmps); + REGISTER_PROTOCOL (LIBRTMPT, librtmpt); + REGISTER_PROTOCOL (LIBRTMPTE, librtmpte); ++#endif + } +diff --git a/libavutil/cpu.c b/libavutil/cpu.c +index b911880..56cac12 100644 +--- a/libavutil/cpu.c ++++ b/libavutil/cpu.c +@@ -32,9 +32,13 @@ int av_get_cpu_flags(void) + if (checked) + return flags; + +- if (ARCH_ARM) flags = ff_get_cpu_flags_arm(); +- if (ARCH_PPC) flags = ff_get_cpu_flags_ppc(); +- if (ARCH_X86) flags = ff_get_cpu_flags_x86(); ++#if ARCH_ARM ++ flags = ff_get_cpu_flags_arm(); ++#elif ARCH_PPC ++ flags = ff_get_cpu_flags_ppc(); ++#else ++ flags = ff_get_cpu_flags_x86(); ++#endif + + checked = 1; + return flags; +diff --git a/libswresample/x86/swresample_x86.c b/libswresample/x86/swresample_x86.c +index 5436bc3..b1b6d3c 100644 +--- a/libswresample/x86/swresample_x86.c ++++ b/libswresample/x86/swresample_x86.c +@@ -129,6 +129,7 @@ MULTI_CAPS_FUNC(AV_CPU_FLAG_SSE, sse) + ac->simd_f = ff_pack_6ch_float_to_int32_a_sse4; + } + } ++#if HAVE_AVX + if(HAVE_AVX && mm_flags & AV_CPU_FLAG_AVX) { + if( out_fmt == AV_SAMPLE_FMT_FLT && in_fmt == AV_SAMPLE_FMT_S32 || out_fmt == AV_SAMPLE_FMT_FLTP && in_fmt == AV_SAMPLE_FMT_S32P) + ac->simd_f = ff_int32_to_float_a_avx; +@@ -141,4 +142,5 @@ MULTI_CAPS_FUNC(AV_CPU_FLAG_SSE, sse) + ac->simd_f = ff_pack_6ch_float_to_int32_a_avx; + } + } ++#endif + } +diff --git a/libswscale/swscale.c b/libswscale/swscale.c +index 5dd4124..5dc0f11 100644 +--- a/libswscale/swscale.c ++++ b/libswscale/swscale.c +@@ -736,8 +736,9 @@ SwsFunc ff_getSwsFunc(SwsContext *c) + + if (HAVE_MMX) + ff_sws_init_swScale_mmx(c); +- if (HAVE_ALTIVEC) ++#if HAVE_ALTIVEC + ff_sws_init_swScale_altivec(c); ++#endif + + return swScale; + } +diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c +index 74a61b8..b46a710 100644 +--- a/libswscale/swscale_unscaled.c ++++ b/libswscale/swscale_unscaled.c +@@ -984,10 +984,11 @@ void ff_get_unscaled_swscale(SwsContext *c) + c->swScale = planarCopyWrapper; + } + +- if (ARCH_BFIN) ++#if ARCH_BFIN + ff_bfin_get_unscaled_swscale(c); +- if (HAVE_ALTIVEC) ++#elif HAVE_ALTIVEC + ff_swscale_get_unscaled_altivec(c); ++#endif + } + + static void reset_ptr(const uint8_t *src[], int format) +diff --git a/libswscale/utils.c b/libswscale/utils.c +index dc489de..e5098b9 100644 +--- a/libswscale/utils.c ++++ b/libswscale/utils.c +@@ -778,9 +778,11 @@ int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4], + contrast, saturation); + // FIXME factorize + +- if (HAVE_ALTIVEC && av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC) ++#if HAVE_ALITVEC ++ if (av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC) + ff_yuv2rgb_init_tables_altivec(c, inv_table, brightness, + contrast, saturation); ++#endif + return 0; + } + +diff --git a/libswscale/x86/swscale_mmx.c b/libswscale/x86/swscale_mmx.c +index 0c8732c..2810500 100644 +--- a/libswscale/x86/swscale_mmx.c ++++ b/libswscale/x86/swscale_mmx.c +@@ -524,6 +524,7 @@ switch(c->dstBpc){ \ + c->yuv2plane1 = ff_yuv2plane1_16_sse4; + } + ++#if HAVE_AVX + if (HAVE_AVX && cpu_flags & AV_CPU_FLAG_AVX) { + ASSIGN_VSCALEX_FUNC(c->yuv2planeX, avx,); + ASSIGN_VSCALE_FUNC(c->yuv2plane1, avx, avx, 1); +@@ -552,4 +553,5 @@ switch(c->dstBpc){ \ + } + } + #endif ++#endif + } +diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c +index 446b433..e3e8036 100644 +--- a/libswscale/yuv2rgb.c ++++ b/libswscale/yuv2rgb.c +@@ -536,12 +536,15 @@ SwsFunc ff_yuv2rgb_get_func_ptr(SwsContext *c) + + if (HAVE_MMX) + t = ff_yuv2rgb_init_mmx(c); +- else if (HAVE_VIS) ++ else { ++#if HAVE_VIS + t = ff_yuv2rgb_init_vis(c); +- else if (HAVE_ALTIVEC) ++#elif HAVE_ALTIVEC + t = ff_yuv2rgb_init_altivec(c); +- else if (ARCH_BFIN) ++#elif ARCH_BFIN + t = ff_yuv2rgb_get_func_ptr_bfin(c); ++#endif ++ } + + if (t) + return t; +-- +1.8.3.4 +