2999 Commits

Author SHA1 Message Date
Jim Bankoski
9c63e887e6 cost_coefs approximation speed up
This patch adds a new speed feature which doesn't do the rather
expensive entropy context lookup or save to the table,  while
doing costing.

The speed up on desktop36p.y4m is around 10% other clips much less.

On the RTC test set this was + 1% in overall datarate.

Change-Id: Ia5144bbf45270671e7be9c8e4055369909e2f738
2014-03-03 11:49:13 -08:00
Alex Converse
f466fc8bfa Refactor ZEROMV equivalence
This gets more accurate mode hit stats. It's also the first step to
handling ZEROMV not being allowed more intelligently.

Change-Id: I5de6734507b5177bf73e9ddbad923f218c39f3e4
2014-03-03 11:32:24 -08:00
Yunqing Wang
5b2190b2bf Reset search_method for non-rd pick mode
Reset FAST_HEX search_method, which was lost because of code merging.

Change-Id: Ic2b2cb9ec2f1751e96f7db0f9226310f605fcc83
2014-03-03 11:12:11 -08:00
Alex Converse
0fa1e7ee09 Enforce intra_y_mode_mask for inter rd.
intra_y_mode_mask is already enforced for the sub8x8 case.
intra_uv_mode_mask is already enforced for all sizes.

Change-Id: Ia9dd14701cb49873c2e8f24eb5f8b255eaf76a1f
2014-03-03 10:50:17 -08:00
Alex Converse
07c4d2252b Merge "Cleanup conditions in vp9_rd_pick_inter_mode_sb()." 2014-03-03 10:23:51 -08:00
Paul Wilkins
34ad6d00d2 Merge "Clear implied conversion to int64_t warning." 2014-03-03 09:28:12 -08:00
Yunqing Wang
d4648d93f4 Merge "AVX2 SubPixel AVG Variance Optimization" 2014-03-03 09:01:36 -08:00
Yaowu Xu
a9288e297f Merge "vp9_lookahead_push(): remove unused parameters" 2014-03-03 08:36:06 -08:00
Yaowu Xu
e2f663c37f Merge "vp9_mbgraph.c: remove unused parameters" 2014-03-03 08:24:49 -08:00
Yaowu Xu
386265fd2b Merge "temporal_filter_find_matching_mb_c(): remove a param" 2014-03-03 08:24:39 -08:00
Yaowu Xu
c703400bd4 Merge "vp9_prob_diff_update_savings_search_model(): remove params" 2014-03-03 08:24:30 -08:00
Paul Wilkins
74558bc582 Clear implied conversion to int64_t warning.
Clear warning caused by implied conversion from int32 to int64.

Change-Id: I473b37a54984cbfb22702eb3f712465881ff86e8
2014-03-03 15:41:21 +00:00
Yaowu Xu
5ee16cc075 Merge "vp9_firstpass.c: remove unused functions & params" 2014-03-03 06:53:35 -08:00
Dmitry Kovalev
9f17ff452b Merge "Sorting includes in vp9_firstpass.c." 2014-03-03 01:03:21 -08:00
Yaowu Xu
b791c6006b vp9_mbgraph.c: remove unused parameters
Change-Id: I5a01d0dccc9afc87e2adbb5ddc7d44379fe1f125
2014-03-02 20:48:54 -08:00
Yaowu Xu
c0205ebfb4 temporal_filter_find_matching_mb_c(): remove a param
There is one parameter that is never used, therefore is removed.

Change-Id: I595722e7c5731534c72831315359e4dce9c21763
2014-03-02 20:43:42 -08:00
Yaowu Xu
b9d28e715f vp9_prob_diff_update_savings_search_model(): remove params
Two paramemters are not in use, therefore are removed.

Change-Id: I41eb601b7b4bf2feedb13b3f240315656d8694f9
2014-03-02 20:36:32 -08:00
Yaowu Xu
dac3d0cebd vp9_lookahead_push(): remove unused parameters
Change-Id: Ia319bd924401677b5c30b0f46d1ab2be6a1f446e
2014-03-02 14:34:59 -08:00
Yaowu Xu
673621c8ba vp9_firstpass.c: remove unused functions & params
Change-Id: I111c5bd0dd47db7b1f6952c18056bee548bb42e9
2014-03-02 13:46:03 -08:00
Yaowu Xu
b12f5fc748 vp9_encodeframe.c: remove unused function params
Change-Id: I6d47618e8aee6e6c2fe1cf0b8bb4da0b2a0bab66
2014-03-01 14:58:42 -08:00
Yaowu Xu
9bcd361617 Remove unused parameters from update_state_rt()
In addition, a local variable was renamed to avoid confusion.

Change-Id: Id4c497f9cfa219e8a414aa9fee9a85af5f147249
2014-03-01 11:08:52 -08:00
Yaowu Xu
2f4eb5f096 Remove vp9_create_common()
The function has evolved over time, now only calls vp9_rtcd(), so this
commit removes the function and changes to call vp9_rtcd() directly.

Change-Id: I8cfa6190daa4b28f6f3d1e11bb3a07f9c95322bf
2014-03-01 10:59:24 -08:00
Yaowu Xu
3678ed36b9 Remove a parameter from write_selected_tx_size()
The parameter was never used.

Change-Id: I99fd9aad697917ddbe3d10c71cae344228fafc31
2014-03-01 10:40:39 -08:00
levytamar82
ea14909687 AVX2 SubPixel AVG Variance Optimization
Optimizing 2 functions to process 32 elements in parallel instead of 16:
1. vp9_sub_pixel_avg_variance64x64
2. vp9_sub_pixel_avg_variance32x32
both of those function were calling vp9_sub_pixel_avg_variance16xh_ssse3
instead of calling that function, it calls vp9_sub_pixel_avg_variance32xh_avx2
that is written in avx2 and process 32 elements in parallel.
This Optimization gave 80% function level gain and 2% user level gain

