Commit Graph

120 Commits

Author SHA1 Message Date
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
6728aaf6d8 ffv1: remove unused tables
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 03:16:00 +01:00
Michael Niedermayer
294e5475c2 ffv1: fix undefined behavior with insane widths.
The new tables is large enough to prevent this together with our image size checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-13 20:42:14 +02:00
Diego Biurrun
0a6b1a9f21 Replace int_fast integer types with their sized standard posix counterparts.
The _fast integer types provide no realworld benefits, but may introduce
portability issues and are just plain ugly.
2011-05-12 12:05:54 +02:00
Stefano Sabatini
975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
Ronald S. Bultje
94f7451a3a Introduce slice threads flag.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-21 19:42:19 -04:00
Mans Rullgard
027f60f32b ffv1: allocate correct size for sample buffer
This fixes a typo in the size calculation for the sample buffer
introduced in cbabccc367.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 22:17:20 +00:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Michael Niedermayer
b276854d06 Fix indention of one forgotten line in ffv1.c
Originally committed as revision 25935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 02:54:21 +00:00
Stefano Sabatini
58b4e5407d Fix FFv1 decoder buffer releasing.
Previously it was releasing the buffer which was returned to the user,
which was resulting in a crash in case of direct rendering.

Originally committed as revision 25678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 22:45:46 +00:00
Michael Niedermayer
a0e7079a20 Fix 10l leak in ffv1.
Originally committed as revision 25595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:50 +00:00
Michael Niedermayer
73cbf86830 Try to find a bit better initial states in ffv1 2pass.
Difference in filesizes to foreman ffv1 version=2, context=1 coder=1
18637016 adv-pass2-g300.avi
18638806 adv-pass1-g300.avi
18640534 ref-pass2-g300.avi
18918214 adv-pass2-g1.avi
18982048 ref-pass2-g1.avi
21516230 adv-pass1-g1.avi

Originally committed as revision 25594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:47 +00:00
Michael Niedermayer
0ae0faa7c0 Keep track of how many slices*gops where encoded in ffv1 2 pass.
Originally committed as revision 25593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:44 +00:00
Michael Niedermayer
3f0671a2d3 factorize variable declaration in ffv1.
Originally committed as revision 25592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 12:15:40 +00:00
Michael Niedermayer
b7b5bccb8d FFV1 initial state 2pass code.
Originally committed as revision 25584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:17 +00:00
Michael Niedermayer
28a3f525c9 Read & write initial_states for ffv1
Originally committed as revision 25583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:14 +00:00
Michael Niedermayer
99a5e93526 Add initial_states array to ffv1.
Originally committed as revision 25582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:11 +00:00
Michael Niedermayer
672e7e391a Add rc_stat2 to ffv1 this will be needed for finding good initial contexts in 2 pass mode.
Originally committed as revision 25581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:07 +00:00
Michael Niedermayer
19721b23e3 Optimize state initialization in ffv1 clear_state().
Originally committed as revision 25580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:04 +00:00
Michael Niedermayer
c42c1007c7 Only allocate stats_out when needed in ffv1
Originally committed as revision 25579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:01:00 +00:00
Michael Niedermayer
2a317c6be4 Factorize litteral constents in ffv1 into STATS_OUT_SIZE.
Originally committed as revision 25578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:00:57 +00:00
Michael Niedermayer
349d72870f Make 1pass statistic collection in ffv1 put_symbol_inline() conditional to avoid slowdown when more statistic collection code is added.
Originally committed as revision 25577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 23:00:49 +00:00
Michael Niedermayer
fc3128c9d5 Increase ffv1 encoding speed from 65 to 80 fps by forcing some inlining.
Originally committed as revision 25571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 01:59:14 +00:00
Michael Niedermayer
e1f51b8821 Add quant_table_index to ffv1 PlaneContext and use it instead of duplicating the currents implementation of calculating it.
Originally committed as revision 25570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 01:59:03 +00:00
Michael Niedermayer
ce3716bf05 Move ffv1 state transition table sorting to its own function.
Originally committed as revision 25563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 16:55:42 +00:00
Michael Niedermayer
19591033f7 Fix the case with swaping states 127 and 129 in ffv1
Originally committed as revision 25562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:35:42 +00:00
Michael Niedermayer
98d2f7a47f Optimize state transition table sorting in ffv1
Originally committed as revision 25561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:12 +00:00
Michael Niedermayer
bc29ae4a77 2 pass mode for ffv1 to optimally order the range coder states.
Originally committed as revision 25560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:09 +00:00
Michael Niedermayer
6019cd9ff2 Factorize state_transition init out.
Originally committed as revision 25559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-24 12:31:00 +00:00
Michael Niedermayer
c868524b9a Replace 5 by named constant MAX_CONTEXT_INPUTS in ffv1.c
Originally committed as revision 25529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-19 17:26:27 +00:00
Michael Niedermayer
d721141f54 Move shared functions out of CONFIG_FFV1_ENCODER ifdef
Originally committed as revision 25511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 21:31:16 +00:00
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