Loren Merritt
4e64beadf0
Snow 1pass ratecontrol
...
Originally committed as revision 5416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-28 12:38:10 +00:00
Michael Niedermayer
3a1a7e32ac
sanity checks, some might have been exploitable ...
...
Originally committed as revision 5369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-05-13 10:45:26 +00:00
Robert Edele
561a18d3ba
Snow mmx + sse2 part 2
...
Patch by Robert Edele, yartrebo <<at>> earthlink <<dot>> net
Originally committed as revision 5184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-20 05:52:23 +00:00
Robert Edele
059715a41c
First part of a series of speed-enchancing patches.
...
This one sets up a snow.h and makes snow use the dsputil function pointer
framework to access the three functions that will be implemented in asm
in the other parts of the patchset.
Patch by Robert Edele < yartrebo AH earthlink POIS net>
Original thread:
Subject: [Ffmpeg-devel] [PATCH] Snow mmx+sse2 asm optimizations
Date: Sun, 05 Feb 2006 12:47:14 -0500
Originally committed as revision 5172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-16 19:18:18 +00:00
Michael Niedermayer
fc8c49926c
dont pass intra flag if its always 0
...
Originally committed as revision 5164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-14 00:22:05 +00:00
Loren Merritt
8f8ae4951e
seed iterative_me with mvs from conventional search.
...
+15% speed, +.1 dB
Originally committed as revision 5158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 01:27:13 +00:00
Loren Merritt
07674d518c
obey vqscale in 2nd pass
...
Originally committed as revision 5157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 01:26:06 +00:00
Michael Niedermayer
e7c8206e5c
av_free -> av_freep
...
Originally committed as revision 5145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-11 00:19:32 +00:00
Michael Niedermayer
87f20c2f31
fix %8 != 0 w/h
...
Originally committed as revision 5144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-11 00:18:43 +00:00
Dieter
ceaf1909c1
add static keyword to some functions
...
patch by Dieter <freebsd at sopwith solgatos com>
Originally committed as revision 4913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-30 23:33:19 +00:00
Diego Biurrun
4f59b684a6
Remove all stray tabs and trailing whitespace, this time for good.
...
Originally committed as revision 4891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 10:33:14 +00:00
Loren Merritt
48d1b9a17c
fix convergence of snow iterative_me
...
Originally committed as revision 4876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 02:35:03 +00:00
Loren Merritt
3de79d0dca
revert 1.83 because it's not needed
...
Originally committed as revision 4875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 02:33:01 +00:00
Loren Merritt
d3ac6ed667
detect when iterative_me fails to converge, and stop searching
...
Originally committed as revision 4868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-19 09:21:39 +00:00
Loren Merritt
b104969fab
obmc-aware 4mv
...
Originally committed as revision 4864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-17 08:27:39 +00:00
Diego Biurrun
5509bffa88
Update licensing information: The FSF changed postal address.
...
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Michael Niedermayer
c8a596d210
bugs found by valgrind
...
Originally committed as revision 4841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 21:37:57 +00:00
Loren Merritt
1015631b79
faster iterative_me: avoid duplicate mc of neighboring blocks.
...
Originally committed as revision 4839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 05:47:52 +00:00
Michael Niedermayer
80e44bc3bf
use h264 MC functions for 2xX Xx2 blocks in snow too
...
Originally committed as revision 4824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-08 01:50:34 +00:00
Michael Niedermayer
2692ceab8b
use h264 MC functions for rectangular blocks too
...
Originally committed as revision 4821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-07 18:34:19 +00:00
Michael Niedermayer
39277cf949
10l (assertion failure)
...
Originally committed as revision 4819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-07 03:39:10 +00:00
Michael Niedermayer
3b6ab26c01
cleanup
...
fix 4mv playback distortions
Originally committed as revision 4813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-04 22:34:11 +00:00
François Revol
003cd80df9
:%s/check_block_2p/check_block_inter/g
...
Originally committed as revision 4794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 22:41:32 +00:00
François Revol
52137f2f43
this fixes compilation with gcc 2.95 which seems to not like array casting... special case inline of check_block which makes the array and passes it
...
Originally committed as revision 4793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 21:05:44 +00:00
Michael Niedermayer
13705b69eb
mem corruption fix
...
Originally committed as revision 4789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-30 15:12:02 +00:00
Michael Niedermayer
d6f41eeddc
4mv + iter ME 10l fix (still not bugfree but better)
...
Originally committed as revision 4783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-29 02:17:51 +00:00
Michael Niedermayer
735f9f34fe
10l
...
Originally committed as revision 4782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-28 23:45:16 +00:00
Michael Niedermayer
51d6a3cf00
iterative overlapped block based motion estimation for snow
...
Originally committed as revision 4781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-28 15:43:53 +00:00
Diego Biurrun
bb270c0896
COSMETICS: tabs --> spaces, some prettyprinting
...
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Michael Niedermayer
daba69b211
10l
...
Originally committed as revision 4758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-19 18:26:17 +00:00
Diego Biurrun
115329f160
COSMETICS: Remove all trailing whitespace.
...
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Michael Niedermayer
4393e6392c
check block_max_depth (fixes crash)
...
Originally committed as revision 4718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-03 14:20:03 +00:00
Michael Niedermayer
91aa4e3300
make selftest code compile again
...
Originally committed as revision 4717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-03 03:07:54 +00:00
Aurelien Jacobs
62ab0b7822
fix unused variable warnings
...
Originally committed as revision 4609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-21 23:09:16 +00:00
Michael Niedermayer
cc884a3506
reducing minimum supported picture size
...
Originally committed as revision 4535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-21 22:17:41 +00:00
Michael Niedermayer
9cd8179818
#defines for strict_std_compliance and split between inofficial extensions and non standarized things
...
Originally committed as revision 4205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-08 20:15:42 +00:00
Michael Niedermayer
644a92626a
PIX_FMT_NONE and related fixes
...
Originally committed as revision 4161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 18:29:06 +00:00
Yartrebo
66b32bf272
tighter snow slicing patch by (Yartrebo || yartrebo earthlink net)
...
Originally committed as revision 4159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-25 10:03:01 +00:00
Mike Melanson
160d679c07
Ministry of English Composition, reporting for duty (and the word is "skipped", not "skiped"; "skiped" would rhyme with "hyped")
...
Originally committed as revision 4153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-24 17:21:11 +00:00
Yartrebo
8c2515bbb9
fix overflow in mc_block() patch by (Yartrebo )yartrebo earthlink net
...
Originally committed as revision 4132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-17 09:27:53 +00:00
Michael Niedermayer
b44985ba12
store the number of runs to avoid storing the last run value
...
about 10% lower bitrate for -qscale 32 (forman & some music video)
worst case bitrate increase <0.1% (lossless or low qscale)
and now the bad news, even though this just adds a single subtraction and an if() into the medium sized unpack_coeffs() loop and the if() will only be false once per unpac_coeff() call, gcc produces 50% slower code, i didnt look at the generated asm yet, not sure if i want to ...
Originally committed as revision 4131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-15 13:24:30 +00:00
Loren Merritt
2cd340438a
allow 2pass ratecontrol. also fixes psnr displayed by mencoder.
...
Originally committed as revision 4130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-15 05:54:47 +00:00
Michael Niedermayer
cbb1d2b161
replace complicated pointer dereference + index stuff by pointers in unpack_coeffs()
...
Originally committed as revision 4129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-14 20:54:03 +00:00
Michael Niedermayer
99cd59e58f
minor optimization
...
Originally committed as revision 4128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-14 20:30:08 +00:00
Michael Niedermayer
3c096ac791
optimizing unpack_coeffs()
...
Originally committed as revision 4127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-14 18:33:26 +00:00
Yartrebo
86e59cc01d
Snow segfault bug in revision 1.43 patch by (Yartrebo /yartrebo earthlink net/)
...
Originally committed as revision 4126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-13 01:57:19 +00:00
Michael Niedermayer
f5a719287d
rescale coefficients during IDWT, that way the lifting steps are much simpler and faster
...
Originally committed as revision 4119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-10 14:21:53 +00:00
Michael Niedermayer
a0a74ad9f0
increasing precission of the quantization parameter
...
this is needed as the quantization stepsize for each subband is also in this precission and insignificant changes to the wavelet like scaling its coefficients slightly differently would lead to wildly variing PSNR and bitrate
note, a encoder could also simply choose to leave the least significant bits of the quantization parameters zero which would give the exact previous behaviour except a y very tiny number of bits in the header
Originally committed as revision 4115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-09 22:15:48 +00:00
Michael Niedermayer
c97de57c39
fix QROOT != 8
...
Originally committed as revision 4114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-09 19:48:59 +00:00
Michael Niedermayer
538a38418c
10% faster unpack_coeffs
...
Originally committed as revision 4108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-05 17:59:05 +00:00
Michael Niedermayer
3cff4572ce
fixing lossless snow
...
Originally committed as revision 4107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-05 09:37:43 +00:00
Michael Niedermayer
565a45ace3
merge vertical lifting steps and a little cleanup
...
Originally committed as revision 4104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-04 21:35:18 +00:00
Yartrebo
a0d1931c0e
Snow Slicing patch by (Yartrebo) yartrebo earthlink net
...
Originally committed as revision 4101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-03 15:43:57 +00:00
Loren Merritt
f9e6ebf7f9
slice-based idwt (10% faster decoding)
...
Originally committed as revision 4040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-15 21:05:34 +00:00
Michael Niedermayer
53513831da
-strict -1 comment fix
...
Originally committed as revision 3976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 16:39:03 +00:00
Michael Niedermayer
934982c4ac
avoid buf_size == 0 checks in every decoder
...
Originally committed as revision 3872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-23 18:09:06 +00:00
Matthieu Castet
d06c75a830
10l patch by (matthieu castet <castet.matthieu free fr>)
...
Originally committed as revision 3842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-16 22:11:47 +00:00
Michael Niedermayer
0ecca7a49f
various security fixes and precautionary checks
...
Originally committed as revision 3822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-12 00:16:25 +00:00
Gianluigi Tiesi
8ff53f5b07
Disable encoders patch by (Gianluigi Tiesi <mplayer netfarm it>)
...
Originally committed as revision 3797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-03 16:13:52 +00:00
Michael Niedermayer
2554db9b5f
fix for build on IRIX by (Michel Bardiaux {mbardiaux peaktime be})
...
Originally committed as revision 3713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-25 19:26:46 +00:00
Michael Niedermayer
2886975773
CABAC -> range coder
...
Originally committed as revision 3655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-30 02:16:27 +00:00
Michael Niedermayer
d7d51926dd
unused
...
Originally committed as revision 3502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-24 18:12:43 +00:00
Michael Niedermayer
715a97f0c0
merge predict_plane() with DWTELEM->8bit conversation (21% faster)
...
Originally committed as revision 3499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-23 12:20:41 +00:00
Michael Niedermayer
034aff036f
8 -> FRAC_BITS
...
Originally committed as revision 3489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-21 23:10:10 +00:00
D Richard Felker III
aa25a462b6
consistent use of types patch by (D Richard Felker III <dalias at aerifal dot cx>)
...
Originally committed as revision 3480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-19 14:43:09 +00:00
Loren Merritt
7c2425d239
simplify getsymbol patch by (Loren Merritt <lorenm at u dot washington dot edu>)
...
Originally committed as revision 3476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-17 23:51:36 +00:00
Michael Niedermayer
bd368b565b
per picture psnr
...
Originally committed as revision 3465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-15 01:55:04 +00:00
Michael Niedermayer
d92b58073e
100l (forgot to set the 8x8 mc functions, so ME did use the mpeg ones ...)
...
Originally committed as revision 3456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-12 23:09:54 +00:00
Michael Niedermayer
ec69758781
use h264 MC code if possible
...
50% faster predict_plane() if mmx2/3dnow is available
0.1% bitrate increase
Originally committed as revision 3455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-12 21:32:36 +00:00
Michael Niedermayer
3924dac4c8
use pointer arithmetic in mc_block(), 25% faster
...
Originally committed as revision 3452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-12 10:51:02 +00:00
Michael Niedermayer
ff158dc95d
20% faster predict_plane()
...
moion vector max/min fix
Originally committed as revision 3434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-05 21:46:16 +00:00
Michael Niedermayer
19aa028dc5
10l (keyframes and context resets)
...
Originally committed as revision 3426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-31 16:28:49 +00:00
Michael Niedermayer
39c61bbbd3
cleanup
...
Originally committed as revision 3425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-28 14:24:48 +00:00
Michael Niedermayer
fff6d4ea4e
10l
...
more benchmarking code
inline
Originally committed as revision 3424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-28 14:08:50 +00:00
Michael Niedermayer
ea7d9cd4bc
merge decode_subband() and dequantize()
...
Originally committed as revision 3422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-27 21:16:51 +00:00
Michael Niedermayer
ff76515933
11% faster decode_subband()
...
Originally committed as revision 3421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-27 20:33:16 +00:00
Michael Niedermayer
0cea8a037c
5% faster decode_subband()
...
a little cleanup
Originally committed as revision 3420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-27 20:15:32 +00:00
Michael Niedermayer
7b49c30974
46% faster decode_subband()
...
Originally committed as revision 3419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-27 19:52:32 +00:00
Michael Niedermayer
3c1adccd1c
50% faster decode_subband()
...
Originally committed as revision 3418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-27 01:06:58 +00:00
Michael Niedermayer
155ec6edf8
quad tree based motion compensation (currently only 16x16 & 8x8 OBMC blocks, but can be extended to other block sizes easily)
...
different intra block coding (previous was just an ugly hack)
1.8% bitrate reduction -0.01PSNR (foreman@352x288 qscale=8)
1.5% bitrate reduction +0.05PSNR (foreman@352x288 qscale=1)
Originally committed as revision 3416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-26 20:04:54 +00:00
Michael Niedermayer
64886072f5
edge bugfix
...
1-1.3% lower bitrate and +0.01 PSNR (foremen@352x288 qscale=1,8)
Originally committed as revision 3414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-25 00:26:01 +00:00
Michael Niedermayer
46c281e8c1
cleanup
...
Originally committed as revision 3377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-03 02:34:50 +00:00
Michael Niedermayer
93fbdb5ac5
lossless support
...
Originally committed as revision 3374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-02 19:09:28 +00:00
Michael Niedermayer
3bb9f096d4
cleanup
...
Originally committed as revision 3373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-02 18:01:03 +00:00
Michael Niedermayer
0635cbfc32
improved magnitude coding, 0.2% lower bitrate (foreman@352x288 qscale 1 and 8)
...
Originally committed as revision 3372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-02 17:53:57 +00:00
Michael Niedermayer
bc68bfdde0
cleanup
...
Originally committed as revision 3367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-02 01:06:55 +00:00
Michael Niedermayer
4f4e963383
various subband encoders (all either worse or complicated so they are commented out)
...
different 0-context encoding, 1.2% lower bitrate (foreman@352x288 qscale=8) no significant change at qscale=1
Originally committed as revision 3366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-02 01:03:52 +00:00
Michael Niedermayer
620ab797f0
1/0 fix
...
Originally committed as revision 3357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-28 01:35:29 +00:00
Michael Niedermayer
2ff9ff5bdf
dont segfault without -strict -1
...
Originally committed as revision 3356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-28 00:09:03 +00:00
Michael Niedermayer
da66b6313e
optimize quantizaton (about 3x faster)
...
further opt is easily possible but could lead to overflows depening upon coefficient range, so this wont be done yet as it would make the code somewhat less flexible
Originally committed as revision 3354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-27 17:38:53 +00:00
Michael Niedermayer
a8d73e56e6
cleanup
...
remove ugly and slow vertical scaning code
0.1% bitrate increase (foreman@352x288 qp=1)
0.3% bitrate increase (foreman@352x288 qp=8)
Originally committed as revision 3353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-27 17:02:31 +00:00
Michael Niedermayer
7848640356
use parent sample to predict significance & magnitude
...
1% bitrate reduction (foreman@352x288 qscale 1 & 8)
Originally committed as revision 3352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-27 13:40:16 +00:00
Michael Niedermayer
e071139a96
log2() & bsd
...
Originally committed as revision 3350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-27 09:44:57 +00:00
Michael Niedermayer
6b2f664691
better context model (0.2-1% lower bitrate)
...
a tiny bit cleanup
Originally committed as revision 3348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-27 01:30:44 +00:00
Michael Niedermayer
de890c9bd1
typo
...
Originally committed as revision 3342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-26 13:31:48 +00:00
Michael Niedermayer
791e7b83c3
my experimental wavelet codec
...
note, this is far from finished, dont expect todays encodings to be decodeable with cvs tomorrow ...
Originally committed as revision 3341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-25 23:36:44 +00:00