Ronald S. Bultje
b224b165cb
vp9: add keyframe profile 2/3 support.
2015-05-06 15:10:41 -04:00
Ronald S. Bultje
346ce5da19
vp9: parse profile 2/3 bitdepth in frame header.
2015-05-06 15:10:40 -04:00
Ronald S. Bultje
01e59d48ed
vp9: add profile 2/3 to exported profiles.
2015-05-06 15:10:40 -04:00
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>
2015-05-05 20:09:44 +02:00
James Almer
079b7f6eac
vp9: add profile names
...
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-04 18:39:51 -03:00
Ronald S. Bultje
2a7d7bef62
vp9: fix mask_edges and filter_plane_rows/cols() for 440.
2015-05-01 08:45:54 +02:00
Ronald S. Bultje
cf62f2d2d6
vp9: more specifically specify mask destination to mask_edges().
2015-05-01 08:45:54 +02:00
Ronald S. Bultje
e4f77e6239
vp9: don't create special u/v filter masks for 444.
...
This fixes vp91-2-04-yuv444.webm.
2015-05-01 08:45:54 +02:00
Ronald S. Bultje
afa9d00b43
vp9: merge uv loopfilter code into generic filter_plane_rows/cols().
2015-05-01 08:45:53 +02:00
Ronald S. Bultje
ba59a5ec42
vp9: split out loopfilter luma rows/cols functions from loopfilter_sb().
2015-05-01 08:45:53 +02:00
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.
2015-05-01 08:45:53 +02:00
Ronald S. Bultje
d382cc0fad
vp9: use correct chroma subsampling for profile 1 inter block recon.
2015-05-01 08:45:52 +02:00
Ronald S. Bultje
d2aa6f65db
vp9: use correct chroma subsampling for profile 1 intra block recon.
2015-05-01 08:45:52 +02:00
Ronald S. Bultje
ed3e0cc715
vp9: take chroma subsampling into account when walking the block tree.
2015-05-01 08:45:52 +02:00
Ronald S. Bultje
6019002f0f
vp9: support non-420 chroma subsampling for profile 1 token decoding.
2015-05-01 08:45:52 +02:00
Ronald S. Bultje
2d0bea4719
vp9: increase buffer sizes for non-420 chroma subsamplings.
2015-05-01 08:45:51 +02:00
Ronald S. Bultje
a03b057ede
vp9: profile 1 header decoding.
2015-05-01 08:45:51 +02:00
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>
2015-04-30 23:32:09 +02:00
Ronald S. Bultje
640d878bc1
vp9: fix intraonly frame decoding.
2015-04-24 16:54:31 +02:00
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.
2015-04-24 16:54:31 +02:00
Ronald S. Bultje
d9555adf06
vp9: set timestamps for show_existing_frame return images.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 20:34:51 +02:00
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>
2015-04-23 15:55:15 +02:00
Ronald S. Bultje
e8b4f6d6be
vp9: add support for resolution changes in inter frames.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 05:09:51 +02:00
Ronald S. Bultje
1fd1f58bd6
vp9: make above buffer pointer 32-byte aligned.
...
Fixes ticket #4383
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-21 17:13:46 -03:00
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>
2015-03-12 15:31:41 +01:00
Ronald S. Bultje
0b69c53a61
vp9: included uses_2pass member in vp9_ref_frame().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 14:50:11 +01:00
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>
2015-03-08 13:58:14 +01:00
Ronald S. Bultje
efff3854f0
vp9: fix segmentation map retention with threading enabled.
...
Fixes ticket 4359.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 03:30:37 +01:00
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>
2015-03-03 13:48:51 +01:00
Ronald S. Bultje
b6e1711223
vp9/x86: invert hu_ipred left array ordering.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:07:18 +01:00
Michael Niedermayer
a82f3de053
Merge commit '312daa15891dc7abb77a404fe927d5ee35c52a71'
...
* commit '312daa15891dc7abb77a404fe927d5ee35c52a71':
vp9: Use the correct upper bound for seg_id
Conflicts:
libavcodec/vp9.h
libavcodec/vp9block.c
Not merged, the value was correct before as far as i can see
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 23:37:04 +01:00
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>
2014-10-10 09:13:44 -03:00
Michael Niedermayer
5b134a0544
Merge commit 'eddf95283fbba1b469b76e7518bc3941f671b193'
...
* commit 'eddf95283fbba1b469b76e7518bc3941f671b193':
vp9: initialize color space and range properties
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:49:16 +02:00
Vittorio Giovara
eddf95283f
vp9: initialize color space and range properties
2014-10-08 18:17:50 +01:00
Michael Niedermayer
2a85826e57
avcodec/vp9: Use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 22:55:11 +02:00
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>
2014-08-13 20:46:00 +02:00
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>
2014-07-16 14:38:42 +02:00
Michael Niedermayer
aab23f5ddd
avcodec/vp9: fix () in macros
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 03:13:37 +02:00
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
2014-05-03 18:25:17 +02:00
Michael Niedermayer
2f2629c870
Merge commit '6d69f9f37689c999815a65a2d99999fad3a41705'
...
* commit '6d69f9f37689c999815a65a2d99999fad3a41705':
vp9: write uveob as 16-bit value for 16x16/32x32 transforms.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 13:55:44 +02:00
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.
2014-04-25 07:51:39 -04:00
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>
2014-04-25 06:13:15 +02:00
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.
2014-02-17 13:39:00 +01:00
Clément Bœsch
c333987876
vp9: fix compilation with !HAVE_FAST_64BIT.
...
Spotted-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2014-02-09 18:44:20 +01:00
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.
2014-02-09 18:07:15 +01:00
Ronald S. Bultje
37c6eac296
vp9: remove memset in loopfilter level setting loop.
...
Use same function for segmentation map writing also.
2014-02-09 18:07:14 +01:00
Ronald S. Bultje
45245e202e
vp9: coef decoding context-splat speedup.
2014-02-09 18:07:14 +01:00
Ronald S. Bultje
fccd7d81b6
vp9: decode_mode context optimizations.
2014-02-09 18:07:14 +01:00
Ronald S. Bultje
1dc8559e25
vp9: more aligned zeroes.
2014-02-09 18:07:14 +01:00
Ronald S. Bultje
0c30c8ddc1
vp9: faster skip-block coefficient blanking.
2014-02-09 18:07:14 +01:00