summaryrefslogtreecommitdiffstats
path: root/ffmpeg
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2010-05-29 15:18:57 +0000
committer Eric Hameleers <alien@slackware.com>2010-05-29 15:18:57 +0000
commit75c56d3f9f62a518211681a38e5d4781d147c3a2 (patch)
treee93d2868bc75c36369bec6dc0d2475bee01a4e3d /ffmpeg
parent9ff2dfd6cbe32353208356170d2f312c4fe1f8b6 (diff)
downloadasb-75c56d3f9f62a518211681a38e5d4781d147c3a2.tar.gz
asb-75c56d3f9f62a518211681a38e5d4781d147c3a2.tar.xz
Initial revision
Diffstat (limited to 'ffmpeg')
-rw-r--r--ffmpeg/build/ffmpeg-r23357_webm_fix.diff241
-rw-r--r--ffmpeg/build/ffmpeg-r23357_x86_64_asm.patch163
2 files changed, 404 insertions, 0 deletions
diff --git a/ffmpeg/build/ffmpeg-r23357_webm_fix.diff b/ffmpeg/build/ffmpeg-r23357_webm_fix.diff
new file mode 100644
index 00000000..60542df3
--- /dev/null
+++ b/ffmpeg/build/ffmpeg-r23357_webm_fix.diff
@@ -0,0 +1,241 @@
+diff -uarN ffmpeg-r23357/configure ffmpeg-r23357.new/configure
+--- ffmpeg-r23357/configure 2010-05-28 01:00:29.000000000 +0200
++++ ffmpeg-r23357.new/configure 2010-05-28 14:13:45.000000000 +0200
+@@ -1352,6 +1352,7 @@
+ libtheora_encoder_deps="libtheora"
+ libvorbis_encoder_deps="libvorbis"
+ libvpx_decoder_deps="libvpx"
++libvpx_encoder_deps="libvpx"
+ libx264_encoder_deps="libx264"
+ libxvid_encoder_deps="libxvid"
+
+@@ -2621,7 +2622,8 @@
+ enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
+ enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
+ enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
+-enabled libvpx && require2 libvpx "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver" -lvpx
++enabled libvpx && require2 libvpx "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver" -lvpx &&
++ require2 libvpx "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver" -lvpx
+ enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 -lm &&
+ { check_cpp_condition x264.h "X264_BUILD >= 90" ||
+ die "ERROR: libx264 version must be >= 0.90."; }
+diff -uarN ffmpeg-r23357/libavcodec/Makefile ffmpeg-r23357.new/libavcodec/Makefile
+--- ffmpeg-r23357/libavcodec/Makefile 2010-05-28 14:15:18.000000000 +0200
++++ ffmpeg-r23357.new/libavcodec/Makefile 2010-05-28 14:12:41.000000000 +0200
+@@ -538,6 +538,7 @@
+ OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o
+ OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbis.o
+ OBJS-$(CONFIG_LIBVPX_DECODER) += libvpxdec.o
++OBJS-$(CONFIG_LIBVPX_ENCODER) += libvpxenc.o
+ OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o
+ OBJS-$(CONFIG_LIBXVID_ENCODER) += libxvidff.o libxvid_rc.o
+
+diff -uarN ffmpeg-r23357/libavcodec/allcodecs.c ffmpeg-r23357.new/libavcodec/allcodecs.c
+--- ffmpeg-r23357/libavcodec/allcodecs.c 2010-05-28 14:15:18.000000000 +0200
++++ ffmpeg-r23357.new/libavcodec/allcodecs.c 2010-05-28 14:12:41.000000000 +0200
+@@ -349,7 +349,7 @@
+ REGISTER_DECODER (LIBSPEEX, libspeex);
+ REGISTER_ENCODER (LIBTHEORA, libtheora);
+ REGISTER_ENCODER (LIBVORBIS, libvorbis);
+- REGISTER_DECODER (LIBVPX, libvpx);
++ REGISTER_ENCDEC (LIBVPX, libvpx);
+ REGISTER_ENCODER (LIBX264, libx264);
+ REGISTER_ENCODER (LIBXVID, libxvid);
+
+diff -uarN ffmpeg-r23357/libavcodec/libvpxdec.c ffmpeg-r23357.new/libavcodec/libvpxdec.c
+--- ffmpeg-r23357/libavcodec/libvpxdec.c 2010-05-28 14:15:18.000000000 +0200
++++ ffmpeg-r23357.new/libavcodec/libvpxdec.c 2010-05-28 14:13:10.000000000 +0200
+@@ -24,8 +24,8 @@
+ */
+
+ #define VPX_CODEC_DISABLE_COMPAT 1
+-#include <vpx_decoder.h>
+-#include <vp8dx.h>
++#include <vpx/vpx_decoder.h>
++#include <vpx/vp8dx.h>
+
+ #include "avcodec.h"
+
+@@ -70,130 +70,6 @@
+
+ if (vpx_codec_decode(&ctx->decoder, avpkt->data, avpkt->size, NULL, 0) !=
+ VPX_CODEC_OK) {
+- const char *error = vpx_codec_error(&ctx->decoder);
+- const char *detail = vpx_codec_error_detail(&ctx->decoder);
+-
+- av_log(avctx, AV_LOG_ERROR, "Failed to decode frame: %s\n", error);
+- if (detail)
+- av_log(avctx, AV_LOG_ERROR, " Additional information: %s\n",
+- detail);
+- return AVERROR_INVALIDDATA;
+- }
+-
+- if ((img = vpx_codec_get_frame(&ctx->decoder, &iter))) {
+- if (img->fmt != VPX_IMG_FMT_I420) {
+- av_log(avctx, AV_LOG_ERROR, "Unsupported output colorspace (%d)\n",
+- img->fmt);
+- return AVERROR_INVALIDDATA;
+- }
+-
+- if ((int) img->d_w != avctx->width || (int) img->d_h != avctx->height) {
+- av_log(avctx, AV_LOG_INFO, "dimension change! %dx%d -> %dx%d\n",
+- avctx->width, avctx->height, img->d_w, img->d_h);
+- if (avcodec_check_dimensions(avctx, img->d_w, img->d_h))
+- return AVERROR_INVALIDDATA;
+- avcodec_set_dimensions(avctx, img->d_w, img->d_h);
+- }
+- picture->data[0] = img->planes[0];
+- picture->data[1] = img->planes[1];
+- picture->data[2] = img->planes[2];
+- picture->data[3] = NULL;
+- picture->linesize[0] = img->stride[0];
+- picture->linesize[1] = img->stride[1];
+- picture->linesize[2] = img->stride[2];
+- picture->linesize[3] = 0;
+- *data_size = sizeof(AVPicture);
+- }
+- return avpkt->size;
+-}
+-
+-static av_cold int vp8_free(AVCodecContext *avctx)
+-{
+- VP8Context *ctx = avctx->priv_data;
+- vpx_codec_destroy(&ctx->decoder);
+- return 0;
+-}
+-
+-AVCodec libvpx_decoder = {
+- "libvpx",
+- AVMEDIA_TYPE_VIDEO,
+- CODEC_ID_VP8,
+- sizeof(VP8Context),
+- vp8_init,
+- NULL, /* encode */
+- vp8_free,
+- vp8_decode,
+- 0, /* capabilities */
+- .long_name = NULL_IF_CONFIG_SMALL("libvpx VP8"),
+-};
+-/*
+- * Copyright (c) 2010, Google, Inc.
+- *
+- * This file is part of FFmpeg.
+- *
+- * FFmpeg is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2.1 of the License, or (at your option) any later version.
+- *
+- * FFmpeg is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with FFmpeg; if not, write to the Free Software
+- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+- */
+-
+-/**
+- * @file
+- * VP8 decoder support via libvpx
+- */
+-
+-#define VPX_CODEC_DISABLE_COMPAT 1
+-#include <vpx/vpx_decoder.h>
+-#include <vpx/vp8dx.h>
+-
+-#include "avcodec.h"
+-
+-typedef struct VP8DecoderContext {
+- struct vpx_codec_ctx decoder;
+-} VP8Context;
+-
+-static av_cold int vp8_init(AVCodecContext *avctx)
+-{
+- VP8Context *ctx = avctx->priv_data;
+- const struct vpx_codec_iface *iface = &vpx_codec_vp8_dx_algo;
+- struct vpx_codec_dec_cfg deccfg = {
+- /* token partitions+1 would be a decent choice */
+- .threads = FFMIN(avctx->thread_count, 16)
+- };
+-
+- av_log(avctx, AV_LOG_INFO, "%s\n", vpx_codec_version_str());
+- av_log(avctx, AV_LOG_VERBOSE, "%s\n", vpx_codec_build_config());
+-
+- if (vpx_codec_dec_init(&ctx->decoder, iface, &deccfg, 0) != VPX_CODEC_OK) {
+- const char *error = vpx_codec_error(&ctx->decoder);
+- av_log(avctx, AV_LOG_ERROR, "Failed to initialize decoder: %s\n",
+- error);
+- return AVERROR(EINVAL);
+- }
+-
+- avctx->pix_fmt = PIX_FMT_YUV420P;
+- return 0;
+-}
+-
+-static int vp8_decode(AVCodecContext *avctx,
+- void *data, int *data_size, AVPacket *avpkt)
+-{
+- VP8Context *ctx = avctx->priv_data;
+- AVFrame *picture = data;
+- const void *iter = NULL;
+- struct vpx_image *img;
+-
+- if (vpx_codec_decode(&ctx->decoder, avpkt->data, avpkt->size, NULL, 0) !=
+- VPX_CODEC_OK) {
+ const char *error = vpx_codec_error(&ctx->decoder);
+ const char *detail = vpx_codec_error_detail(&ctx->decoder);
+
+diff -uarN ffmpeg-r23357/libavcodec/libvpxenc.c ffmpeg-r23357.new/libavcodec/libvpxenc.c
+--- ffmpeg-r23357/libavcodec/libvpxenc.c 2010-05-28 14:15:18.000000000 +0200
++++ ffmpeg-r23357.new/libavcodec/libvpxenc.c 2010-05-29 00:40:49.000000000 +0200
+@@ -66,9 +66,10 @@
+ #ifndef HAVE_STDINT_H
+ # define HAVE_STDINT_H 1
+ #endif
++#include <vpx/vpx_codec.h>
+ #define VPX_CODEC_DISABLE_COMPAT 1
+-#include <vpx_encoder.h>
+-#include <vp8cx.h>
++#include <vpx/vpx_encoder.h>
++#include <vpx/vp8cx.h>
+
+ /**
+ * Portion of #vpx_codec_cx_pkt_t from vpx_encoder.h.
+diff -uarN ffmpeg-r23357/libavformat/matroskadec.c ffmpeg-r23357.new/libavformat/matroskadec.c
+--- ffmpeg-r23357/libavformat/matroskadec.c 2010-05-28 01:00:29.000000000 +0200
++++ ffmpeg-r23357.new/libavformat/matroskadec.c 2010-05-28 14:12:41.000000000 +0200
+@@ -1155,8 +1155,10 @@
+ return AVERROR_PATCHWELCOME;
+ }
+ for (i = 0; i < FF_ARRAY_ELEMS(matroska_doctypes); i++)
+- if (!strcmp(ebml.doctype, matroska_doctypes[i]))
++ if (!strcmp(ebml.doctype, matroska_doctypes[i])) {
++ av_metadata_set2(&s->metadata, "doctype", ebml.doctype, 0);
+ break;
++ }
+ if (i >= FF_ARRAY_ELEMS(matroska_doctypes)) {
+ av_log(s, AV_LOG_WARNING, "Unknown EBML doctype '%s'\n", ebml.doctype);
+ }
+diff -uarN ffmpeg-r23357/libavformat/matroskaenc.c ffmpeg-r23357.new/libavformat/matroskaenc.c
+--- ffmpeg-r23357/libavformat/matroskaenc.c 2010-05-28 14:15:18.000000000 +0200
++++ ffmpeg-r23357.new/libavformat/matroskaenc.c 2010-05-28 14:12:41.000000000 +0200
+@@ -585,9 +585,17 @@
+
+ switch (codec->codec_type) {
+ case AVMEDIA_TYPE_VIDEO:
++#if CONFIG_WEBM_MUXER
++ if (codec->codec_id != CODEC_ID_VP8 &&
++ !strcmp("webm", s->oformat->name)) {
++ av_log(s, AV_LOG_INFO, "WebM only supports VP8 video.\n");
++ return -1;
++ }
++#endif
+ put_ebml_uint(pb, MATROSKA_ID_TRACKTYPE, MATROSKA_TRACK_TYPE_VIDEO);
+ put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, av_q2d(codec->time_base)*1E9);
+
++#if CONFIG_MATROSKA_MUXER
+ if (!native_id &&
+ ff_codec_get_tag(codec_movvideo_tags, codec->codec_id) &&
+ (!ff_codec_get_tag(ff_codec_bmp_tags, codec->codec_id)
diff --git a/ffmpeg/build/ffmpeg-r23357_x86_64_asm.patch b/ffmpeg/build/ffmpeg-r23357_x86_64_asm.patch
new file mode 100644
index 00000000..f16b325d
--- /dev/null
+++ b/ffmpeg/build/ffmpeg-r23357_x86_64_asm.patch
@@ -0,0 +1,163 @@
+diff -uarN ffmpeg-r23349.orig/libavcodec/fft.h ffmpeg-r23349/libavcodec/fft.h
+--- ffmpeg-r23349.orig/libavcodec/fft.h 2010-05-27 16:29:06.000000000 +0200
++++ ffmpeg-r23349/libavcodec/fft.h 2010-05-27 16:31:39.000000000 +0200
+@@ -62,12 +62,16 @@
+ #define SINETABLE_CONST
+ #endif
+
++#ifndef _ATTR_HIDDEN
++#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
++#endif
++
+ #define COSTABLE(size) \
+- COSTABLE_CONST DECLARE_ALIGNED(16, FFTSample, ff_cos_##size)[size/2]
++ COSTABLE_CONST DECLARE_ALIGNED(16, FFTSample, _ATTR_HIDDEN ff_cos_##size)[size/2]
+ #define SINTABLE(size) \
+- SINTABLE_CONST DECLARE_ALIGNED(16, FFTSample, ff_sin_##size)[size/2]
++ SINTABLE_CONST DECLARE_ALIGNED(16, FFTSample, _ATTR_HIDDEN ff_sin_##size)[size/2]
+ #define SINETABLE(size) \
+- SINETABLE_CONST DECLARE_ALIGNED(16, float, ff_sine_##size)[size]
++ SINETABLE_CONST DECLARE_ALIGNED(16, float, _ATTR_HIDDEN ff_sine_##size)[size]
+ extern COSTABLE(16);
+ extern COSTABLE(32);
+ extern COSTABLE(64);
+diff -uarN ffmpeg-r23349.orig/libavcodec/x86/dsputil_mmx.h ffmpeg-r23349/libavcodec/x86/dsputil_mmx.h
+--- ffmpeg-r23349.orig/libavcodec/x86/dsputil_mmx.h 2010-05-27 16:29:04.000000000 +0200
++++ ffmpeg-r23349/libavcodec/x86/dsputil_mmx.h 2010-05-27 16:31:39.000000000 +0200
+@@ -25,39 +25,43 @@
+ #include <stdint.h>
+ #include "libavcodec/dsputil.h"
+
++#ifndef _ATTR_HIDDEN
++#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
++#endif
++
+ typedef struct { uint64_t a, b; } xmm_reg;
+
+-extern const uint64_t ff_bone;
+-extern const uint64_t ff_wtwo;
++extern const uint64_t _ATTR_HIDDEN ff_bone;
++extern const uint64_t _ATTR_HIDDEN ff_wtwo;
+
+-extern const uint64_t ff_pdw_80000000[2];
++extern const uint64_t _ATTR_HIDDEN ff_pdw_80000000[2];
+
+-extern const uint64_t ff_pw_3;
+-extern const uint64_t ff_pw_4;
+-extern const xmm_reg ff_pw_5;
+-extern const xmm_reg ff_pw_8;
+-extern const uint64_t ff_pw_15;
+-extern const xmm_reg ff_pw_16;
+-extern const uint64_t ff_pw_20;
+-extern const xmm_reg ff_pw_28;
+-extern const xmm_reg ff_pw_32;
+-extern const uint64_t ff_pw_42;
+-extern const xmm_reg ff_pw_64;
+-extern const uint64_t ff_pw_96;
+-extern const uint64_t ff_pw_128;
+-extern const uint64_t ff_pw_255;
+-
+-extern const uint64_t ff_pb_1;
+-extern const uint64_t ff_pb_3;
+-extern const uint64_t ff_pb_7;
+-extern const uint64_t ff_pb_1F;
+-extern const uint64_t ff_pb_3F;
+-extern const uint64_t ff_pb_81;
+-extern const uint64_t ff_pb_A1;
+-extern const uint64_t ff_pb_FC;
++extern const uint64_t _ATTR_HIDDEN ff_pw_3;
++extern const uint64_t _ATTR_HIDDEN ff_pw_4;
++extern const xmm_reg _ATTR_HIDDEN ff_pw_5;
++extern const xmm_reg _ATTR_HIDDEN ff_pw_8;
++extern const uint64_t _ATTR_HIDDEN ff_pw_15;
++extern const xmm_reg _ATTR_HIDDEN ff_pw_16;
++extern const uint64_t _ATTR_HIDDEN ff_pw_20;
++extern const xmm_reg _ATTR_HIDDEN ff_pw_28;
++extern const xmm_reg _ATTR_HIDDEN ff_pw_32;
++extern const uint64_t _ATTR_HIDDEN ff_pw_42;
++extern const xmm_reg _ATTR_HIDDEN ff_pw_64;
++extern const uint64_t _ATTR_HIDDEN ff_pw_96;
++extern const uint64_t _ATTR_HIDDEN ff_pw_128;
++extern const uint64_t _ATTR_HIDDEN ff_pw_255;
++
++extern const uint64_t _ATTR_HIDDEN ff_pb_1;
++extern const uint64_t _ATTR_HIDDEN ff_pb_3;
++extern const uint64_t _ATTR_HIDDEN ff_pb_7;
++extern const uint64_t _ATTR_HIDDEN ff_pb_1F;
++extern const uint64_t _ATTR_HIDDEN ff_pb_3F;
++extern const uint64_t _ATTR_HIDDEN ff_pb_81;
++extern const uint64_t _ATTR_HIDDEN ff_pb_A1;
++extern const uint64_t _ATTR_HIDDEN ff_pb_FC;
+
+-extern const double ff_pd_1[2];
+-extern const double ff_pd_2[2];
++extern const double _ATTR_HIDDEN ff_pd_1[2];
++extern const double _ATTR_HIDDEN ff_pd_2[2];
+
+ #define LOAD4(stride,in,a,b,c,d)\
+ "movq 0*"#stride"+"#in", "#a"\n\t"\
+diff -uarN ffmpeg-r23349.orig/libavcodec/x86/vc1dsp_mmx.c ffmpeg-r23349/libavcodec/x86/vc1dsp_mmx.c
+--- ffmpeg-r23349.orig/libavcodec/x86/vc1dsp_mmx.c 2010-05-27 16:29:04.000000000 +0200
++++ ffmpeg-r23349/libavcodec/x86/vc1dsp_mmx.c 2010-05-27 16:31:39.000000000 +0200
+@@ -73,7 +73,11 @@
+ "movq %%mm"#R1", "#OFF"(%1) \n\t" \
+ "add %2, %0 \n\t"
+
+-DECLARE_ALIGNED(16, const uint64_t, ff_pw_9) = 0x0009000900090009ULL;
++#ifndef _ATTR_HIDDEN
++#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
++#endif
++
++DECLARE_ALIGNED(16, const uint64_t, _ATTR_HIDDEN ff_pw_9) = 0x0009000900090009ULL;
+
+ /** Sacrifying mm6 allows to pipeline loads from src */
+ static void vc1_put_ver_16b_shift2_mmx(int16_t *dst,
+diff -uarN ffmpeg-r23349.orig/libswscale/swscale.c ffmpeg-r23349/libswscale/swscale.c
+--- ffmpeg-r23349.orig/libswscale/swscale.c 2010-05-27 16:29:09.000000000 +0200
++++ ffmpeg-r23349/libswscale/swscale.c 2010-05-27 16:31:39.000000000 +0200
+@@ -122,6 +122,10 @@
+ write special BGR->BGR scaler
+ */
+
++#ifndef _ATTR_HIDDEN
++#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
++#endif
++
+ #if ARCH_X86
+ DECLARE_ASM_CONST(8, uint64_t, bF8)= 0xF8F8F8F8F8F8F8F8LL;
+ DECLARE_ASM_CONST(8, uint64_t, bFC)= 0xFCFCFCFCFCFCFCFCLL;
+@@ -147,22 +151,22 @@
+ DECLARE_ASM_CONST(8, uint64_t, g15Mask)= 0x03E003E003E003E0LL;
+ DECLARE_ASM_CONST(8, uint64_t, r15Mask)= 0x7C007C007C007C00LL;
+
+-DECLARE_ALIGNED(8, const uint64_t, ff_M24A) = 0x00FF0000FF0000FFLL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_M24B) = 0xFF0000FF0000FF00LL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_M24C) = 0x0000FF0000FF0000LL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24A) = 0x00FF0000FF0000FFLL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24B) = 0xFF0000FF0000FF00LL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24C) = 0x0000FF0000FF0000LL;
+
+ #ifdef FAST_BGR2YV12
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000000210041000DULL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000000210041000DULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL;
+ #else
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000020E540830C8BULL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000020E540830C8BULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL;
+ #endif /* FAST_BGR2YV12 */
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YOffset) = 0x1010101010101010ULL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UVOffset) = 0x8080808080808080ULL;
+-DECLARE_ALIGNED(8, const uint64_t, ff_w1111) = 0x0001000100010001ULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YOffset) = 0x1010101010101010ULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UVOffset) = 0x8080808080808080ULL;
++DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_w1111) = 0x0001000100010001ULL;
+
+ DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY1Coeff) = 0x0C88000040870C88ULL;
+ DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY2Coeff) = 0x20DE4087000020DEULL;