Commit Graph

167 Commits

Author SHA1 Message Date
Dan Maas
2e52b44e50 AC coefficient weighing (per SMPTE 314M) for the DV encoder and decoder. The
performance impact is less than 1%.

Patch by Dan Maas  (dmaas at maasdigital dot com)

Originally committed as revision 5070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-27 04:50:06 +00:00
Dan Maas
6df5f6ae51 size[0-3] are not initialized (and can get random negative trash
values), so the comparison with vs_total_ac_bits is messed up on the
first couple loop iterations, leading to AC underflows.

the b->prev[] pointers were not being maintained correctly. We
potentially have to update b->prev[] both before and after the area
whose VLC length is getting adjusted.

this also might fix the ppc regression failure?

patch by (Dan Maas <dmaas maasdigital com>)

Originally committed as revision 5064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-25 22:58:26 +00:00
Michael Niedermayer
6661b2130d dont lowwer qnos of more blocks then needed
Originally committed as revision 5055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-23 13:05:37 +00:00
Michael Niedermayer
d2d230a756 fixing dv_guess_qnos()
roman, dont hesitate to reverse this and solve it differntly if you want ...

Originally committed as revision 5053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-23 08:56:53 +00:00
Michael Niedermayer
b4e021e8c4 jpeg-ls regression test
Originally committed as revision 4925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-02 15:34:09 +00:00
Michael Niedermayer
82e415b1fc avoid using non constant fields of AVCodecContext in avi muxer
Originally committed as revision 4897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-25 17:14:16 +00:00
Benjamin Larsson
12943a53b5 Fix the wrongly commited regressions stuff for psp compatible mp4 files.
Originally committed as revision 4890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 08:15:47 +00:00
Benjamin Larsson
dcfdb046ee Fix for title field in PSP compatible mp4 files. Patch by
Olivier, oandrieu <at> gmail.com.

Originally committed as revision 4889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 08:03:42 +00:00
Michael Niedermayer
29f7ae79e7 scale video for snow iterative me down so the egression test is faster
Originally committed as revision 4888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-23 18:49:08 +00:00
Michael Niedermayer
b29af723de >4gb fixes by (Dirk Musfeldt | d.musfeldt meilenstein de)
Originally committed as revision 4886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-23 14:12:03 +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
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
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
Michael Niedermayer
47ad9abaa5 fixing second last time François Revol applies a patch without running the regression tests, next time his account is disabled
Note, if you think thats too harsh, look at the cvs history he has broken the regression tests many times and has not once
updated the checksums ...
regression test checksum change due to: movenc.c 1.46->1.47
"finally found what those >138 codes were... crappy compressed 5bit ascii. this gets them correctly, and adds setting track"

Originally committed as revision 4826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-08 17:06:26 +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
a588a2c654 regression test for iterative ME & wavelet cmp functions
Originally committed as revision 4820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-07 15:53:21 +00:00
Michael Niedermayer
88e51e1fb5 second try of improved lambda/qp guessing for motion estimation RD in first pass
Originally committed as revision 4785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-29 15:46:23 +00:00
Michael Niedermayer
aaaa6f1549 dont discard least significant bits
Originally committed as revision 4773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-25 16:34:12 +00:00
Michael Niedermayer
b7c51ebc89 slightly better mv_penalty table
Originally committed as revision 4770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-24 03:12:07 +00:00
Michael Niedermayer
377798d6bd minor typo
Originally committed as revision 4767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-23 00:40:52 +00:00
Michael Niedermayer
50c6f6cd4c improved lambda/qp guessing for motion estimation RD in first pass
this only affects encoding with bframes and rate control

Originally committed as revision 4765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 14:17:54 +00:00
Michael Niedermayer
f79432a26e set a few variables correctly
Originally committed as revision 4560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-05 10:26:11 +00:00
Michael Niedermayer
c619ff6daf optimizations
dc coeff rounding fix
class=3 num of bits fix
do interlaced check & idct only if CODEC_FLAG_INTERLACED_DCT

