summaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/videodsp_init.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '458446acfa1441d283dacf9e6e545beb083b8bb0'Michael Niedermayer2013-11-151-13/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '458446acfa1441d283dacf9e6e545beb083b8bb0': lavc: Edge emulation with dst/src linesize Conflicts: libavcodec/cavs.c libavcodec/h264.c libavcodec/hevc.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/rv34.c libavcodec/svq3.c libavcodec/vc1dec.c libavcodec/videodsp.h libavcodec/videodsp_template.c libavcodec/vp3.c libavcodec/vp8.c libavcodec/wmv2.c libavcodec/x86/videodsp.asm libavcodec/x86/videodsp_init.c Changes to the asm are not merged, they are left for volunteers or in their absence for later. The changes this merge introduces are reordering of the function arguments See: face578d56c2d1375e40d5e2a28acc122132bc55 Merged-by: Michael Niedermayer <[email protected]>
| * lavc: Edge emulation with dst/src linesizeRonald S. Bultje2013-11-151-30/+160
| | | | | | | | | | | | Allow supporting files for which the image stride is smaller than the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* | avcodec/x86/videodsp: Properly mark sse2 instructions in emulated_edge_mc ↵Ronald S. Bultje2013-10-241-16/+26
| | | | | | | | | | | | | | | | | | | | | | x86 simd as such. Should fix crashes or corrupt output on pre-SSE2 CPUs when they were using SSE2-code (e.g. AMD Athlon XP 2400+ or Intel Pentium III) in hfix or hvar single-edge (left/right) extension functions. Tested-by: Ingo Brückl <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | libavcodec/x86: Fix emulated_edge_mc SSE code to not contain SSE2 ↵Ronald S. Bultje2013-10-101-3/+8
| | | | | | | | | | | | instructions on x86-32. Signed-off-by: Michael Niedermayer <[email protected]>
* | Rewrite emu_edge functions to have separate src/dst_stride arguments.Ronald S. Bultje2013-09-281-29/+152
| | | | | | | | | | | | This allows supporting files for which the image stride is smaller than the max. block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* | Convert multiplier for MV from int to ptrdiff_t.Ronald S. Bultje2013-09-281-2/+1
| | | | | | | | | | | | | | This prevents emulated_edge_mc from not undoing mvy*stride-related integer overflows. Signed-off-by: Michael Niedermayer <[email protected]>
* | avcodec: add emuedge_linesize_typeMichael Niedermayer2013-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | Currently all uses of the emu edge code as well as the code itself assume int linesize changing some but not changing all would introduce a security issue once all use this typedef a simple search and replace can be done to switch them all to ptrdiff_t Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0'Michael Niedermayer2013-08-301-4/+5
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0': x86: avcodec: Use convenience macros to check for CPU flags Conflicts: libavcodec/x86/dsputil_init.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/motion_est.c Merged-by: Michael Niedermayer <[email protected]>
| * x86: avcodec: Use convenience macros to check for CPU flagsDiego Biurrun2013-08-291-4/+5
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-07-181-5/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Consistently use "cpu_flags" as variable/parameter name for CPU flags Conflicts: libavcodec/x86/dsputil_init.c libavcodec/x86/h264dsp_init.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/motion_est.c libavcodec/x86/mpegvideo.c libavcodec/x86/proresdsp_init.c Merged-by: Michael Niedermayer <[email protected]>
| * Consistently use "cpu_flags" as variable/parameter name for CPU flagsDiego Biurrun2013-07-181-5/+5
| |
* | Merge commit '620289a20e022b9c16c10d546ef86cc0bb77cc84'Michael Niedermayer2013-02-061-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '620289a20e022b9c16c10d546ef86cc0bb77cc84': sh4: Fix silly type vs. variable name search and replace typo configure: Group all hwaccels together in a separate variable Add av_cold attributes to arch-specific init functions Conflicts: configure libavcodec/arm/mpegvideo_armv5te.c libavcodec/x86/mlpdsp.c libavcodec/x86/motion_est.c libavcodec/x86/mpegvideoenc.c libavcodec/x86/videodsp_init.c Merged-by: Michael Niedermayer <[email protected]>
| * Add av_cold attributes to arch-specific init functionsDiego Biurrun2013-02-051-1/+2
| |
* | videodsp: Fix project nameMichael Niedermayer2012-12-221-4/+4
| | | | | | | | | | | | These are all part of splited out dsp utils from FFmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* | x86/videodsp_init: Add back lost author attributionMichael Niedermayer2012-12-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* | Merge commit '6906b19346ae8a330bfaa1c16ce535be10789723'Michael Niedermayer2012-12-211-5/+12
|/ | | | | | | | | | | | | | | | | | | * 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 <[email protected]>
* lavc: introduce VideoDSPContextRonald S. Bultje2012-12-201-0/+119
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 <[email protected]>