Commit Graph

83 Commits

Author SHA1 Message Date
Roman Shaposhnik
56419683b2 I still don't think this should be here. Note: without this code DV encoder
will accept incorrect pix_fmt's and such, but decoder will work much better
with containers not setting the same attributes. It seems like there will
be a generic mechanism for checking such constraints, but if not I can always
resurrect this check for *encoder* only.

Originally committed as revision 5114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-06 09:54:09 +00:00
Daniel Maas
0b297700b7 DVCPRO50 support.
Patch by Daniel Maas dmaas at maasdigital dot com

Originally committed as revision 5113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-06 08:54:33 +00:00
Dan Maas
40116978de Assign class 2 to most macroblocks by default, instead of a more conservative
method defined by SMPTE

Patch by Dan Maas

Originally committed as revision 5074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-28 02:54:48 +00:00
Roman Shaposhnik
e5867e4d50 Not that we're that far from being an *initial* implementation, but
at least weighting got implemented thanks to Dan. ;-)

Originally committed as revision 5071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-27 05:04:05 +00:00
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
Michael Niedermayer
0403f791b3 remove wrong assert()
Originally committed as revision 5067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-26 15:40:08 +00:00
Michael Niedermayer
d676478c8d replace for loop with 2 asserts()
Originally committed as revision 5066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-26 15:24:42 +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
7bdb4f67bc 10l (forgot EOBs)
Originally committed as revision 5059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-24 09:16: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
fe78f7cdaa print a big warning if we mess up and run out of space ...
Originally committed as revision 5052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-23 00:16:45 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +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
Roman Shaposhnik
aa06658248 Moving dv_anchor back to the global scope. This creates a tiny memory
leak for cases like dlopening libavcodec.so and such, but I still
   don't know how to catch such events.

Originally committed as revision 4818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-06 19:19:39 +00:00
Burkhard Plaum
c842aa378d Fix DV memory leak and allow multiple instances patch by (Burkhard Plaum?)
approved by Roman Shaposhnik

Originally committed as revision 4777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-25 22:38:21 +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
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
4325ffd0a2 lowres support
Originally committed as revision 4545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-02 08:30:26 +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
Burkhard Plaum
5b2bf94340 Fix for memleak in dv.c patch by (Burkhard Plaum; plaum, ipf uni-stuttgart de)
Originally committed as revision 4539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-26 15:41:28 +00:00
Edward Hervey
856170f752 DV video encoder/decoder doesn't set keyframe and picture type properties patch by (Edward Hervey:bilboed,gmail com)
Originally committed as revision 4503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-11 01:28:04 +00:00
Roine Gustafsson
983ea0bc87 a few #ifdef CONFIG_X_ENCODER, patch by (Roine Gustafsson <roine users.sourceforge net]
Originally committed as revision 4213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-10 20:39:11 +00:00
Michael Niedermayer
5bb8a0daa1 various fixes related to the non alt_bitstream_reader
Originally committed as revision 4136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-18 12:08:16 +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
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
Burkhard Plaum
073c2593c9 Memory leak fix patch by (Burkhard Plaum <plaum >at< ipf.uni-stuttgart )dot( de>)
Originally committed as revision 3717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-27 18:10:06 +00:00
Jeff Muizelaar
21e1913175 * simplification patch by Jeffrey Ryan Muizelaar
Originally committed as revision 3491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-22 05:04:18 +00:00
Michael Niedermayer
53db1cae1c data_size = 0 cleanup
Originally committed as revision 3146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-21 14:37:16 +00:00
Michael Niedermayer
5da42be192 oops, forgot to commit that change from the warning fixes by (Michael Roitzsch <mroi at users dot sourceforge dot net>)
Originally committed as revision 3145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-21 14:29:25 +00:00
Michael Niedermayer
eea8c08fa8 cleanup & memleak fix
Originally committed as revision 3095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-30 17:42:58 +00:00
Roman Shaposhnik
901ee2bea3 * some significant clean-up of the dv_decode_ac (it looks real
simple now, take a look for yourself).

   * additional optimizations of the decoder. It runs at 55fps now
     on my desktop and it used to be ~45fps.

