Commit Graph

138 Commits

Author SHA1 Message Date
Michael Niedermayer
d56839fc6d Store slice position and size per keyframe in ffv1.2
Originally committed as revision 25478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 02:05:06 +00:00
Michael Niedermayer
1da7257739 Fix indention of ffv1.c after previous commits.
Originally committed as revision 25477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:10:50 +00:00
Michael Niedermayer
e42393d168 Store quant table index per plane and slice.
Originally committed as revision 25476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:41 +00:00
Michael Niedermayer
f08ed90d94 Assert that the context doesnt overflow in ffv1.
Originally committed as revision 25475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:38 +00:00
Michael Niedermayer
e2b2f8454c Rectangular slice support for ffv1.2
Originally committed as revision 25474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-14 22:03:32 +00:00
Michael Niedermayer
c5ac275b2e Allow storing multiple quant tables in extradata that can then be selected per keyframe in ffv1.
Originally committed as revision 25439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:45 +00:00
Michael Niedermayer
0f27aca7b3 Store global things in extradata for ffv1 ver=2.
ver=2 is not set yet so this does not affect output.

Originally committed as revision 25438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:41 +00:00
Michael Niedermayer
228adaab8d Make sure version is not decreased for 16bit per sample colorspaces in ffv1.
Originally committed as revision 25437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:38 +00:00
Michael Niedermayer
4f22b3bbbf Factorize quant table read and write code in ffv1.c
Originally committed as revision 25436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 21:04:34 +00:00
Måns Rullgård
cbabccc367 ffv1: remove VLAs
Originally committed as revision 23802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 15:53:25 +00:00
Thad Ward
741b5fd44a Set an opaque alpha value when decoding rgba ffv1.
Patch by Thad Ward coderjoe69¤yahoo°com

Originally committed as revision 23757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-24 15:22:33 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Michael Niedermayer
00bbc09309 Store range coder state transition table.
Use a better table, 2% compression gain for foreman

Originally committed as revision 22763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 18:51:08 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Michael Niedermayer
ef768b0c32 Disallow VLC coding with more than 8 bits as there are several bugs
in that code that could lead to broken files.
AC coding is unaffected.

Originally committed as revision 22638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 21:12:31 +00:00
Michael Niedermayer
5d7bc46c2d Throw out last experimental warning that was printed for colorspaces with more than
8 bits per component. This does no good except scaring users away.

Originally committed as revision 22633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 15:04:11 +00:00
Michael Niedermayer
0e22d68834 Remove the word "experimental"
Originally committed as revision 22629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 14:26:17 +00:00
Reimar Döffinger
2ba8301769 Mark all pix_fmts and supported_framerates compound literals as const.
Makes no difference for gcc but at least icc can put them in .rodata then.

Originally committed as revision 19789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 16:09:21 +00:00
Lars Täuber
7c6208d4c0 Use "FFmpeg video codec #1" instead of "FFmpeg codec #1" as codec long name.
patch by  Lars Täuber, lars.taeuber gmx net

Originally committed as revision 19749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 21:19:37 +00:00
Lars Täuber
2fee538a16 Fix comments after switching from CABAC to range coder in r3658.
Patch by Lars Täuber, lars D taeuber A gmx D net

Originally committed as revision 19720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 21:25:43 +00:00
Carl Eugen Hoyos
84c1b149b2 Fix typo.
Originally committed as revision 19639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 16:41:21 +00:00
Michael Niedermayer
f83c57735e indent
Originally committed as revision 18679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 13:38:28 +00:00
Michael Niedermayer
68f8d33bec Support >8bit per component YUV in FFV1.
decoding becomes slower, encoding becomes faster, with gcc on duron.
some inlining overrides like av_flatten are added to keep inlining similar
to before.

Originally committed as revision 18674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 04:10:32 +00:00
Michael Niedermayer
217d34e307 Force speed irrelevant calls to get/put_symbol() to be noinline.
We need to change decode_line to always_inline because gcc decided not to inline
it anymore once we force some calls to get/put_symbol() to be non inlined and
this decision of gcc would lead to a 10% overall speed loss.
100k smaller object file, no speed change

Originally committed as revision 18673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 01:50:09 +00:00
Michael Niedermayer
3788e661f1 Optimize sign handling in get_symbol().
Originally committed as revision 18672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 00:26:49 +00:00
Michael Niedermayer
223d996aaf Fix a possibly exploitable buffer overflow.
Originally committed as revision 18640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 12:00:39 +00:00
Michael Niedermayer
6081c30b81 Remove 2 unneeded variables from common_init() found by CSA.
Originally committed as revision 18560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:59:04 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Aurelien Jacobs
199436b952 moves mid_pred() into mathops.h (with arch specific code split by directory)
Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 22:57:40 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Diego Biurrun
f544a5fc84 Replace generic CONFIG_ENCODERS preprocessor conditionals by more specific
CONFIG_FOO_ENCODER conditionals where appropriate.

Originally committed as revision 15174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 12:33:21 +00:00
Stefan Gehrer
b3bf98aa56 move ff_log2_run to bitstream.c and reuse in ffv1.c
Originally committed as revision 13989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-26 16:39:21 +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
Carl Eugen Hoyos
d1845b4c84 Fix compilation for buggy icc.
Originally committed as revision 13273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-24 07:19:12 +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
038f846e41 Add long names to some AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-28 10:21:58 +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
Michael Niedermayer
fb2cf1bcf0 const
Originally committed as revision 11724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 04:14:04 +00:00
Oliver Pfister
3caffb7d80 fix mem leak
patch by Oliver Pfister: [oliver pfister gmx ch]

