Michael Niedermayer
a53c4f3689
avcodec/ffv1: Simplify update_vlc_state()
...
About 0.5% faster
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years ago
Michael Niedermayer
5d0139d5f0
avcodec/ffv1: Simplify fold()
...
No speed difference, or slightly faster (the difference is too small so it may be noise
that this appears faster)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
6 years ago
Michael Niedermayer
449cdfa687
avcodec/ffv1: Increase the maximum number of slices to 1024
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Alexandra Hájková
ab2539bd37
ffv1: Convert to the new bitstream reader
8 years ago
Michael Niedermayer
ce2217b25e
avcodec/ffv1: add AV_PIX_FMT_GBRP16 support
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Michael Niedermayer
74314f1f5f
avcodec/ffv1: template functions to allow data types different from int16_t
...
This is required for >= 16bit RGB support
I tried it without templates but its too much duplicated code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Vittorio Giovara
96c373c770
lavc: Move context_model to codec private options
...
This option is only used by ffv1 and ffvhuff.
It is a very codec-specific option, so deprecate the global variant.
Improve documentation a little.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Michael Niedermayer
1c878474fb
avcodec/ffv1enc: unbreak -coder option
...
This fixes a segfault caused by moving the coder option and changing its semantics
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
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
Michael Niedermayer
aa6c43f3fd
avcodec/ffv1: seperate slice_count from max_slice_count
...
Fix segfault with too large slice_count
Fixes Ticket4879
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Timothy Gu
f0af25ae11
ffv1: Add missing ff_ prefixes
9 years ago
Vittorio Giovara
10a9149de2
ffv1enc: Keep coded_frame.key_frame a write-only variable
9 years ago
Vittorio Giovara
6503cbf842
ffv1enc: Add const attribute to input frame
...
warning: assigning to 'AVFrame *' (aka 'struct AVFrame *') from
'const AVFrame *' (aka 'const struct AVFrame *') discards
qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
10 years ago
James Almer
ba625dd8a1
avcodec: use av_mod_uintp2() where useful
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
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
Carl Eugen Hoyos
5968415156
Define ff_log2_run[] in libavcodec/internal.h.
...
This avoids defining the array with different sizes in
different source files.
11 years ago
Michael Niedermayer
0e575c24d6
ffv1.4: use 2 coefficients for calculating the Y plane in the RCT
...
0-0.7% improved compression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
7854d2d251
avcodec/ffv1: support adjusting the g vs r + b coefficient in the RCT
...
about 1% better compression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Anton Khirnov
a6064b12b4
ffv1: use the AVFrame API properly.
11 years ago
Michael Niedermayer
8393b80b7d
avcodec/ffv1dec: Support decoding planes as raw PCM in 1.4
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
d9b0b54a5f
ffv1: rename minor to micro version
...
the version is 1.3.4 which makes 4 micro and not minor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
a0c0900e47
ffv1dec: Support frame threading with gop > 1
...
This is about 20-30% faster than slice threading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
69cfe63a43
ffv1: Switch to ThreadFrame
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
1a392fc550
ffv1: Store a flag in the global header that indicates if all frames are keyframes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Michael Niedermayer
e4255eaf47
ffv1: split decoder and encoder
...
This is not based on lucas work due to code divergence (its less work this way
than trying to merge from a split based on 2 years outdated code)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
6cfca5b6ae
ffv1: Add missing #includes to header file
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