Originally committed as revision 2926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-25 01:46:40 +00:00
Falk Hüffner
7906085fcc warning patrol
Originally committed as revision 2925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-24 23:32:48 +00:00
Roman Shaposhnik
5825425795 * removing casualties of battle of the wits and English language
Originally committed as revision 2902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-18 04:19:34 +00:00
Roman Shaposhnik
6faa4645c5 * DV decoding/encoding now supports MultiThreading for up to 324 CPUs ;-)
Originally committed as revision 2893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-14 23:45:42 +00:00
Roman Shaposhnik
380fd6b1b4 * DV decoder simplifications. Now it looks to be 6% faster. At least
on my desktop.
     * Misc. DV cleanups and fixes.

Originally committed as revision 2892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-14 22:09:58 +00:00
Roman Shaposhnik
e7a18d5deb * moving some of the commonly used bit reading/writing functions
from common.c -> common.h so that they can be inlined.
         + performace gain ~1% (measured with DV decoding)
	 + code bloat 0.05%
      Looks like a win-win solution.

Originally committed as revision 2874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-12 23:39:38 +00:00
Michael Niedermayer
ac548c5d1d 10000l
Originally committed as revision 2665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-04 19:49:57 +00:00
Michael Niedermayer
a8380f44cf removing unused var & converting 64->32bit
Originally committed as revision 2567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-05 23:12:03 +00:00
Roman Shaposhnik
e15c330246 * 3x encoding speedup. Finally we seem to be on par with libdv
in terms of time and we're doing slightly better w.r.t. to
     quality. I don't think there's much room for improvement
     left, but I'd like to try and vectorize a couple of things.
     Btw, any ideas on what may impact performance will be greatly
     appreciated.

Originally committed as revision 2532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-27 01:40:13 +00:00
Michel Bardiaux
9b87956678 av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
Originally committed as revision 2469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-03 13:26:22 +00:00
Roman Shaposhnik
10acc47995 * introducing dct248 into the DSP context.
* simple/accurate implementation of dct248
   * DV encoding now supports 2-4-8 DCT
   * DV encoding gets a bit faster (but still miles away
     from what I think it could do)
   * misc. DV codec cleanups

Originally committed as revision 2425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-24 18:28:01 +00:00
Michael Niedermayer
9dad924e22 bottom_field_first -> top_field_first
Originally committed as revision 2402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-20 10:33:13 +00:00
Roman Shaposhnik
2744ca9ac9 * providing MPEG codecs with a generic fields in AVFrame to use.
* fixing YUV4MPEG format.

    * fixing a bug in DV codec where coded_frame was not set.

Originally committed as revision 2396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-18 03:19:44 +00:00
Roman Shaposhnik
00c28046e4 * fix for a trivial 100l declaration typo
Originally committed as revision 2393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-16 04:50:54 +00:00
Michael Niedermayer
f539eb52fe align
Originally committed as revision 2389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-15 16:20:50 +00:00
Alex Beregszaszi
ed7debda14 removed the obsolete and unused parameters of init_put_bits
Originally committed as revision 2366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-12 21:25:00 +00:00
Roman Shaposhnik
86a7e11502 * recommiting change from SF CVS
Originally committed as revision 2350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-11 01:41:41 +00:00
Roman Shaposhnik
4fa1c4fa8d * preAlpha DV encoding support -- there's still a truckload
of work to do, but it least people can try it out and share
      ideas. Please don't hesitate to give it a spin:

         $ ffmpeg -i file.avi file.dv

      is all you need.

    * fix for a deallocation bug in DV muxer

Originally committed as revision 2327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-01 23:34:46 +00:00
Roman Shaposhnik
7458ccbb02 * DV handling was streamlined for both muxing/demuxing and
decoding. All muxing/demuxing functionality is now available
     in libavformat/dv.[ch].

   * dv1394.c and avidec.c were hooked up with general DV demuxer.

   * DVAUDIO is dead! Long live pcm_s16le!

   * DV audio is now always recognized -- which means we can
     now hear all those ducks quaking in pond.dv.

Originally committed as revision 2319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-29 17:54:07 +00:00