Originally committed as revision 4542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-30 20:03:19 +00:00
Michael Niedermayer
8fce2707e8 regression tests for dv
Originally committed as revision 4541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-30 19:44:02 +00:00
Michael Niedermayer
d8cbeba156 yamaha adpcm regression test
Originally committed as revision 4473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-25 14:36:58 +00:00
Michael Niedermayer
3b5ffe7a39 fix mpeg2 chroma_420_type
Originally committed as revision 4274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 19:42:42 +00:00
Justin Ruggles
132041f06f While adding stereo rematrixing, I came across something that needs to
be fixed even without adding the feature.  The output correctly uses 4
dummy values for the rematrixing flags in block-0, but the bit
allocation routine does not take these bits into account.  From what I
can tell, there was a patch in 2003 that corrected the output to make it
DVD and spec compatible, but it didn't correct the bit allocation.  It's
only 4 bits over the entire 6 blocks, so overflow errors would happen
rarely or never, but it's still worth fixing.  So here is a fix.

patch by (Justin Ruggles {jruggle earthlink net)

Originally committed as revision 4179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-05 14:10:52 +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
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
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
d13eef3d3d snow regression test
Originally committed as revision 4100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-03 15:39:17 +00:00
Calcium
58d2a1506d 28_fix_parameters_in_G726.patch by (Calcium | calcium nurs or jp)
Originally committed as revision 4070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-23 12:35:27 +00:00
Michael Niedermayer
8272de4ea2 fix time stored in mov
based upon 23_fix_timestamp_in_mov.patch by (Calcium | calcium nurs or jp)

Originally committed as revision 4067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-23 11:15:45 +00:00
Michael Niedermayer
6c13c880fa trying to fix a few minor values in the mp4/mov muxer
Originally committed as revision 4063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-23 00:26:43 +00:00
Michael Niedermayer
4a7d265176 sample_size fix
Originally committed as revision 4043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-15 23:50:24 +00:00
Michael Niedermayer
625d98a319 set global_quality
Originally committed as revision 4042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-15 22:49:16 +00:00
Michael Niedermayer
420370d4aa switch MPEG4 fourcc to FMP4
Originally committed as revision 3972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-22 19:48:07 +00:00
Michael Niedermayer
9499ebff8d checksum change due to (don't crash on null codec patch which changed the stored length of the compressor name, movenc.c 1.28->1.29)
Originally committed as revision 3950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-07 22:47:46 +00:00
Michael Niedermayer
5dc18027d5 max/avg bitrate change (movenc.c 1.25->1.26)
Originally committed as revision 3947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-07 20:15:23 +00:00
Michael Niedermayer
a749c8d6e5 regression test checksum change due to the mov header field and compressor name patch (movenc.c 1.24->1.25)
Originally committed as revision 3946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-07 18:56:41 +00:00
Michael Niedermayer
976709ee73 compare audio files 16bit wise instead of 8bit
additionally compare the mp2 case with some delay as this matches better (the delay issue obviously should be fixed)

Originally committed as revision 3922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-01 21:16:33 +00:00
Michael Niedermayer
a7a858996f dithering for the mpeg audio decoder
Originally committed as revision 3903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-30 14:04:56 +00:00
Michael Niedermayer
16dd93ab6a quick and dirty PSNR check for audio
Originally committed as revision 3902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-30 13:26:11 +00:00
Michael Niedermayer
dd4f8a04fe jpeg style yuv fixes
Originally committed as revision 3852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-20 00:30:20 +00:00
Michael Niedermayer
c50cd09dd5 rv20 regression test
Originally committed as revision 3740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-07 13:48:25 +00:00
Michael Niedermayer
80016c48b0 rm encoding fix
Originally committed as revision 3736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-06 21:38:05 +00:00