Commit Graph

9301 Commits

Author SHA1 Message Date
Jingning Han
6bdfc8cd0b Merge "Motion referenced partition search for non-RD coding flow" 2014-03-26 16:06:01 -07:00
Dmitry Kovalev
0437575848 Merge "Removing prev_mi_8x8 from MACROBLOCKD." 2014-03-26 15:45:11 -07:00
Dmitry Kovalev
38c2d37b9d Merge "Cleaning up vp9_entropymv.c." 2014-03-26 14:28:45 -07:00
Dmitry Kovalev
95cca0c222 Merge "Encapsulating CYCLIC_REFRESH struct into .c file." 2014-03-26 13:39:00 -07:00
Jingning Han
abdb0650b4 Motion referenced partition search for non-RD coding flow
This commit enables the non-RD mode decision coding flow to
adaptively apply partition search in non-refresh frame, when the
collocated block in previous frame suggests there might be a motion
activity. It refactors the update_state_rt() function to support
buffer swap of mode_info struct, thereby unifying the encoding
stage across various non-RD coding modes.

It provides 5% compression performance gains in speed -6 for rtc
test set, at about 12% speed slow down.

Change-Id: Iefa374aed5a11c4b7ff9a3ed36a98ea8bd184edb
2014-03-26 13:09:04 -07:00
James Zern
4fe45a83b2 Merge "tests: use consistent case for VP[89]" 2014-03-26 12:40:16 -07:00
Dmitry Kovalev
0abe813c0e Moving thresh_mult{,_sub8x8} from SPEED_FEATURES to VP9_COMP.
SPEED_FEATURES should contain only configuration parameters.

Change-Id: I7d6d0636879c3e87dad09bc9455c1cf1dc039da8
2014-03-26 11:29:10 -07:00
Dmitry Kovalev
fc25e4dc52 Encapsulating CYCLIC_REFRESH struct into .c file.
Change-Id: I32695ad703dcbbbbf5f122b403f3d3120a0be366
2014-03-26 11:00:35 -07:00
Dmitry Kovalev
63f86c149a Removing prev_mi_8x8 from MACROBLOCKD.
Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
2014-03-26 10:50:34 -07:00
Yaowu Xu
2ec04d1f84 Merge "Added a speed feature "allow_skip_recode"" 2014-03-26 09:53:42 -07:00
Yaowu Xu
85bf6914cf Merge "Removed redundant settings" 2014-03-26 09:53:32 -07:00
Jingning Han
3b8d00449c Merge "Apply early termination in non-RD partition search" 2014-03-26 09:28:55 -07:00
Marco Paniconi
79ec9a26d1 Merge "Fix to cylcic refresh: use correct/chosen mode for update_segment." 2014-03-26 09:15:15 -07:00
James Zern
4ecaaa81e7 Merge "configure: clean up temp gcov (.gcno) files" 2014-03-25 22:52:06 -07:00
Dmitry Kovalev
4fc3e85eee Merge "Removing unused force_next_frame_intra member." 2014-03-25 17:17:22 -07:00
Dmitry Kovalev
6f139773a2 Merge "Removing redundant references to VP9D_COMP struct." 2014-03-25 16:56:33 -07:00
Marco Paniconi
eeed7e2953 Fix to cylcic refresh: use correct/chosen mode for update_segment.
Fix so that vp9_update_segment_aq() will use the correct (i..e, chosen)
encoding mode (from ctx struct) in update_state.

Change-Id: Icc4b66f3935fad5ec4516a4d57e843d12c365e64
2014-03-25 16:40:48 -07:00
Dmitry Kovalev
94800ae0ce Merge "Moving setup_{key, inter}_frame() to vp9_onyx_if.c." 2014-03-25 16:28:49 -07:00
Alex Converse
0d7ee83448 Merge "Refactor out zero motion vector equivalence." 2014-03-25 15:59:24 -07:00
Jingning Han
0d78687583 Apply early termination in non-RD partition search
This commit allows the recursive non-RD partition search to early
terminate sub search tree when the cumulative rate-distortion is
already above the best available.

Change-Id: Ifdbcbb4bee229f47fde3033200829577c9f1fc1d
2014-03-25 15:51:36 -07:00
Alex Converse
e186b66a44 Merge "Add consts to cost_mv_ref." 2014-03-25 15:42:24 -07:00
James Zern
a79995c64b configure: clean up temp gcov (.gcno) files
Change-Id: I792e4ef7d81aa81beb28091a37a61bafb91b30f4
2014-03-25 15:25:16 -07:00
James Zern
5221e919d1 tests: use consistent case for VP[89]
Vp[89] -> VP[89]

Change-Id: Ib5863444c0c022cc51e2f160ecea92ca157fdf1d
2014-03-25 15:23:23 -07:00
Dmitry Kovalev
b135af024c Removing unused force_next_frame_intra member.
Change-Id: I3d9fc6da986d0f1ec682fb12e067c52472453eed
2014-03-25 14:28:15 -07:00
Yaowu Xu
6eb2cacf0d Added a speed feature "allow_skip_recode"
This commit added a speed feature to make the logic of calculating
skip_recode on a block level more explicit. This also enable the
feature to be enabled at speed 5 where the previous logic is too
conservative, help gain back the lost speed for --rt(-5).

