Commit b4d4e510 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '3c370f5a'

* commit '3c370f5a':
  riff: only warn on a bad INFO chunk code size instead of failing
  configure: Add separate list for libraries and use where appropriate
  x86: float_dsp: add SSE version of vector_fmul_scalar()

Conflicts:
	configure
	libavformat/riff.c
	libavutil/x86/float_dsp.asm
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 2684d2e3 3c370f5a
...@@ -120,6 +120,7 @@ Component options: ...@@ -120,6 +120,7 @@ Component options:
--disable-avdevice disable libavdevice build --disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build --disable-avcodec disable libavcodec build
--disable-avformat disable libavformat build --disable-avformat disable libavformat build
--disable-avutil disable libavutil build
--disable-swresample disable libswresample build --disable-swresample disable libswresample build
--disable-swscale disable libswscale build --disable-swscale disable libswscale build
--disable-postproc disable libpostproc build --disable-postproc disable libpostproc build
...@@ -1091,6 +1092,17 @@ DOCUMENT_LIST=" ...@@ -1091,6 +1092,17 @@ DOCUMENT_LIST="
txtpages txtpages
" "
LIBRARY_LIST="
avcodec
avdevice
avfilter
avformat
avresample
avutil
swresample
swscale
"
PROGRAM_LIST=" PROGRAM_LIST="
ffplay ffplay
ffprobe ffprobe
...@@ -1101,12 +1113,8 @@ PROGRAM_LIST=" ...@@ -1101,12 +1113,8 @@ PROGRAM_LIST="
CONFIG_LIST=" CONFIG_LIST="
$COMPONENT_LIST $COMPONENT_LIST
$DOCUMENT_LIST $DOCUMENT_LIST
$LIBRARY_LIST
$PROGRAM_LIST $PROGRAM_LIST
avcodec
avdevice
avfilter
avformat
avresample
avisynth avisynth
bzlib bzlib
crystalhd crystalhd
...@@ -1179,8 +1187,6 @@ CONFIG_LIST=" ...@@ -1179,8 +1187,6 @@ CONFIG_LIST="
small small
sram sram
static static
swresample
swscale
swscale_alpha swscale_alpha
thumb thumb
vaapi vaapi
...@@ -1432,7 +1438,6 @@ HAVE_LIST=" ...@@ -1432,7 +1438,6 @@ HAVE_LIST="
CONFIG_EXTRA=" CONFIG_EXTRA="
aandcttables aandcttables
ac3dsp ac3dsp
avutil
error_resilience error_resilience
gcrypt gcrypt
golomb golomb
...@@ -1966,9 +1971,13 @@ tinterlace_merge_test_deps="tinterlace_filter" ...@@ -1966,9 +1971,13 @@ tinterlace_merge_test_deps="tinterlace_filter"
tinterlace_pad_test_deps="tinterlace_filter" tinterlace_pad_test_deps="tinterlace_filter"
# libraries # libraries
avdevice_deps="avcodec avformat" avcodec_deps="avutil"
avformat_deps="avcodec" avdevice_deps="avutil avcodec avformat"
avfilter_deps="avutil"
avformat_deps="avutil avcodec"
avresample_deps="avutil"
postproc_deps="gpl" postproc_deps="gpl"
swscale_deps="avutil"
# programs # programs
ffmpeg_deps="avcodec avfilter avformat swscale swresample" ffmpeg_deps="avcodec avfilter avformat swscale swresample"
...@@ -2035,16 +2044,9 @@ ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO ...@@ -2035,16 +2044,9 @@ ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO
# configurable options # configurable options
enable $PROGRAM_LIST enable $PROGRAM_LIST
enable $DOCUMENT_LIST enable $DOCUMENT_LIST
enable $(filter_out avresample $LIBRARY_LIST)
enable avcodec
enable avdevice
enable avfilter
enable avformat
enable avutil
enable postproc enable postproc
enable stripping enable stripping
enable swresample
enable swscale
enable asm enable asm
enable debug enable debug
...@@ -4338,7 +4340,7 @@ NOREDZONE_FLAGS=$noredzone_flags ...@@ -4338,7 +4340,7 @@ NOREDZONE_FLAGS=$noredzone_flags
EOF EOF
get_version(){ get_version(){
lcname=$1 lcname=lib${1}
name=$(toupper $lcname) name=$(toupper $lcname)
file=$source_path/$lcname/version.h file=$source_path/$lcname/version.h
eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file") eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file")
...@@ -4362,14 +4364,7 @@ fi ...@@ -4362,14 +4364,7 @@ fi
get_version_old LIBPOSTPROC libpostproc/version.h get_version_old LIBPOSTPROC libpostproc/version.h
get_version libavcodec map 'get_version $v' $LIBRARY_LIST
get_version libavdevice
get_version libavfilter
get_version libavformat
get_version libavresample
get_version libavutil
get_version libswresample
get_version libswscale
cat > $TMPH <<EOF cat > $TMPH <<EOF
/* Automatically generated by configure - do not modify! */ /* Automatically generated by configure - do not modify! */
......
...@@ -824,12 +824,13 @@ int ff_read_riff_info(AVFormatContext *s, int64_t size) ...@@ -824,12 +824,13 @@ int ff_read_riff_info(AVFormatContext *s, int64_t size)
chunk_code = avio_rl32(pb); chunk_code = avio_rl32(pb);
chunk_size = avio_rl32(pb); chunk_size = avio_rl32(pb);
if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) { if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
avio_seek(pb, -9, SEEK_CUR); avio_seek(pb, -9, SEEK_CUR);
chunk_code = avio_rl32(pb); chunk_code = avio_rl32(pb);
chunk_size = avio_rl32(pb); chunk_size = avio_rl32(pb);
if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) { if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
av_log(s, AV_LOG_ERROR, "too big INFO subchunk\n"); av_log(s, AV_LOG_WARNING, "too big INFO subchunk\n");
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
} }
......
...@@ -91,3 +91,32 @@ VECTOR_FMAC_SCALAR ...@@ -91,3 +91,32 @@ VECTOR_FMAC_SCALAR
INIT_YMM avx INIT_YMM avx
VECTOR_FMAC_SCALAR VECTOR_FMAC_SCALAR
%endif %endif
;------------------------------------------------------------------------------
; void ff_vector_fmul_scalar(float *dst, const float *src, float mul, int len)
;------------------------------------------------------------------------------
%macro VECTOR_FMUL_SCALAR 0
%if UNIX64
cglobal vector_fmul_scalar, 3,3,2, dst, src, len
%else
cglobal vector_fmul_scalar, 4,4,3, dst, src, mul, len
%endif
%if ARCH_X86_32
movss m0, mulm
%elif WIN64
SWAP 0, 2
%endif
shufps m0, m0, 0
lea lenq, [lend*4-mmsize]
.loop:
mova m1, [srcq+lenq]
mulps m1, m0
mova [dstq+lenq], m1
sub lenq, mmsize
jge .loop
REP_RET
%endmacro
INIT_XMM sse
VECTOR_FMUL_SCALAR
...@@ -32,6 +32,9 @@ extern void ff_vector_fmac_scalar_sse(float *dst, const float *src, float mul, ...@@ -32,6 +32,9 @@ extern void ff_vector_fmac_scalar_sse(float *dst, const float *src, float mul,
extern void ff_vector_fmac_scalar_avx(float *dst, const float *src, float mul, extern void ff_vector_fmac_scalar_avx(float *dst, const float *src, float mul,
int len); int len);
extern void ff_vector_fmul_scalar_sse(float *dst, const float *src, float mul,
int len);
void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp) void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
{ {
int mm_flags = av_get_cpu_flags(); int mm_flags = av_get_cpu_flags();
...@@ -39,6 +42,7 @@ void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp) ...@@ -39,6 +42,7 @@ void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
if (EXTERNAL_SSE(mm_flags)) { if (EXTERNAL_SSE(mm_flags)) {
fdsp->vector_fmul = ff_vector_fmul_sse; fdsp->vector_fmul = ff_vector_fmul_sse;
fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_sse; fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_sse;
fdsp->vector_fmul_scalar = ff_vector_fmul_scalar_sse;
} }
if (EXTERNAL_AVX(mm_flags)) { if (EXTERNAL_AVX(mm_flags)) {
fdsp->vector_fmul = ff_vector_fmul_avx; fdsp->vector_fmul = ff_vector_fmul_avx;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment