Commit Graph

117 Commits

Author SHA1 Message Date
Roman Shaposhnik f8007a1473 Intial implementation of the DV100 (AKA DVCPRO HD) decoder and demuxer as
specified in SMPTE 370M

Originally committed as revision 15010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-28 22:41:00 +00:00
Roman Shaposhnik f4acfa3887 Cosmetic change aimed at making it easier to see how bits are consumed
Originally committed as revision 14998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 20:25:47 +00:00
Roman Shaposhnik b1e3628e8c Factoring out chan_slice / 27 into seq variable
Originally committed as revision 14997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 20:21:17 +00:00
Roman Shaposhnik 7ae6dcb595 Simplification of how dct_mode affects decoding.
Originally committed as revision 14996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 20:17:01 +00:00
Roman Shaposhnik c89cb5894e Making block size in bits variable and dependent on the DV spec
Originally committed as revision 14842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-19 16:02:43 +00:00
Roman Shaposhnik 713c1aa9a6 Making the number of blocks per macroblock dependent on the DV stream
specification

Originally committed as revision 14841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-19 16:01:41 +00:00
Roman Shaposhnik cb879ec2fb Introducing DV_MAX_BPM macro instead of a hardcoded value for the
highest number of blocks per macroblock

Originally committed as revision 14840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-19 16:00:26 +00:00
Roman Shaposhnik 3f66d16821 Fixing the units in DV50 tables (both coordinates are
supposed to be in units of 8 pixels) and simplifying
the calculations of y_ptr and c_offset.

Originally committed as revision 14693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-11 10:14:46 +00:00
Roman Shaposhnik d557838cfb Coalescing the un-weighting and de-quantization steps for faster
processing

Originally committed as revision 14691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-11 09:35:58 +00:00
Diego Biurrun 4ad62d9a5c Move #ifdef CONFIG_DVVIDEO_ENCODER up to cover all functions used for encoding.
Originally committed as revision 14166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 07:48:37 +00:00
Diego Biurrun fd9f315339 Make preprocessor condition more specific and useful by changing
#ifdef CONFIG_ENCODERS --> #ifdef CONFIG_DVVIDEO_ENCODER.

Originally committed as revision 14165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 07:45:49 +00:00
Stefano Sabatini fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Baptiste Coudurier 39883fffa7 remove useless wrapper func
Originally committed as revision 13738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-10 19:21:40 +00:00
Baptiste Coudurier 390b25aeda set avctx time_base in dv decoder
Originally committed as revision 13515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-28 23:56:25 +00:00
Carl Eugen Hoyos eacced45c4 Replace some occurrences of -1 with PIX_FMT_NONE.
Fixes icc warning #188: enumerated type mixed with another type

Originally committed as revision 13130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 22:28:43 +00:00
Stefano Sabatini 6140271f54 Add some long names to AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-29 07:24:44 +00:00
Alexander Strange 8e5f465f4c Increase alignment for DCT block arrays from 8 to 16
Patch by Alexander Strange ( astrange ithinksw com )

Originally committed as revision 12767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-08 01:09:33 +00:00
Zuxy Meng 98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Aurelien Jacobs fbd4293df9 remove more useless mpegvideo.h includes
Originally committed as revision 12323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-05 00:43:11 +00:00
Michael Niedermayer 095f08d599 some const
Originally committed as revision 11758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 15:08:55 +00:00
Michael Niedermayer 7993df6527 consts
I have underestimated this a little, and these are just some ...

Originally committed as revision 11708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 03:26:31 +00:00
Aurelien Jacobs 59e6f60a99 add ff_ prefix to all simple_idct symbols
Originally committed as revision 11192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 21:21:11 +00:00
John Dalgliesh 5885dda4c5 force 16-bytes alignement of block array, as needed by the implementation of ff_dct_sse2
patch by John Dalgliesh %johnd A defyne P org%

Originally committed as revision 8420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-15 23:45:20 +00:00
Michael Niedermayer 6bd10f2de5 kill av_mallocz_static()
Originally committed as revision 8400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-14 12:15:34 +00:00
Michael Niedermayer 2df6e97872 kill a av_mallocz_static()
Originally committed as revision 8395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-13 23:30:28 +00:00
François Revol 8fa36ae09d This fixes error handling for BeOS, removing the need for some ifdefs.
AVERROR_ defines are moved to avcodec.h as they are needed in there as well. Feel free to move that to avutil/common.h.
Bumped up avcodec/format version numbers as though it's binary compatible we will want to rebuild apps as error values changed.
Please from now on use return AVERROR(EFOO) instead of the ugly return -EFOO in your code.
This also removes the need for berrno.h.

Originally committed as revision 7965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-13 18:26:14 +00:00
Roman Shaposhnik e950141a58 * Fixing a bug with incorrect bits set in AAUX source pack
* Making DV codec release a buffer on exit
   * Flagging accepted pix_fmts for DV encoder

Originally committed as revision 7531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-15 07:41:28 +00:00
Måns Rullgård 849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Diego Biurrun c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Diego Biurrun b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Alexander Strange eacad59e03 Fix compilation with --disable-encoders.
patch by Alexander Strange, astrange at ithinksw dot com

Originally committed as revision 6410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-01 18:19:49 +00:00
Måns Rullgård 62bb489b13 add some #ifdef CONFIG_ENCODERS/DECODERS
Originally committed as revision 6356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:54:07 +00:00
Roman Shaposhnik 3c8f30a745 * Restructuring the division of labor between DV codec and DV format
[ Based on a patch by Brian Brice (bbrice at newtek dot com) ]

Originally committed as revision 6161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-04 03:33:11 +00:00
Aurelien Jacobs 75c998a219 force usage of ALT_BITSTREAM_READER where needed
Originally committed as revision 6118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-28 18:46:01 +00:00
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