Commit Graph

87 Commits

Author SHA1 Message Date
Ronald S. Bultje
b9c7f66e6d Fix horizontal/horizontal_up 8x8l intra prediction x86/simd functions.
The original functions did not work correctly for edge pixels, e.g.
when CODEC_FLAG_EMU_EDGE is set, leading to corrupt output in e.g. VLC.
Based on a patch by Daniel Kang <daniel d kang gmail com>.

Signed-off-by: Ronald S. Bultje <rsbultje gmail com>
2011-01-19 20:34:42 -05:00
Ronald S. Bultje
1b3e43e4fd Fix overflow in pred16x16_plane x86 simd code. Fixes issue 2547.
Originally committed as revision 26381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 22:00:44 +00:00
Daniel Kang
0790caba60 Fix invalid reads in valgrind fate, patch by Daniel Kang <daniel dot d dot
kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31 01:29:06 +00:00
Daniel Kang
536e9b2f58 Port pred8x8l_down_left_mmxext (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang
at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 23:48:44 +00:00
Daniel Kang
720ea2d5b2 Port pred4x4_down_right_mmxext (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang
at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 21:55:51 +00:00
Daniel Kang
d0aebe23e2 Port pred4x4_vertical_right_mmxext (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang
at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 21:52:41 +00:00
Daniel Kang
76497232ef Port pred4x4_horizontal_down_mmxext (H.264 intra prediction) from x264
(authors:Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 21:49:57 +00:00
Daniel Kang
e9c576a467 Port pred4x4_horizontal_up_mmxext (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang
at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 21:42:33 +00:00
Daniel Kang
92f441ae86 Port pred4x4_vertical_left_mmxext (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang
at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 21:35:34 +00:00
Ronald S. Bultje
e8d98764cc Merge a few superfluous CONFIG_GPL checks.
Originally committed as revision 26154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 21:30:47 +00:00
Daniel Kang
57b1f334d1 Port pred8x8l_horizontal_down_sse2/ssse3 (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 20:42:15 +00:00
Daniel Kang
04cbdf3d24 Port pred8x8l_horizontal_down_mmxext (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 20:38:06 +00:00
Daniel Kang
98c6053cd0 Port pred8x8l_horizontal_up_mmxext/ssse3 (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 20:35:31 +00:00
Daniel Kang
ecc7efbbb6 Port pred8x8l_vertical_left_sse2/ssse3 (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 20:06:22 +00:00
Daniel Kang
bdd93f1b25 Port pred8x8l_vertical_right_sse2/ssse3 (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 19:54:05 +00:00
Daniel Kang
f25112fc09 Port pred8x8l_vertical_right_mmxext (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 19:46:09 +00:00
Daniel Kang
602a4cb25a Port pred8x8l_down_right_sse2/ssse3 (H.264 intra prediction) from x264
(authors: Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot
d dot kang at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 19:19:49 +00:00
Daniel Kang
e916acbcd1 Port pred8x8l_down_right_mmxext (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang
at gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 19:12:02 +00:00
Daniel Kang
c249e66576 Port pred8x8l_down_left_sse2/ssse3 (H.264 intra prediction) from x264 (authors:
Jason, Loren, Holger) to FFmpeg. Patch by Daniel Kang <daniel dot d dot kang at
gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 19:02:50 +00:00
Daniel Kang
ee1ba9c326 Port pred8x8l_vertical_mmxext/ssse3 (H.264 intra prediction) from x264 to
FFmpeg. Original authors: Holger Lubitz <holger lubitz org>, Jason Garrett-
Glaser <darkshikari gmail com> (approves LGPL relicensing for this code) and
Loren Merritt <lorenm at u dot washington dot edu> (approves LGPL relicensing
for this code). Patch by Daniel Kang <daniel dot d dot kang at gmail com>, as
part of Google's GCI 2010.

Originally committed as revision 26140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 18:46:40 +00:00
Daniel Kang
04207ef353 Port pred8x8l_horizontal_mmxext/ssse3 (H.264 intra prediction) from x264 to
FFmpeg. Original authors: Holger Lubitz <holger lubitz org>, Jason Garrett-
Glaser <darkshikari gmail com> (approves LGPL relicensing for this code) and
Loren Merritt <lorenm at u dot washington dot edu> (approves LGPL relicensing
for this code). Patch by Daniel Kang <daniel dot d dot kang at gmail com>, as
part of Google's GCI 2010.

Originally committed as revision 26139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 18:40:53 +00:00
Daniel Kang
abab14eac0 Port pred8x8l_dc_mmx/ssse3 (H.264 intra prediction) from x264 to FFmpeg.
Original authors: Holger Lubitz <holger lubitz org>, Jason Garrett-Glaser
<darkshikari gmail com> (approves LGPL relicensing for this code) and Loren
Merritt <lorenm at u dot washington dot edu> (approves LGPL relicensing for
this code). Patch by Daniel Kang <daniel dot d dot kang at gmail com>, as
part of Google's GCI 2010.

Originally committed as revision 26138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 18:33:10 +00:00
Daniel Kang
2e93fd4b5e Port pred8x8l_top_dc_mmxext/ssse3 (H.264 intra prediction) from x264 to FFmpeg.
Original authors: Holger Lubitz <holger lubitz org>, Jason Garrett-Glaser
<darkshikari gmail com> (approves LGPL relicensing for this code) and Loren
Merritt <lorenm at u dot washington dot edu> (approves LGPL relicensing for
this code). Patch by Daniel Kang <daniel dot d dot kang at gmail com>, as
part of Google's GCI 2010.

Originally committed as revision 26137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 18:11:27 +00:00
Ronald S. Bultje
54a959e483 Move PRED4x4_LOWPASS up so it can be used in 8x8l predict functions while
keeping the functions ordered in the source file (i.e. cosmetics).

Originally committed as revision 26136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 18:04:57 +00:00
Ronald S. Bultje
a2dfe8d18d Port pred8x8_dc_mmxext (H.264 intra prediction) from x264 to FFmpeg. Original
authors: Holger Lubitz <holger lubitz org>, Jason Garrett-Glaser <darkshikari
gmail com> (approves LGPL relicensing for this code) and Loren Merritt <lorenm
at u dot washington dot edu> (approves LGPL relicensing for this code). Patch
by Daniel Kang <daniel dot d dot kang at gmail com>, as part of Google's GCI
2010.

Originally committed as revision 26135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 18:00:26 +00:00
Ronald S. Bultje
83ff3f72e5 Add missing authors to copyright headers.
Originally committed as revision 26133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 17:45:26 +00:00
Daniel Kang
725a3f9dfb Port pred8x8_top_dc_mmxext (H.264 intra prediction) from x264 to FFmpeg.
Original authors: Holger Lubitz <holger lubitz org>, Jason Garrett-Glaser
<darkshikari gmail com> (approves LGPL relicensing for this code) and Loren
Merritt <lorenm at u dot washington dot edu> (approves LGPL relicensing for
this code). Patch by Daniel Kang <daniel dot d dot kang at gmail com>, as
part of Google's GCI 2010.

Originally committed as revision 26132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 17:42:34 +00:00
Ronald S. Bultje
98928c83e0 Mark recently added pred4x4_down_left_mmxext as CONFIG_GPL. Although Holger
initially said he'd be OK with relicensing, he also said he wanted to have
another look at the patch, and then he went on vacation, so let's play it
safe for now. We can consider removing this again later.

Originally committed as revision 26131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 17:34:00 +00:00
Daniel Kang
911b32f482 Port pred4x4_down_left_mmxext (H.264 intra prediction) from x264 to FFmpeg.
LGPL relicensing approved by original authors: Holger Lubitz <holger lubitz
org>, Jason Garrett-Glaser <darkshikari gmail com> and Loren Merritt <lorenm
at u dot washington dot edu>. Patch by Daniel Kang <daniel dot d dot kang at
gmail com>, as part of Google's GCI 2010.

Originally committed as revision 26087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-24 22:43:07 +00:00
Reimar Döffinger
6c2142809c Add d modifier to asm argument to fix nasm compilation.
Originally committed as revision 25397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 19:18:18 +00:00
Ronald S. Bultje
dd68d4db43 MMX, MMX2, SSE2 and SSSE3 optimizations for pred16x16/8x8_plane H264 intra
prediction (plus some with different rounding for svq3/rv40). Speedup (for
SSSE3) about ~6-fold, 3.6% faster overall with cathedral sample.

Originally committed as revision 25361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 22:06:18 +00:00
Jason Garrett-Glaser
17dc7c7a60 Fix h264/vp8 intra pred on Athlon XP
Whose idea was it to have a CPU that didn't SIGILL on an invalid instruction?

Originally committed as revision 23927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 10:29:47 +00:00
Jason Garrett-Glaser
bc14f04b2f MMXEXT version of vp8 4x4 vertical pred
Originally committed as revision 23876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 00:23:52 +00:00
Jason Garrett-Glaser
fb9927ad7d Add mmx/mmxext/ssse3 4x4 TM intra pred functions for vp8
Originally committed as revision 23875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 23:53:07 +00:00
Jason Garrett-Glaser
8b746bb473 Add missing comment header for predict_4x4_dc_mmxext
Originally committed as revision 23874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 23:37:24 +00:00
Jason Garrett-Glaser
270a85d259 Fix some intra pred MMX functions that used MMXEXT instructions
Also add predict_4x4_dc MMXEXT function for vp8/h264.

Originally committed as revision 23873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 23:35:17 +00:00
Jason Garrett-Glaser
4af8cdfc3f 16x16 and 8x8c x86 SIMD intra pred functions for VP8 and H.264
Originally committed as revision 23783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-25 18:25:49 +00:00