Jingning Han [Wed, 26 Feb 2014 00:12:35 +0000 (16:12 -0800)]
Use sub-pixel accuracy prediction non-RD mode
This commit builds the actual prediction block in sub-pixel accuracy
and uses which to calculate SAD for non-RD mode decision. In the trail
run on pedestrian_area at 1080p, rtc speed -7 runtime goes from
23495 ms -> 25107 ms (7% slower). The compression performance is
improved by 20.57% for rtc test set.
Jingning Han [Tue, 25 Feb 2014 21:50:32 +0000 (13:50 -0800)]
Use dedicated variables to store the best mode
Use a set of dedicated variables to buffer the current best mode
in non-RD mode decision. This allows to use mode_info for more
complicated test in the non-RD process.
Deb Mukherjee [Mon, 24 Feb 2014 23:21:13 +0000 (15:21 -0800)]
Adds variance based fixed size partitioning
Adds a method for determining a fixed size partition based on
variance of a 64x64 SB. This method is added to rtc speed 6.
Also fixes a bug in rtc_use_partition() and includes some
refactoring related to partitioning search, and some cosmetics.
Currently compared to speed 5, the coding efficiency of speed 6
is -19% and that of speed 7 is -55%, in cbr mode.
Jim Bankoski [Tue, 25 Feb 2014 01:34:27 +0000 (17:34 -0800)]
resolve issue with arm code failing unit test
The optimizer did something funny with the code around
line 1412. Before the call to encode_sb split_dist was
set properly but after it was adjusted and converted to
a negative.
Deb Mukherjee [Mon, 24 Feb 2014 20:08:56 +0000 (12:08 -0800)]
Adds an intermediate speed level for rtc
Moves the existing speed 6 to speed 7 and adds an
intermediate level 6 which is roughly in between
speeds 6 and 7 in both speed and coding efficiency.
Also includes some minor fixes/adjustments.
Adrian Grange [Mon, 24 Feb 2014 18:15:21 +0000 (10:15 -0800)]
Trap request to display non-existant frame
If show_existing_frame indicates that the decoder should
display an existing (previously decoded) frame, add a
check to make sure that the signaled buffer does contain
a valid decoded frame.
Yaowu Xu [Sat, 22 Feb 2014 20:30:18 +0000 (12:30 -0800)]
Added clamp of qindex to valid range
The qindex for a segment was not clamped in ABSDATA mode, which may
cause invalid memory access if an ill-formed stream has a negative
value in ABSDATA mode. This commit added clamp to make sure qindex
for a segment always fall into valid range.
Jingning Han [Sat, 22 Feb 2014 02:25:43 +0000 (18:25 -0800)]
Periodically update mode and mv costs
Skip coefficient cost update in non-RD mode decision setting. Allow
periodical mode and motion vector cost update. Currently every other
8 frames. The increment runtime is a constant number. Hence more
visible for CIF resolution, while negligible for 1080p.
Speed -6 compression performance for rtc set is improved by 4.5%.
Jingning Han [Fri, 21 Feb 2014 22:33:27 +0000 (14:33 -0800)]
Refactor selected partition size coding for rtc
This commit makes a refactoring of the rtc_use_partition. It allows
the encoder to take a preferred block size for non-RD mode decision.
The boundary blocks are handled such that smaller block sizes that
fit in the boundary size will be used instread.
In rtc mode, the coding performance of speed -6 for pedestrian_1080p
goes from
158980 b/f, 38.934 dB, 22721 ms to
159008 b/f, 40.064 dB, 23721 ms.
For rtc set, the speed -6 compression performance is improved by
26%. Still about 2dB behind speed -5 at this point.
Alex Converse [Thu, 20 Feb 2014 17:43:32 +0000 (09:43 -0800)]
vp9_rd_pick_inter_mode_sb() reorganization
* Reduce the number of short cirtcuit checks by pre-computing and combining like checks.
* Postpone non-trivial initializations until after the shortcircuits are evaluated.
* Add some consts and const pointers.
No change to the actual results of the call or output of the encoder.
Jingning Han [Wed, 19 Feb 2014 23:30:09 +0000 (15:30 -0800)]
Enable reduced set of intra modes in rtc coding
This commit enables the use of DC, vertical, and horizontal intra
prediction mode in rtc non-RD mode decision. When the best cost value
of inter modes is above a given threshold, the encoder runs the
above three intra modes and selects the one that has minimum
prediction residual in terms of SAD.
This together with recent changes on non-RD mode decision and coding
control improves compression performance of speed -6 by
derf 91%
yt 61%
hd 46%
stdhd 52%
In terms of encoding speed, it is about 3 times faster than speed -5.
Jingning Han [Wed, 19 Feb 2014 23:11:12 +0000 (15:11 -0800)]
Force alt reference frame off in rtc mode
When non-RD coding decision is used in rtc mode, the alt reference
is not used for inter frame prediction. This commit disabled alt ref
option whenever speed -6 is used.
Marco Paniconi [Thu, 20 Feb 2014 18:46:44 +0000 (10:46 -0800)]
vpx_temporal_scalable_patterns: set rc_target_bitrate correct.
Current setting was specific to 1 layer case.
rc_target_bitrate is total bitrate for whole stream,
so set it to ts_target_bitrate for highest/top temporal layer.