Age | Commit message (Collapse) | Author |
|
* commit '4f50646697606df39317b93c2a427603b77636ee':
x86: sbrdsp: Implement SSE qmf_post_shuffle
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '44a0036d10579ed91e48df24859e54b08a582742':
x86: sbrdsp: Implement SSE sum64x5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0':
x86: ABS1: port to cpuflags
v210x: cosmetics, reformat
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
The asm code is not valid for older compilers as it uses too many
operands, ICC on x86_32 seems affected by this.
This patch disables the affected code for ICC on x86_32 and should
make it compileable again.
A better fix would be to use fewer operands or to change this code
to yasm, later is being worked on AFAIK so this is a temporary
solution.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
These are all part of splited out dsp utils from FFmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Code originates from:
910b9f30 libavcodec/dsputil.c (David Conrad 2010-05-27 04:39:27 +0000 334) void ff_emulated_edge_mc(uint8_t *buf, const uint8_t *src, int linesize, int block_w, int block_h,
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 335) int src_x, int src_y, int w, int h){
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 336) int x, y;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 337) int start_y, start_x, end_y, end_x;
b5a093b3 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-25 20:22:36 +0000 338)
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 339) if(src_y>= h){
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 340) src+= (h-1-src_y)*linesize;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 341) src_y=h-1;
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 342) }else if(src_y<=-block_h){
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 343) src+= (1-block_h-src_y)*linesize;
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 344) src_y=1-block_h;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 345) }
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 346) if(src_x>= w){
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 347) src+= (w-1-src_x);
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 348) src_x=w-1;
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 349) }else if(src_x<=-block_w){
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 350) src+= (1-block_w-src_x);
225f9c44 libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-15 00:25:53 +0000 351) src_x=1-block_w;
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 352) }
93a21abd libavcodec/mpegvideo.c (Michael Niedermayer 2002-07-14 18:37:35 +0000 353)
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 354) start_y= FFMAX(0, -src_y);
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 355) start_x= FFMAX(0, -src_x);
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 356) end_y= FFMIN(block_h, h-src_y);
b8a78f41 libavcodec/mpegvideo.c (Michael Niedermayer 2002-11-10 11:46:59 +0000 357) end_x= FFMIN(block_w, w-src_x);
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '6906b19346ae8a330bfaa1c16ce535be10789723':
lavc: add missing files for arm
lavc: introduce VideoDSPContext
Conflicts:
configure
libavcodec/arm/dsputil_init_armv5te.c
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/dsputil_template.c
libavcodec/h264.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
According to lavc/proresdsp.c, both prores and prores-lgpl decoders need
lavc/x86/proresdsp_init.c:ff_proresdsp_x86_init().
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '30b39164256999efc8d77edc85e2e0b963c24834':
ac3dec: make downmix() take array of pointers to channel data
Conflicts:
libavcodec/ac3dsp.c
libavcodec/ac3dsp.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
Core I7 (Sandy Bridge) 135 to 107 cycles
Core i5 (Arrandale) 162 to 142 (Thanks to Christophe Gisquet for testing)
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'c25fc5c2bb6ae8c93541c9427df3e47206d95152':
fate: dpcm: Add dependencies
SBR DSP x86: implement SSE sbr_hf_gen
AAC SBR: use AVFloatDSPContext's vector_fmul
fate: image: Add dependencies
Changelog: add an entry for deprecating the avconv -vol option
x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32
Conflicts:
Changelog
libavutil/x86/float_dsp.asm
tests/fate/image.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Start and end index are multiple of 2, therefore guaranteeing aligned access.
Also, this allows to generate 4 floats per loop, keeping the alignment all
along.
Timing:
- 32 bits: 326c -> 172c
- 64 bits: 323c -> 156c
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
This code never did anything as far as i can remember
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Fixes assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'bfe5454cd238b16e7977085f880205229103eccb':
lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h
lavf: move "MP3 " fourcc from riff to nut
fate: vpx: Add dependencies
fate: Fix wavpack-matroskamode test dependencies
x86: dsputilenc: port to cpuflags
Conflicts:
libavformat/internal.h
libavformat/nut.c
tests/fate/vpx.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '1f3f896564501c23b44fcf605567c78ce066b539':
fate: Add dependencies for Vorbis, ProRes, QTRLE, utvideo tests
fate: real: Add dependencies
fate: lossless-audio: Add dependencies
x86: h264dsp: Fix linking with yasm and optimizations disabled
Conflicts:
libavcodec/x86/h264dsp_init.c
tests/fate/lossless-audio.mak
tests/fate/real.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
|
|
* commit 'af7d13ee4a4bf8d708f9b0598abb8f6e22b76de1':
asink_nullsink: plug a memory leak.
x86: h264_idct: port to cpuflags
x86: cpu: Drop unused HAVE_RWEFLAGS condition
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'f5fa03660db16f9d78abc5a626438b4d0b54f563':
vble: Do not abort decoding when version is not 1
lavr: do not pass consumed samples as a parameter to ff_audio_resample()
lavr: correct the documentation for the ff_audio_resample() return value
lavr: do not pass sample count as a parameter to ff_audio_convert()
x86: h264_weight: port to cpuflags
configure: Enable avconv filter dependencies automatically
Conflicts:
configure
libavcodec/x86/h264_weight.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
|
|
* commit '5ae72f54532960cb9eae82a1c9e8d505106c022b':
flashsv: check for keyframe before using differential coding
h264: enable low delay only if no delayed frames were seen
x86: fix build without inline asm
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '8e134e5104e99a69cd4cea10540a7ce9c3682a2c':
lavc: clarify get_buffer() documentation
mpegaudiodec: use planar sample format for output unless packed is requested
x86: h264 qpel: use the correct number of utilized xmm regs in cglobal
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Fix compile failure without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* qatar/master:
remove #defines to prevent use of discouraged external functions
x86: h264: Convert 8-bit QPEL inline assembly to YASM
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
The qpel functions referenced here are not related to h264 and should
thus never have been under CONFIG_H264QPEL.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
* commit 'ad01ba6ceaea7d71c4b9887795523438689b5a96':
x86: h264: Remove 3dnow QPEL code
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Fixes xmm register clobbering on win64.
|
|
* commit '28c8e288fa0342fdef532a7522a4707bebf831cc':
x86: h264_chromamc: port to cpuflags
yop: fix typo
avconv: fix copying per-stream metadata.
doc: avtools-common-opts: Fix terminology concerning metric prefixes
configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
riff: Make ff_riff_tags static and move under appropriate #ifdef
Conflicts:
libavformat/riff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
The only CPUs that have 3dnow and don't have mmxext are 12 years old.
Moreover, AMD has dropped 3dnow extensions from newer CPUs.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* qatar/master:
x86: h264_intrapred: Fix C function names in comments
x86: SPLATD: port to cpuflags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Function names changed after switching to declaration with
PRED4x4/8x8/8x8L/16x16 macros in the C code.
|
|
|
|
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* qatar/master:
x86: dsputil: port to cpuflags
crc: av_crc() parameter names should match between .c, .h and doxygen
avserver: replace av_read_packet with av_read_frame
avserver: fix constness casting warnings
Conflicts:
libavcodec/x86/dsputil.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|