Change-Id: Ieb37ca3e85c2e7bda343486edf13d5f5395f2233
2014-03-25 14:27:45 -07:00
Dmitry Kovalev
9366624cc4 Removing redundant references to VP9D_COMP struct.
Change-Id: I4c4772c0e6aca2c7d7085a72412ac8dba8874a3d
2014-03-25 14:21:26 -07:00
Alex Converse
9fe1450da3 Refactor out zero motion vector equivalence.
Change-Id: I6b20248b6f76545356f910ca6386f5466e287b6e
2014-03-25 14:17:55 -07:00
Alex Converse
de3fc51712 Add consts to cost_mv_ref.
Change-Id: Ie5dadb5c2bcfe80a703edb58a71dc453644c9ade
2014-03-25 14:17:55 -07:00
Dmitry Kovalev
72d431b69f Removing redundant vpx_free() call.
above_seg_context is alreaded freed during vp9_remove_common() call.

Change-Id: I16b72c710e71d2f143df2d47e876d220c8d374e0
2014-03-25 14:07:49 -07:00
Yaowu Xu
de8fd6f48a Removed redundant settings
The recode_loop feature is disabled for one-pass always.

Change-Id: I6de8820add4a6f97196874af83a970f9898f842d
2014-03-25 12:33:22 -07:00
Dmitry Kovalev
ed39c40a2e Moving above_context to VP9_COMMON.
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
2014-03-25 10:40:08 -07:00
Jingning Han
c4e807ae2f Fix compiling errors due to git merge
There were a few conflicts between the new non-RD partition search
and recent clean-up patches, which were not caught by git control.
This commit fixed these issues.

Change-Id: Ieebefbd6c19d81d0d13e3c568877d5cce2ab7797
2014-03-25 10:25:16 -07:00
Yaowu Xu
34a3628a45 Merge "Fixed a build issue" 2014-03-25 10:22:18 -07:00
Yaowu Xu
59872069d2 Merge "Change back the scaling calculation." 2014-03-25 09:48:21 -07:00
Yaowu Xu
8051563972 Fixed a build issue
Adding the missed include file.

Change-Id: I7e48df6b0633afbebaf1ccb3062ae404e7203dc9
2014-03-25 09:45:54 -07:00
Jingning Han
17e9df1441 Merge "Always use adaptive motion search in non-RD coding mode" 2014-03-25 09:27:03 -07:00
Jingning Han
c270ce662b Merge "Enable recursive partition selection for non-RD coding mode" 2014-03-25 09:26:49 -07:00
Jingning Han
1b46f315f6 Always use adaptive motion search in non-RD coding mode
This commit takes out the if statements on using adaptive motion
search flag. This feature is automatically enabled in non-RD mode
decision flow for variable partition types search.

Change-Id: I5a25cf9109d84d07aa61b3e02c8d32dda1e90cb0
2014-03-24 22:33:00 -07:00
Yunqing Wang
ca6151f132 Merge "Fix uninitialized read in postprocessing" 2014-03-24 20:38:30 -07:00
Yaowu Xu
ebb4a26202 Merge "Align threading LFWorkerData to 32 bytes." 2014-03-24 17:19:48 -07:00
Dmitry Kovalev
0e84fb08e9 Merge "Making c++ compiler happier." 2014-03-24 17:17:57 -07:00
Alex Converse
64c766bb08 Merge "Don't subpartion inactive area in rd_use_partition." 2014-03-24 17:04:45 -07:00
Alex Converse
98fde54685 Merge "Deduplicate and rename mode info step." 2014-03-24 17:04:30 -07:00
Dmitry Kovalev
79c51573c1 Merge "Initialization code cleanup." 2014-03-24 16:12:42 -07:00
Dmitry Kovalev
a5d51fbdf3 Merge "General cleanup in vp9_decoder.{h, c}." 2014-03-24 15:56:25 -07:00
Dmitry Kovalev
ad4ce92d92 Merge "Using local variable for token_cache." 2014-03-24 15:54:38 -07:00
Dmitry Kovalev
ac49c8ca13 Merge "Adding get_buf_from_mv() function." 2014-03-24 15:52:09 -07:00
Dmitry Kovalev
4455d1c99b Merge "Cleaning up vp9_aq_cyclicrefresh.{c, h}." 2014-03-24 15:44:50 -07:00
Yunqing Wang
c8773416fb Fix uninitialized read in postprocessing
This patch fixed WebRTC Issue 3020: "Uninit error at
vp8_mbpost_proc_down_xmm". The first 8 values in d were not initialized,
but was accessed. This patch fixed c code as well as mmx and sse2 code.

Change-Id: Iaa5b41a4ed3bea971b15fb826ce34b7ab4e36fb1
2014-03-24 14:54:25 -07:00
Jingning Han
6b6d3886fc Enable recursive partition selection for non-RD coding mode
This commit enables a recursive partition type search for non-RD
mode decisions. It allows the encoder to choose variable block
sizes in a 64x64 block based on rate-distortion modeling.

It improves speed -6 coding efficiency for rtc set by 2.4%. Most
of the gains come from 32-40dB range, where many sequences gain
about 5% to 20%. Local tests suggest there is no speed change.

Change-Id: I06300016e500a21652812b7b3b081db39a783d66
2014-03-24 14:40:29 -07:00