Age | Commit message (Collapse) | Author |
|
Reduce the intra_cost_penalty for non-rd mode,
and some updates to VAR_BASED_PARTITION.
Visual tests show some improvement at Speed 6, for RTC clips.
Change-Id: If9090daf7aed14906a32d931a538ab544bbca606
|
|
|
|
Uses highbd_ prefix convention consistently.
Change-Id: I58f7f799a7ff8e32701bcd71c955bcf1cdd4581e
|
|
|
|
- Some fixes to surface fit.
- Returns variance function as cost rather than sad in the
pattern search and diamond search functions. Only
vp9_pattern_search_sad function used in bigdia search
uses sad as integer 1-away costs.
- Deploys SUBPEL_TREE_PRUNED_MORE for speed 4+.
Results:
derf [Speed 3]: About +0.036% in coding efficiency without any
discernible speed loss.
derf [Speed 4]: About 2-3% faster at -0.199% loss in coding efficiency.
derf [Speed 5]: About 3-4% faster at -0.149% loss in coding efficiency.
Change-Id: I8462f94f6adb46966ca964f2bd0400977357fd63
|
|
|
|
The concept:
There's too much noise in source pixels for variance and at low bitrate
the reconstructed looks nothing like the source so we have problems
getting good partitionings with either. This skirts the issue by using
a box blur scaled down version for variance calculations. To compare
against source_var_ moved keyframe to be rd based like source_var.
Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624
|
|
Change-Id: If0ea98aa139d14d40cd924114e18396aff36b5a5
|
|
The functions b_width_log2 and b_height_log2 only do direct
table fetch. This commit unifies such use cases by using the
table directly and removes these functions.
Change-Id: I3103fc6ba959c1182886a2799d21b8b77c8a7b6b
|
|
Change-Id: I6f67b171022bbc8199c6d674190b57f6bab1b62f
|
|
mi_grid_* are arrays of pointer to pointer. They save the pointers that point
to the MIs in cm->mi. But they are unnecessary and complicated. The original
goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
inside MODE_INFO_t, same goal could be achieved.
This commit totally removes the mi_grid_* structures. But there are still
many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
will do on-demand MODE_INFO_t allocation in order to save these memories.
Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
|
|
Adds various high bitdepth quantization functions.
Change-Id: I36fc0bf75a1bd15128ed271df8723de0ac134b0c
|
|
Change-Id: I4c74dcab6358817f03d3bc4d526006d241f0c10e
|
|
Change-Id: Ifbfc142291697a1847ef85ced0b0eb4d6dab161e
|
|
Change-Id: I2450b4856e48dbc4d5b938b2edcea0704f756c8e
|
|
+ delete a dead comment
Change-Id: Ibdb07f6dbdb30fc7888f6115ddc326fcec1157a7
|
|
Change-Id: I3737772fe53f9885c82e2ac4c1af478ab951c16c
|
|
the previous return value was constant and unused.
Change-Id: Ic3be55edb4a884448c7bb07977a80dfb58b7b940
|
|
|
|
This commit allows the encoder to store outcomes of single reference
frame modes and compares them to decide if the inter prediction
filter, forward transform, and quantization can be skipped.
The compression performance of speed 3 is down
derf -0.364%
stdhd -0.198%
For test sequences, the speed 3 runtime is reduced
highway CIF 100 kbps, 51976 ms -> 45033 ms, 13% speed-up
stockholm 720p 1000 kbps, 71826 ms -> 67838 ms, 5.5% speed-up
pedestrian 1080p 2000 kbps, 154924 ms -> 150702 ms, 2.6% speed-up
Change-Id: I5aa26f918d2b4b5197a2c0afa2779319f1c88e44
|
|
Change-Id: Iac4775ad98e988f2b9cf5bd0dc91ab994d0262ce
|
|
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
|