Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2010-07-07 21:54:23 +0400
committerXhmikosR <xhmikosr@users.sourceforge.net>2010-07-07 21:54:23 +0400
commitfdcb5f8d509f1e856710afde13b7982c6b79f9e8 (patch)
tree09a52e65f0b71e561e7075a88b38dc2971369864 /src/filters/transform/MPCVideoDec
parent44d1019bc74c681a920c2994c53a34b3bf642899 (diff)
updated ffmpeg
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@2110 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/transform/MPCVideoDec')
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/config.h3
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/libavcodec.vcproj3
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/fft.h4
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/vc1_dxva.c3
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.c10
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.h1
-rw-r--r--src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/vp8dsp-init.c6
7 files changed, 24 insertions, 6 deletions
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/config.h b/src/filters/transform/MPCVideoDec/ffmpeg/config.h
index 22020397f..33a01e1af 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/config.h
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/config.h
@@ -56,7 +56,7 @@
// MPC custom code for linking with MSVC
#if defined(__GNUC__) && ARCH_X86_64
-#define EXTERN_PREFIX ""
+#define EXTERN_PREFIX ""
#else
#define EXTERN_PREFIX "_"
#endif
@@ -114,6 +114,7 @@
#define cbrtf(x) pow((float)x, (float)1.0/3)
#endif
+#define CONFIG_DCT 0
#define CONFIG_DWT 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_GPL 1
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec.vcproj b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec.vcproj
index e1a681706..ea9eb6b6f 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec.vcproj
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec.vcproj
@@ -50,9 +50,6 @@
PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_NONSTDC_NO_WARNINGS;_DEBUG;_WINDOWS;HAVE_AV_CONFIG_H;H264_MERGE_TESTING"
ExceptionHandling="0"
OpenMP="false"
- AssemblerListingLocation="$(IntDir)\"
- ObjectFile="$(IntDir)\"
- ProgramDataBaseFileName="$(IntDir)\"
WarningLevel="0"
DebugInformationFormat="4"
DisableSpecificWarnings="4996"
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/fft.h b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/fft.h
index ce2b99adc..eb6714fe9 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/fft.h
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/fft.h
@@ -112,6 +112,7 @@ void ff_fft_calc_c(FFTContext *s, FFTComplex *z);
void ff_fft_init_altivec(FFTContext *s);
void ff_fft_init_mmx(FFTContext *s);
void ff_fft_init_arm(FFTContext *s);
+void ff_dct_init_mmx(DCTContext *s);
/**
* Do the permutation needed BEFORE calling ff_fft_calc().
@@ -209,6 +210,8 @@ struct RDFTContext {
int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans);
void ff_rdft_end(RDFTContext *s);
+void ff_rdft_init_arm(RDFTContext *s);
+
static av_always_inline void ff_rdft_calc(RDFTContext *s, FFTSample *data)
{
s->rdft_calc(s, data);
@@ -223,6 +226,7 @@ struct DCTContext {
const float *costab;
FFTSample *csc2;
void (*dct_calc)(struct DCTContext *s, FFTSample *data);
+ void (*dct32)(FFTSample *out, const FFTSample *in);
};
/**
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/vc1_dxva.c b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/vc1_dxva.c
index 4ce4d092c..080a4ff96 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/vc1_dxva.c
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/vc1_dxva.c
@@ -16,8 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-int av_vc1_decode_frame(AVCodecContext *avctx,
- uint8_t *buf, int buf_size)
+int av_vc1_decode_frame(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
{
VC1Context *v = avctx->priv_data;
MpegEncContext *s = &v->s;
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.c b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.c
index 475071b47..dba8c3faf 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.c
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.c
@@ -46,3 +46,13 @@ av_cold void ff_fft_init_mmx(FFTContext *s)
}
#endif
}
+
+#if CONFIG_DCT
+av_cold void ff_dct_init_mmx(DCTContext *s)
+{
+ int has_vectors = mm_support();
+ if (has_vectors & FF_MM_SSE && HAVE_SSE)
+ s->dct32 = ff_dct32_float_sse;
+}
+#endif
+
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.h b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.h
index 7ef583914..2affacb62 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.h
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/fft.h
@@ -32,5 +32,6 @@ void ff_imdct_calc_3dn2(FFTContext *s, FFTSample *output, const FFTSample *input
void ff_imdct_half_3dn2(FFTContext *s, FFTSample *output, const FFTSample *input);
void ff_imdct_calc_sse(FFTContext *s, FFTSample *output, const FFTSample *input);
void ff_imdct_half_sse(FFTContext *s, FFTSample *output, const FFTSample *input);
+void ff_dct32_float_sse(FFTSample *out, const FFTSample *in);
#endif
diff --git a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/vp8dsp-init.c b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/vp8dsp-init.c
index 9cd72b695..4111c7260 100644
--- a/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/vp8dsp-init.c
+++ b/src/filters/transform/MPCVideoDec/ffmpeg/libavcodec/x86/vp8dsp-init.c
@@ -276,12 +276,14 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
* is only used for luma, and luma is always a copy or sixtap. */
if (mm_flags & FF_MM_MMX2) {
c->vp8_luma_dc_wht = ff_vp8_luma_dc_wht_mmxext;
+#if ARCH_X86_32
VP8_LUMA_MC_FUNC(0, 16, mmxext);
VP8_MC_FUNC(1, 8, mmxext);
VP8_MC_FUNC(2, 4, mmxext);
VP8_BILINEAR_MC_FUNC(0, 16, mmxext);
VP8_BILINEAR_MC_FUNC(1, 8, mmxext);
VP8_BILINEAR_MC_FUNC(2, 4, mmxext);
+#endif
c->vp8_v_loop_filter_simple = ff_vp8_v_loop_filter_simple_mmxext;
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_mmxext;
@@ -293,22 +295,26 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
}
if (mm_flags & FF_MM_SSE2) {
+#if ARCH_X86_32
VP8_LUMA_MC_FUNC(0, 16, sse2);
VP8_MC_FUNC(1, 8, sse2);
VP8_BILINEAR_MC_FUNC(0, 16, sse2);
VP8_BILINEAR_MC_FUNC(1, 8, sse2);
+#endif
c->vp8_v_loop_filter_simple = ff_vp8_v_loop_filter_simple_sse2;
c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse2;
}
if (mm_flags & FF_MM_SSSE3) {
+#if ARCH_X86_32
VP8_LUMA_MC_FUNC(0, 16, ssse3);
VP8_MC_FUNC(1, 8, ssse3);
VP8_MC_FUNC(2, 4, ssse3);
VP8_BILINEAR_MC_FUNC(0, 16, ssse3);
VP8_BILINEAR_MC_FUNC(1, 8, ssse3);
VP8_BILINEAR_MC_FUNC(2, 4, ssse3);
+#endif
}
if (mm_flags & FF_MM_SSE4) {