Jason Garrett-Glaser and Derek Buitenhuis
7115566541
x86inc: various minor backports from x264
...
Small backports that sneaked into other asm commits in x264.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2013-10-07 06:27:22 -04:00
Jason Garrett-Glaser and Luca Barbato
d222f6e39e
cabac: x86 version of get_cabac_bypass
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-07-04 16:06:10 +02:00
Jason Garrett-Glaser and Justin Ruggles
85a3c19ed1
dsputil: x86: add SHUFFLE_MASK_W macro
...
Simplifies pshufb masks that operate on words.
2012-07-22 16:56:58 -04:00
Jason Garrett-Glaser
96a59cf37b
x86: XOP/FMA4 CPU detection support
2011-09-26 15:30:31 -07:00
Jason Garrett-Glaser
a3bf7b864a
H.264: tweak some other x86 asm for Atom
2011-07-29 12:24:15 -07:00
Jason Garrett-Glaser
6c32576548
H.264: optimize CABAC x86 asm for Atom
2011-07-28 13:06:13 -07:00
Jason Garrett-Glaser
b5bbc84fe2
H.264: add filter_mb_fast support for >8-bit decoding
...
Much faster high bit depth deblocking.
2011-07-11 14:58:50 -07:00
Jason Garrett-Glaser
f6b7f72461
H.264: avoid redundant alpha/beta calculations in loopfilter
2011-07-11 08:46:44 -07:00
Jason Garrett-Glaser
a4f6be86d6
H.264: optimize intra/inter loopfilter decision
2011-07-11 08:46:03 -07:00
Jason Garrett-Glaser
7f7dc4fb55
H.264: fix filter_mb_fast with 4:4:4 + 8x8dct
2011-07-09 13:32:55 -07:00
Jason Garrett-Glaser
6a2176aac0
H.264: improve qp_thresh check
...
Eliminate redundant check in filter_mb_fast, consider bit depth in calculating qp_thresh.
2011-07-08 16:12:42 -07:00
Jason Garrett-Glaser
99b6d2c065
H.264: use fill_rectangle in CABAC decoding
2011-07-08 16:12:39 -07:00
Jason Garrett-Glaser
298e52c99c
H.264: Remove redundant hl_motion_16/8 code
2011-07-08 16:12:36 -07:00
Jason Garrett-Glaser
ef0c594801
H.264: merge fill_rectangle into P-SKIP MV prediction, to match B-SKIP
2011-07-08 16:12:12 -07:00
Jason Garrett-Glaser
5136ba7c69
H.264: faster P-SKIP decoding
...
Inline the relevant parts of fill_decode_caches into P-SKIP mv prediction to
avoid calling the whole thing.
2011-07-08 16:11:15 -07:00
Jason Garrett-Glaser
bbdd52ed34
H.264: av_always_inline some more functions
...
These weren't getting inlined all the time in all gcc versions.
2011-07-08 16:09:35 -07:00
Jason Garrett-Glaser
a625e13208
H.264: make loopfilter bS const where applicable
2011-07-05 16:28:37 -07:00
Jason Garrett-Glaser
5029a40633
H.264: fix overreads of qscale_table
...
filter_mb_fast assumed that qscale_table was padded like many of the other tables.
2011-07-04 06:39:20 -07:00
Jason Garrett-Glaser
556f8a066c
H.264: template left MB handling
...
Faster H.264 decoding with ALLOW_INTERLACE off.
2011-07-03 15:06:00 -07:00
Jason Garrett-Glaser
ca80f11ec3
H.264: faster fill_decode_caches
...
Aliasing avoidance and general cleanup.
2011-07-03 15:05:57 -07:00
Jason Garrett-Glaser
3b7ebeb4d5
H.264: faster write_back_*
...
Avoid aliasing, unroll loops, and inline more functions.
2011-07-03 15:05:55 -07:00
Jason Garrett-Glaser
cb5469462d
H.264: faster fill_filter_caches
...
Reduce aliasing problems and unroll mv/ref loop.
2011-07-03 15:05:52 -07:00
Jason Garrett-Glaser
4320a309ce
H.264: make filter_mb_fast support the case of unavailable top mb
...
Significantly faster deblocking in streams with lots of slices.
2011-07-03 15:05:49 -07:00
Jason Garrett-Glaser
da55ee6ccc
Add new yuv444 pixfmts to avcodec_align_dimensions2
...
Fixes draw_edges crashes with high-bit-depth 4:4:4 decoding.
2011-06-29 01:00:49 -07:00
Jason Garrett-Glaser
9a0dda8b3a
H.264: disable 2tap qpel with CODEC_FLAG2_FAST and >8-bit
...
2tap qpel isn't implemented yet for high bit depth, so it just breaks decoding.
2011-06-26 14:35:39 -07:00
Jason Garrett-Glaser
84153d1883
H.264: make filter_mb_fast support 4:4:4
2011-06-26 14:35:36 -07:00
Jason Garrett-Glaser
2702a6f114
H.264: fix 4:4:4 + deblocking + 8x8dct + cavlc + MBAFF
2011-06-22 02:39:20 -07:00
Jason Garrett-Glaser
7c9079ab4c
H.264: fix 4:4:4 + deblocking + MBAFF
2011-06-22 02:39:17 -07:00
Jason Garrett-Glaser
932db25024
H.264: fix 4:4:4 cropping warning
2011-06-22 02:39:14 -07:00
Jason Garrett-Glaser
85a88f9c0c
H.264: reference the correct SPS in decode_scaling_matrices
2011-06-22 02:39:11 -07:00
Jason Garrett-Glaser
3b79f2e2e9
H.264: fix bug in lossless 4:4:4 decoding
...
Coefficient test for i16x16 add_pixels4 assumed luma plane.
2011-06-22 02:39:09 -07:00
Jason Garrett-Glaser
11177a4d82
Fix SVQ3 after adding 4:4:4 H.264 support
2011-06-13 21:16:36 -07:00
Jason Garrett-Glaser
7b442ad918
H.264: fix CODEC_FLAG_GRAY
...
It was broken in 4:4:4, and still did chroma deblocking for no reason in 4:2:0.
2011-06-13 21:16:33 -07:00
Jason Garrett-Glaser
c90b94424c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13 21:16:30 -07:00
Jason Garrett-Glaser
504811baea
Roll back 4:4:4 H.264 for now
...
Needs some ARM/PPC asm modifications.
2011-06-13 13:38:46 -07:00
Jason Garrett-Glaser
295f0a2503
Fix SVQ3 after adding 4:4:4 H.264 support
2011-06-13 12:21:51 -07:00
Jason Garrett-Glaser
c177cfb4fb
H.264: fix CODEC_FLAG_GRAY
...
It was broken in 4:4:4, and still did chroma deblocking for no reason in 4:2:0.
2011-06-13 12:21:49 -07:00
Jason Garrett-Glaser
c9c493872c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13 12:21:39 -07:00
Jason Garrett-Glaser and Ronald S. Bultje
c149843b5a
H.264: Fix high bit depth explicit biweight
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2011-06-10 14:45:49 -04:00
Jason Garrett-Glaser
5705b02079
10-bit H.264 x86 chroma v loopfilter asm
...
Also delete some unused deblock asm macros.
2011-05-11 11:09:10 -07:00
Jason Garrett-Glaser
9f3d6ca4f1
Port x86 10-bit H.264 deblock asm from x264
2011-05-10 20:02:15 -07:00
Jason Garrett-Glaser
8ad77b65b5
Update x86 H.264 deblock asm
...
Includes AVX versions from x264.
2011-05-10 20:01:58 -07:00
Jason Garrett-Glaser and Ronald S. Bultje
15919ee48f
bswap: use native types for av_bwap16().
...
This prevents a call to bytestream_get_be16() using a movzwl both before
and after the ror instruction, which is obviously inefficient. Arm uses
the same trick also.
Sintel decoding goes from (avg+SD) 9.856 +/- 0.003 to 9.797 +/- 0.003 sec.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2011-04-22 20:05:48 -04:00
Jason Garrett-Glaser
81a131312d
VP8: fix other function declaration
...
Was missed in 3efbe137 .
2011-03-12 15:36:15 -08:00
Jason Garrett-Glaser
1eeca88691
VP8: optimize VP8Context struct ordering
...
Shaves at least 3KB off code size on x86, should improve cache utilization.
This would probably be useful to do for other decoders/encoders as well.
2011-03-12 03:43:42 -08:00
Jason Garrett-Glaser
3efbe13739
VP8: fix function declaration
2011-03-12 03:41:39 -08:00
Jason Garrett-Glaser
b1d2f812c9
VP8: token probs doesn't need padding
...
prob[0] is the only prob array ever accessed, so prob[1] can serve as padding
for prob[0].
2011-03-12 03:41:36 -08:00
Jason Garrett-Glaser
628b48db85
VP8: use a goto to break out of two loops
...
A break statement was supposed to break out of two loops, but only broke out of one.
Didn't affect output, just could have been marginally slower.
2011-03-12 03:41:33 -08:00
Jason Garrett-Glaser
902685b8ab
VP3: fix decoding of videos with stride > 2048
...
Also remove qscale_table code; this didn't make sense anyways as VP3 doesn't
use an MPEG-like quantizer scale.
2011-02-18 14:40:57 -08:00
Jason Garrett-Glaser
891b1f15a7
VP8: init one less near_mv
...
This one didn't actually need to be initialized.
2011-02-17 15:25:28 -08:00
Jason Garrett-Glaser
eb3755a5aa
Force inlining of avutil common routines
...
On some versions of gcc, these weren't always getting inlined due to hitting
the inline cap limit in some files. This is generally bad, as most of these
functions are smaller inlined than not.
2011-02-17 15:25:25 -08:00
Jason Garrett-Glaser
bcf4568f18
VP8: split out declarations to new header
2011-02-17 15:25:16 -08:00
Jason Garrett-Glaser
7634771e70
VP8: faster MV clipping
2011-02-17 15:23:53 -08:00
Jason Garrett-Glaser
f3d09d44b7
VP8: optimized mv prediction and decoding
...
Merge find_near_mvs and mv bitstream decoding: don't do prediction steps
until absolutely necessary.
2011-02-10 16:18:16 -08:00
Jason Garrett-Glaser
c7ac200d15
Update qmin/qmax values for libx264 presets
...
Also allow qmin/qmax to go up to 69 (the current max value for libx264). This
will have to increase when we add 9/10-bit support.
2011-02-08 15:59:30 -08:00
Jason Garrett-Glaser
f7f8120fb9
Fix broken vbv_buffer_init handling in libx264.c
...
Due to being pants-on-head retarded, libavcodec defaults this to zero, which
results in broken output. This didn't affect ffmpeg.c, which sets it itself,
but caused problems for other calling apps using VBV.
2011-02-08 15:59:27 -08:00
Jason Garrett-Glaser
62457f9052
VP8: idct_mb optimizations
...
Currently uses AV_RL32 instead of AV_RL32A, as the latter doesn't exist yet.
2011-02-08 15:59:24 -08:00
Jason Garrett-Glaser
8a2c99b486
VP8: slightly faster loopfilter sharpness logic
2011-02-04 04:51:22 -08:00
Jason Garrett-Glaser
79dec1541b
VP8: faster deblock strength calculation
...
Convert hev_thresh logic to a LUT, simplify mbedge_lim calculation.
2011-02-04 04:51:18 -08:00
Jason Garrett-Glaser
a1b227bb53
VP8: faster filter_level clip
2011-02-03 19:55:06 -08:00
Jason Garrett-Glaser
dd18c9a050
VP8: simplify lf_delta mb mode logic
2011-02-03 19:55:02 -08:00
Jason Garrett-Glaser
64233e702a
VP8: merge chroma MC calls
...
Adds some duplicated code, but avoids duplicate edge checks and similar.
~0.5% faster overall on Parkjoy test sample.
2011-01-31 20:46:54 -08:00
Jason Garrett-Glaser
73be29b0c4
Slightly simplify VP8 inter_predict
...
Merge an if and a switch.
2011-01-30 12:12:02 -08:00
Jason Garrett-Glaser
a5da3b040c
Deprecate CREDITS
...
It's useless now that we've switched to git.
2011-01-18 11:20:17 -08:00
Jason Garrett-Glaser
f4f5cab94e
Initial MAINTAINERS update
...
Per http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2011-January/103440.html .
2011-01-18 11:05:51 -08:00