Originally committed as revision 9491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 20:47:58 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Diego Biurrun
2029f312e8 Remove redundant #inclusion of common.h, avcodec.h already #includes it.
Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 09:00:44 +00:00
Diego Biurrun
71e445fca3 Replace deprecated PIX_FMT names by the newer variants.
Originally committed as revision 7867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-07 01:48:09 +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
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
Michael Niedermayer
c3e462a8ca set supported pixel formats for a few encoders (fixes crashes with grayscale)
Originally committed as revision 6303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-20 21:17:37 +00:00
Loren Merritt
0c2aaa882d memory leak.
Originally committed as revision 5331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-28 23:16:42 +00:00
Michael Niedermayer
b548f2b91b ffv1 and ffvhuff havnt changed since a long time and noone proposed any
changes within 1 month after my warning so they are officially no longer
experimental and we will gurantee decodeability of files encoded with
the currenzt ffv1/ffvhuff in the future

Originally committed as revision 5288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-14 10:37:40 +00:00
Michael Niedermayer
ee7388c934 fix segfault on broken streams
Originally committed as revision 4966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-09 09:38:03 +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
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
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
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
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
Milan Cutka
d6c80d3633 Fixed decoding of 410p ffv1 files patch by (Milan Cutka <cutka szm sk>)
Originally committed as revision 3964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-17 19:03:12 +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
Michael Niedermayer
caa336b4cc common.c -> bitstream.c (and the single non bitstream func -> utils.c)
common.h -> common.h/bitstream.h

Originally committed as revision 3777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-29 17:50:25 +00:00
Michael Niedermayer
d34a07466f switch ffv1 to the put/get_symbol() from snow
Originally committed as revision 3659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-31 12:22:00 +00:00
Michael Niedermayer
880eae9c50 switch ffv1 from CABAC to the range coder
Originally committed as revision 3658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-10-31 10:08:50 +00:00
Michael Niedermayer
a6c01275ad get/set_sr_golomb() cleanup
Originally committed as revision 3451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-10 19:40:55 +00:00
Alex Beregszaszi
d58a6d8537 put the warning to the right place to avoid crashes
Originally committed as revision 3448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-10 15:38:14 +00:00
Alex Beregszaszi
4579adb00c new signed golomb routines
Originally committed as revision 3444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-08 17:59:22 +00:00
Michael Niedermayer
fa2522d700 10l (segfault)
Originally committed as revision 3375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-03 01:07:19 +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
c172913a24 cleanup
Originally committed as revision 3103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-02 19:18:20 +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
Laurent Aimar
e5017ab870 h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
Originally committed as revision 2932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-26 19:35:53 +00:00
Alex Beregszaszi
fe455f3328 get_bit_count -> put_bits_count
Originally committed as revision 2752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-06 15:27:31 +00:00
Michael Niedermayer
598401ceea fix context=1
remove always_inline, gcc fails to inline other more important inline functions otherwise ...

Originally committed as revision 2483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-06 22:05:22 +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
Michael Niedermayer
2cbb7820c9 ffv1 rgb support
Originally committed as revision 2463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-01 17:38:25 +00:00
Dan Christiansen
dc7cb06ae0 gcc->C99 and warning fixes patch by (Dan Christiansen <danchr at daimi dot au dot dk>)
Originally committed as revision 2399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-19 21:05:41 +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
Fabrice Bellard
1df1df0b44 removed warnings
Originally committed as revision 2246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-09 22:50:44 +00:00
Michael Niedermayer
d9e6a6c629 golomb rice code cleanup / simplify (~0.5% compression gain and slightly faster)
jpegls style golomb rice coder

Originally committed as revision 2040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-13 11:06:45 +00:00
Michael Niedermayer
25bd2349ed simpler
Originally committed as revision 2039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-12 22:15:11 +00:00
Michael Niedermayer
27fc5352d0 merge U and V statistics, 33% reduction in memory requirement, compression rate better for some files worse for others, worst compression rate loss 0.05%
Originally committed as revision 2015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-05 14:18:07 +00:00
Michael Niedermayer
d9ced4ca4b cleanup / cosmetics
Originally committed as revision 2001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-02 16:50:20 +00:00
Michael Niedermayer
085565f71f 20% less memory needed for 8bit AC state (worst compression rate loss was 0.2%, all other files had <=0.1% loss)
Originally committed as revision 2000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-02 10:45:04 +00:00
Michael Niedermayer
2a250222e6 CONFIG_ENCODERS cleanup
Originally committed as revision 1984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-22 11:08:22 +00:00
Michael Niedermayer
11e659c203 golomb rice codes
use gradients instead of prediction errors as context model
store independant quantization tables for each point
merge contexts with opposit sign

Originally committed as revision 1957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-13 21:31:28 +00:00
Michael Niedermayer
c2f1b2cb71 reducing memory consumption (reducing number of contexts and other stuff, no noticeable loss in compression rate)
Originally committed as revision 1942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-09 23:55:16 +00:00
Michael Niedermayer
5e20f836b3 FFV1 codec (our very simple lossless intra only codec, compresses much better then huffyuv)
Originally committed as revision 1939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-09 02:24:51 +00:00