Ronald S. Bultje
32b6d31ef3
vp9: don't allow compound references if error_resilience is enabled.
...
libvpx (probably accidentally) clears the bits if error_res is set,
along with keyframe/intraonly. This probably wasn't the intention
(since it's local data), but it's behaviour we have to copy...
10 years ago
Ronald S. Bultje
5de142d316
vp9: clamp segmented lflvl before applying ref/mode deltas.
10 years ago
Ronald S. Bultje
c81677e9b7
vp9: reset loopfilter mode/ref deltas on keyframe.
10 years ago
Ronald S. Bultje
88126916c8
vp9: fix crash when playing back 440/440 content with width%64<56.
10 years ago
Ronald S. Bultje
3e634e3e98
vp9: extend loopfilter workaround for vp9 h/v mix-up to work for 422.
10 years ago
Michael Niedermayer
5e1d530f91
avcodec/vp9: Use separate memset for counts.eob
...
Makes no real difference, but maybe scares coverity less (CID1297578)
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ronald S. Bultje
29045fbfd4
vp9: clip motion vectors in the same way as libvpx does.
...
The practical effect of this is that the scaling will wrongly not be
applied to the interpolation edge (the 3/4 constants in this patch).
In other words, we clip to the pre-scaling interpolation, even though
these should be clipped post-scaling. The resulting out-of-frame MVs
are thus automatically clipped within the visible portion of the frame,
which is probably not the intention, but is unfortunately what libvpx
does, so we need to copy that behaviour.
10 years ago
Ronald S. Bultje
96a58a8daa
vp9: set skip flag if the block had no coded coefficients.
...
This reproduces libvpx behaviour. It seems like it originally only
targeted loopfilter behaviour, but this unfortunately effects following
block contexting and thus directs bitstream sync.
10 years ago
Ronald S. Bultje
1e4a77d001
vp9: apply mv scaling workaround only when subsampling is enabled.
10 years ago
Ronald S. Bultje
dc96c0f9fc
vp9: read all 4x4 blocks in sub8x8 blocks individually with scalability.
10 years ago
Ronald S. Bultje
e12188e143
vp9: fix segmentation map referencing upon framesize change.
10 years ago
Ronald S. Bultje
23ba4538f9
vp9: add inter-frame profile 2/3 suport.
10 years ago
Ronald S. Bultje
b224b165cb
vp9: add keyframe profile 2/3 support.
10 years ago
Ronald S. Bultje
346ce5da19
vp9: parse profile 2/3 bitdepth in frame header.
10 years ago
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>
11 years ago
Vittorio Giovara
eddf95283f
vp9: initialize color space and range properties
11 years ago
Michael Niedermayer
2a85826e57
avcodec/vp9: Use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 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>
11 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>
11 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