Vittorio Giovara
4bb1070c15
ffv1: Explicitly name the coder type
...
FFv1 uses two types of coders, golomb and range with two different
tables. This is exposed this in a rather convoluted way, for example
mentioning to set coder type 1 while initializing the variable 'ac' to 2,
because encoder does not use range coder with default table.
Appropriate internal coder type values have been added and used in any
check rather than using raw numbers.
Initialization of avctx.coder_type in ffv1dec is removed because this
field is encoder only. An unneeded validation check in the encoder
is dropped too.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Diego Biurrun
338ed3ed33
ffv1: Pass correct pointers to av_free()
...
Bug-Id: CID 1295124
10 years ago
Vittorio Giovara
73dacabfc9
ffv1: Check memory allocations
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years ago
Diego Biurrun
cd832f032f
ffv1: Drop bogus dependency on dsputil
...
ffv1 does not use any part of the dsputil framework.
11 years ago
Anton Khirnov
a6064b12b4
ffv1: use the AVFrame API properly.
11 years ago
Martin Storsjö
b1db33159f
ffv1: Make sure at least one slice context is initialized
...
This avoids crashes when initializing the range coder for
the first slice context.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Diego Biurrun
6fee1b90ce
avcodec: Add av_cold attributes to init functions missing them
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Luca Barbato
0f13cd3187
ffv1: update to ffv1 version 3
...
Based on code from Carl Eugen Hoyos, Michael Niedermayer and Paul B Mahol.
12 years ago
Luca Barbato
71f7b22dba
ffv1: split decoder and encoder
12 years ago
Luca Barbato
9a978b334b
ffv1: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
Diego Biurrun
1218777ffd
avcodec: Convert some commented-out printf/av_log instances to av_dlog
12 years ago
Diego Biurrun
9c6cf7f2c9
avcodec: Drop silly and/or broken printf debug output
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
12 years ago
Alex Converse
2b8374e920
ffv1: Fix size mismatch in encode_line.
13 years ago
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Diego Biurrun
3dde147ff9
cosmetics: Consistently place static, inline and av_cold attributes/keywords.
13 years ago
Anton Khirnov
278d88689b
ffv1enc: switch to encode2().
13 years ago
Martin Storsjö
9cf0841ef3
dsputil: Add ff_ prefix to the dsputil*_init* functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Laurent Aimar
46b004959b
ffv1: Fixed size given to init_get_bits() in decoder.
...
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
13 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
13 years ago
Mans Rullgard
6728aaf6d8
ffv1: remove unused tables
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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>
14 years ago
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.
14 years ago
Stefano Sabatini
975a1447f7
Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Ronald S. Bultje
94f7451a3a
Introduce slice threads flag.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
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>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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>
14 years ago
Michael Niedermayer
b276854d06
Fix indention of one forgotten line in ffv1.c
...
Originally committed as revision 25935 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
Michael Niedermayer
a0e7079a20
Fix 10l leak in ffv1.
...
Originally committed as revision 25595 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
Michael Niedermayer
3f0671a2d3
factorize variable declaration in ffv1.
...
Originally committed as revision 25592 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Michael Niedermayer
b7b5bccb8d
FFV1 initial state 2pass code.
...
Originally committed as revision 25584 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Michael Niedermayer
28a3f525c9
Read & write initial_states for ffv1
...
Originally committed as revision 25583 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Michael Niedermayer
99a5e93526
Add initial_states array to ffv1.
...
Originally committed as revision 25582 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
Michael Niedermayer
19721b23e3
Optimize state initialization in ffv1 clear_state().
...
Originally committed as revision 25580 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Michael Niedermayer
c42c1007c7
Only allocate stats_out when needed in ffv1
...
Originally committed as revision 25579 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Michael Niedermayer
2a317c6be4
Factorize litteral constents in ffv1 into STATS_OUT_SIZE.
...
Originally committed as revision 25578 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
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
14 years ago
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
14 years ago
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
14 years ago
Michael Niedermayer
98d2f7a47f
Optimize state transition table sorting in ffv1
...
Originally committed as revision 25561 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago