Ronald S. Bultje
01e59d48ed
vp9: add profile 2/3 to exported profiles.
10 years ago
Ronald S. Bultje
ed68fccf76
vp9: error out if chroma subsampling changes between frames.
...
This can happen after an intra-only frame. For reference, see:
https://groups.google.com/a/webmproject.org/forum/#!msg/webm-discuss/zaoTxREZjq8/v5Enht87AhcJ
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
James Almer
079b7f6eac
vp9: add profile names
...
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Ronald S. Bultje
2a7d7bef62
vp9: fix mask_edges and filter_plane_rows/cols() for 440.
10 years ago
Ronald S. Bultje
cf62f2d2d6
vp9: more specifically specify mask destination to mask_edges().
10 years ago
Ronald S. Bultje
e4f77e6239
vp9: don't create special u/v filter masks for 444.
...
This fixes vp91-2-04-yuv444.webm.
10 years ago
Ronald S. Bultje
afa9d00b43
vp9: merge uv loopfilter code into generic filter_plane_rows/cols().
10 years ago
Ronald S. Bultje
ba59a5ec42
vp9: split out loopfilter luma rows/cols functions from loopfilter_sb().
10 years ago
Ronald S. Bultje
844799b033
vp9: invert order of two conditions.
...
This makes it equal to row-based loopfilter code, and also makes the
chroma/luma code identical.
10 years ago
Ronald S. Bultje
d382cc0fad
vp9: use correct chroma subsampling for profile 1 inter block recon.
10 years ago
Ronald S. Bultje
d2aa6f65db
vp9: use correct chroma subsampling for profile 1 intra block recon.
10 years ago
Ronald S. Bultje
ed3e0cc715
vp9: take chroma subsampling into account when walking the block tree.
10 years ago
Ronald S. Bultje
6019002f0f
vp9: support non-420 chroma subsampling for profile 1 token decoding.
10 years ago
Ronald S. Bultje
2d0bea4719
vp9: increase buffer sizes for non-420 chroma subsamplings.
10 years ago
Ronald S. Bultje
a03b057ede
vp9: profile 1 header decoding.
10 years ago
Ronald S. Bultje
5935513c0e
vp9: fix show-existing-frames for multi-threading.
...
This also fixes intra-only MT failures (it was the same bug), see trac
4526 and 4527.
Tested-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
640d878bc1
vp9: fix intraonly frame decoding.
10 years ago
Ronald S. Bultje
ed45edb2f6
vp9: use aligned size to write segmentation map into cache.
...
The unaligned size is not handled in setctx_2d(), causing edges of images
to have improper segmentation prediction, which causes visual artifacts
at image edges a few frames later.
10 years ago
Ronald S. Bultje
d9555adf06
vp9: set timestamps for show_existing_frame return images.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
c82e870c12
vp9: maintain lf_delta values if feature is turned off.
...
This is required if it's subsequently re-enabled with no value updates
(which means, use values that were previously set).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
e8b4f6d6be
vp9: add support for resolution changes in inter frames.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
1fd1f58bd6
vp9: make above buffer pointer 32-byte aligned.
...
Fixes ticket #4383
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Michael Niedermayer
27191b82de
avcodec/vp9: Fix undefined shifts in decode_frame_header()
...
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
0b69c53a61
vp9: included uses_2pass member in vp9_ref_frame().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
4ba8f3273e
vp9: split segmentation map / mvpair references.
...
This prevents a memcpy if segmentation.update_map == false.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
efff3854f0
vp9: fix segmentation map retention with threading enabled.
...
Fixes ticket 4359.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Steve Lhomme
4851db80a4
fix VP9 packet decoder returning 0 instead of the used data size
...
See https://trac.videolan.org/vlc/ticket/14022#comment:6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
b6e1711223
vp9/x86: invert hu_ipred left array ordering.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Di Wu
162b521108
vp9: enable multi-thread decoding when refreshctx is equal to 0
...
In vp9_decode_frame function, ff_thread_finish_setup is not called
when refreshctx is equal to 0, and the next decoding thread can not
start work until the cunrrent frame has been decoded completely. So
ff_thread_finish_setup needs to be called to enable Multi-thread
decoding in this condition.
Signed-off-by: Di Wu <di1028.wu@samsung.com>
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
10 years ago
Vittorio Giovara
eddf95283f
vp9: initialize color space and range properties
10 years ago
Michael Niedermayer
2a85826e57
avcodec/vp9: Use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
14e3025518
vp9: ignore reference segmentation map if error_resilience flag is set.
...
Fixes ffvp9_fails_where_libvpx.succeeds.webm from ticket 3849.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Timothy Gu
9bc0410e4f
vp9: remove unused assignment
...
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: BBB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
aab23f5ddd
avcodec/vp9: fix () in macros
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Luca Barbato
925c37874b
vp9: Read the frame size as unsigned
...
Sample-Id: 00001723-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
11 years ago
Ronald S. Bultje
6d69f9f376
vp9: write uveob as 16-bit value for 16x16/32x32 transforms.
...
This fixes make fate-vp9-00-quantizer-01 THREADS=2.
11 years ago
James Almer
c7b089048d
vp9: use LOCAL_ALIGNED_32 for left/top intra_pred pointers
...
This is needed for future AVX2 implementations
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Ronald S. Bultje
21a0451167
vp9: split decode_coeff_b loop inside txsz branch.
...
The advantage of this is that the is32x32 division branch in
decode_coeffs_b is removed from the inner loop to outside the block
coef decoding loop in decode_coeffs. Also, it allows us to merge the
txsz branches from the block coef decoding loop, the context merge
and the context split.
11 years ago
Clément Bœsch
c333987876
vp9: fix compilation with !HAVE_FAST_64BIT.
...
Spotted-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
11 years ago
Ronald S. Bultje
0d4d223353
vp9: invert order in l[] intra prediction array.
...
The directional intra predictors either don't care about order (dc, h,
dc_left, tm), or they prefer inverted order (vr, dr, hd). This allows
more efficient SIMD implementations.
11 years ago
Ronald S. Bultje
37c6eac296
vp9: remove memset in loopfilter level setting loop.
...
Use same function for segmentation map writing also.
11 years ago
Ronald S. Bultje
45245e202e
vp9: coef decoding context-splat speedup.
11 years ago
Ronald S. Bultje
fccd7d81b6
vp9: decode_mode context optimizations.
11 years ago
Ronald S. Bultje
1dc8559e25
vp9: more aligned zeroes.
11 years ago
Ronald S. Bultje
0c30c8ddc1
vp9: faster skip-block coefficient blanking.
11 years ago
Ronald S. Bultje
cdfcd06126
vp9: coef context reading optimization.
11 years ago
Ronald S. Bultje
9aeca1c572
vp9: just disallow temporal or no-update segmentation on size-change.
...
The spec doesn't describe how it should be decoded so this is probably
the safest thing to do. Fixes valgrind errors on fuzzed11.ivf and fixes
valgrind errors on fuzzed10.ivf differently.
11 years ago
Ronald S. Bultje
0c67864a37
vp9: don't allow retaining old segmentation maps after a size change.
...
Fixes valgrind warnings on fuzzed10.ivf.
11 years ago
Ronald S. Bultje
7f0f47b3df
vp9: some variable re-arrangements for alignment.
11 years ago
Ronald S. Bultje
af63ea7078
vp9: re-allocate block buffers on uses_2pass change w/o size change.
...
Fixes valgrind errors and crashes in fuzzed9.ivf.
11 years ago