Change-Id: Iea694654e1b7612dc6ed11e2626208c2179502c8
2014-02-28 22:51:04 -07:00
Yaowu Xu
a257058aa3 Merge "Fix unused parameters in vp9_extend_frame_borders" 2014-02-28 17:34:38 -08:00
Dmitry Kovalev
4aacfb0f85 Merge "Replacing int_mv with MV." 2014-02-28 16:09:17 -08:00
Dmitry Kovalev
37bb11f5cb Merge "Removing unnecessary casts from quantization code." 2014-02-28 16:08:24 -08:00
Dmitry Kovalev
f97afbc8ea Merge "Using ref_mv[2] instead of two separate variables." 2014-02-28 16:07:45 -08:00
Yaowu Xu
0fa4d89042 Fix unused parameters in vp9_extend_frame_borders
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
2014-02-28 15:50:32 -08:00
Dmitry Kovalev
3557dfc20f Merge "Sorting includes in vp9_rdopt.c." 2014-02-28 15:37:51 -08:00
Deb Mukherjee
dc8a2c07b3 Merge "Adds speed 8 to vp9 as reference" 2014-02-28 14:17:24 -08:00
Dmitry Kovalev
aed826b065 Using ref_mv[2] instead of two separate variables.
Change-Id: I909a81991aa0cc18afe6526542c7513837445213
2014-02-28 14:10:51 -08:00
Dmitry Kovalev
d89bdd3674 Sorting includes in vp9_rdopt.c.
Change-Id: I7e2591b4b54e0eac8521e128c7d97f62d2057ed8
2014-02-28 14:00:15 -08:00
Dmitry Kovalev
dac630bb22 Merge "Sorting and eliminating includes in vp9_pickmode.c." 2014-02-28 13:57:31 -08:00
Dmitry Kovalev
3c4a57bb4f Merge "Fixing include order in vp9_quantize.c" 2014-02-28 13:18:38 -08:00
Jingning Han
fa9e6e8890 Merge "Fix potential invalid partition size use" 2014-02-28 13:02:58 -08:00
Deb Mukherjee
f872a98b1b Adds speed 8 to vp9 as reference
Adds a speed 8 to VP9 where only the nearestmv (0 mv) is searched.
This seems to be about the same speed as vp8 speed 5.

Adds a new speed feature to disable inter modes based on a mask for
each blocksize.

Adds code for having lower complexity motion search methods
in nonrd pick mode function, even though speed 7 still uses DIAMOND
search for now.

Also uses HEX search for speed 6 rather than FAST_HEX which improves
psnr by 0.56% without any noticeable speed drop (tested on gipsmotion).

Change-Id: Ic13176572dbd3aed5884a26786940a4b1bbd8a75
2014-02-28 12:29:23 -08:00
Jingning Han
da798043c5 Merge "Skip some mode SAD calculation in non-RD mode" 2014-02-28 12:14:10 -08:00
Dmitry Kovalev
ce404e898c Replacing int_mv with MV.
Change-Id: Ib68d4a2de838254a66272324b909292048cbe60d
2014-02-28 12:11:46 -08:00
Dmitry Kovalev
e869869d22 Removing unnecessary casts from quantization code.
Change-Id: I64172710654e95a90ee754d14d7104337d28010f
2014-02-28 11:59:50 -08:00
Dmitry Kovalev
c9513e1dfb Fixing include order in vp9_quantize.c
Change-Id: Ic32eb103d0d7f98c0a16c4e7bdec117faf05df02
2014-02-28 11:30:51 -08:00
Dmitry Kovalev
fc179b3eda Merge "Cleaning up vp9_quantize.c." 2014-02-28 11:29:39 -08:00
Dmitry Kovalev
b68e0a0c38 Sorting and eliminating includes in vp9_pickmode.c.
Change-Id: Icc057b819d80c608a6003fd7ef58aefed7a15824
2014-02-28 11:28:34 -08:00
Dmitry Kovalev
1cd34d3f3b Sorting includes in vp9_firstpass.c.
Change-Id: Iee4f8443971fe2b21762d87f0be5751329768b5a
2014-02-28 11:15:32 -08:00
Dmitry Kovalev
e4159100bc Merge "Adding get_y_mode() function." 2014-02-28 11:12:22 -08:00
Dmitry Kovalev
65e2e78602 Removing unused mv_ref_stats[] array.
Change-Id: Icd4d495ed32dec215d2157cd8fbebd0648ec5954
2014-02-28 11:07:08 -08:00
Dmitry Kovalev
d5e6f09585 Merge "Cleaning up vp9_bitstream.{c, h} files." 2014-02-28 11:01:55 -08:00
Dmitry Kovalev
28bd1dd15e Merge "Adding consts to arguments of vp9_block_error()." 2014-02-28 10:51:43 -08:00
Dmitry Kovalev
51e0e0c0a7 Merge "Cleaning up encode_ref_frame() to match read_ref_frames()." 2014-02-28 10:51:21 -08:00
Jingning Han
bf5e9221d6 Fix potential invalid partition size use
For blocks at frame boundary, the selected block size sometimes needs
to be smaller than that was first given. This commit forces such block
size change only between square blocks, so as to avoid the potential
use case containing 32x16 + 16x8 + 16x8, for 1080p sequences.

Local test suggested no visible coding speed difference. Borg test
reveals no difference in terms of compression performance.

Change-Id: Ie8de87f3c6febc3acf11b4cbfdf2077f9f6def52
2014-02-28 10:50:34 -08:00