Age | Commit message (Collapse) | Author |
|
Updates the vp9_pattern_search function to return integer one-away
neighbors' sad values, for subsequent use in speeding up the
sub-pel search. Also, removes code for the do_refine option
which is not being used currently.
Updates the integer and subpel functions to pass in a 5-element
sad list for output or input.
A new pruned sub-pel search algorithm is implemented that uses
the sad returned from the integer pel search. But it is not
deployed yet.
Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
|
|
Change-Id: Ic39cc0deafb3ed509434d3d9953b99713de7394a
|
|
|
|
Don't intra transform blocks past the edge of the image.
Change-Id: Ib8de6901ea339f352f6a7c9cd2af64aa2f55fa8a
|
|
Change-Id: Ia023a49ddb606899171ff19f9e271ec8ed0b2fb3
|
|
Change-Id: I4906043ec1e3577ba37622a235c54adacb66125a
|
|
|
|
This was shadowing the use of error_resilient_mode, but with
the opposite sense.
Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8
|
|
Change-Id: Ieae182d72d625d0d3fd4ed7c7d24cb521a0f21b0
|
|
|
|
Change-Id: Iefcf0a25aaf5e44e8e791839aa82d876555025e0
|
|
The get_chessboard_index() used to call the entire VP9_COMMON
struct pointer to retrieve the chessboard pattern index. This cl
makes it call the frame index directly.
Change-Id: I3cad9d209ea2e77a358085a04fe1ff0ddec5ba03
|
|
This should prevent confusion with the VP8 CONFIG_TEMPORAL_DENOISING and other
flags.
Change-Id: I1fe4e2977895b7966841d861ab74317ad875b6c8
|
|
|
|
|
|
In vp8, statistics are collected about the different modes as they are searched.
This process is more complicated due to the variable block size. Fields were
added to the PICM_MODE_CONTEXT struct to hold this information for each point in
the search. The information is then taken from the appropriate part of the tree
during denoising.
Change-Id: I89261ab77ad637821287ae157dfdf694702b8e77
|
|
|
|
This is to fix a reported issue #825:
https://code.google.com/p/webm/issues/detail?id=825
Change-Id: I196535aee81a8967551c058849d7f9c6874cb730
|
|
|
|
This commit fixes a potential out-of-boundary memory access due to
the use of reuse_inter_pred_sby in the non-RD coding flow. It
resolves the corresponding asan error.
Change-Id: Iff605f5921230966990013541cd855d698810922
|
|
This commit fixes a mismatched use case of block size in non-RD
intra prediction check. The residual SSE and variance should be
calculated per transform block size, instead of operating block
size, which caused chrome valgrind warning on conditional jump
based on uninitialized value (webm issue 823). This commit
resolves this issue.
Change-Id: I595c06599c7e0fd0e4a08736519ba68fc14bc79a
|
|
Changed to use defined inline functions consistently through
the code.
Change-Id: I7644d24fa7a837378564a6e0790416d3725dd200
|
|
|
|
Change-Id: I3a3ceeeed489f8b1ccd7199ff97f3fb991bbf5a4
|
|
Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in
vp9_find_best_sub_pixel_tree().
Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056
|
|
This commit combined the full pel and sub pel motion search into a
single function to avoid code duplication. The commit does not change
encoder outputs.
Change-Id: Ibe18342c4f64073bef20f9cf6c6ca0a20d01bf0d
|
|
vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all
other rd related routines. Anything used outside of making an rd optimal
decision belongs in rd.
Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
|
|
|
|
As in VP8.
Currently, this parameter is set with the VP8E_SET_NOISE_SENSITIVITY flag.
The flag was not renamed so that we don't break the interface for webrtc. This
should probably be changed at some point in the future.
Change-Id: Ic73fcb0dde9d1d019e9d042050b617333ac65472
|
|
This commit added a speed feature to control the step_param used in
full pixel motion search. The intention is to reduced the search
steps for high speed real time coding.
Change-Id: I21d2f0105c2b647783a6688615da7fcf2b6d670b
|
|
|
|
Encoder still uses SWITCHABLE as default via DEFAULT_INTERP_FILTER,
but does not override the default if it is not SWITCHABLE.
Change-Id: I3c0f6653bd228381a623a026c66599b0a87d01d5
|
|
Moved the encode_breakout_test out of vp9_pick_inter_mode().
Change-Id: I6966d0293ae5210a5a28b0e8debacb24d1c0d2d4
|
|
|
|
|
|
Also added reset_frame_stats()
Change-Id: I8e6ca00dbd5fa85cd39485d81c9343c0ff207d6c
|
|
This commit enables an adaptive transform size selection method
for speed -6. It uses largest transform size when the sse is more
than 4 times of variance, i.e., most energy is compacted in the
DC coefficient. Otherwise, use the default TX_8X8. It improves
the compression efficiency for rtc set of speed -6 by 0.8%, no
speed change observed.
Change-Id: Ie6ed1e728ff7bf88ebe940a60811361cdd19969c
|
|
Change-Id: Ic149749157d762039446d14472d40d9211c6451a
|
|
|
|
This commit enables a fast reference motion vector search scheme.
It checks the nearest top and left neighboring blocks to decide the
most probable predicted motion vector. If it finds the two have
the same motion vectors, it then skip finding exterior range for
the second most probable motion vector, and correspondingly skips
the check for NEARMV.
The runtime of speed -5 goes down
pedestrian at 1080p 29377 ms -> 27783 ms
vidyo at 720p 11830 ms -> 10990 ms
i.e., 6%-8% speed-up.
For rtc set, the compression performance
goes down by about -1.3% for both speed -5 and -6.
Change-Id: I2a7794fa99734f739f8b30519ad4dfd511ab91a5
|
|
Change-Id: I65209fd1e06fc06833f6647cb028b414391a7017
|
|
This commit fixes the potential issue in the non-RD mode decision
flow that only checks part of the block to estimate the cost. It
was due to the use of fixed transform size, in replacing the
largest transform block size. This commit enables per transform
block cost estimation of the intra prediction mode in the non-RD
mode decision.
Change-Id: I14ff92065e193e3e731c2bbf7ec89db676f1e132
|
|
|
|
|
|
|
|
This is very helpful for large moving windows in screencasts.
Change-Id: I91b5f9acb133281ee85ccd8f843e6bae5cadefca
|
|
This commit replaces a few use cases of cpi->common with preset
variable cm, to avoid unnecessary pointer fetch in the non-RD
coding mode.
Change-Id: I4038f1c1a47373b8fd7bc5d69af61346103702f6
|
|
In real-time speed 6, no partition search is done. The inter
prediction results got from picking mode can be reused in the
following encoding process. A speed feature reuse_inter_pred_sby
is added to only enable the resue in speed 6.
This patch doesn't change encoding result. RTC set tests showed
that the encoding speed gain is 2% - 5%.
Change-Id: I3884780f64ef95dd8be10562926542528713b92c
|
|
Change-Id: Ibb841a1fa4d08d164cf5461246ec290f582b1f80
|
|
|