Commit Graph

2873 Commits

Author SHA1 Message Date
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
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
e4159100bc Merge "Adding get_y_mode() function." 2014-02-28 11:12:22 -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
Dmitry Kovalev
3a83d08a08 Merge "Moving get_tx_eob() from common to encoder." 2014-02-28 10:49:47 -08:00
Dmitry Kovalev
0429c08823 Merge "Removing unnecessary clamp() call." 2014-02-28 10:49:35 -08:00
Dmitry Kovalev
9d0d6d1945 Merge "Explicit lossless handling in rd_pick_intra4x4block()." 2014-02-28 10:49:11 -08:00
Dmitry Kovalev
761eef0310 Merge "Replacing int_mv with MV and adding const qualifiers." 2014-02-28 10:38:42 -08:00
Dmitry Kovalev
f527c46f20 Cleaning up vp9_quantize.c.
Change-Id: I9a38af32f16f196b83dd69755eafb9543edf5691
2014-02-28 10:11:31 -08:00
Jingning Han
24c7ee78c5 Skip some mode SAD calculation in non-RD mode
This commit checks if the motion vector associated with the current
mode has been computed in previous mode tests. If possible, skip the
redundant reference block generation and SAD calculation in the
non-RD mode decision process.

For test sequence pedestrian_area 1080p, the runtime goes from
24261 ms to 23770 ms. This does not change compression performance.
The speed-up is mostly around places with consistent motion.

Change-Id: I97be63c6a2d07c57be26b3c600fbda3803adddda
2014-02-28 09:44:53 -08:00
Yunqing Wang
17b1e92d6c Merge "Enable using fast HEX search in non-rd pick mode" 2014-02-28 08:29:02 -08:00
Alex Converse
d54b316f54 Merge "Precompute vp9_rd_pick_inter_mode_sb loop escape conditions." 2014-02-27 19:12:49 -08:00
Dmitry Kovalev
1643b2d250 Merge "Reusing existing mem_{get, put}_be32() functions." 2014-02-27 19:10:21 -08:00
Dmitry Kovalev
9004091e8c Removing unnecessary clamp() call.
Change-Id: Iaaa16b4b2c581eaeb9e4ecfcfe60f98b8a0fa40b
2014-02-27 18:48:29 -08:00
Dmitry Kovalev
3b2cd9137a Moving get_tx_eob() from common to encoder.
Change-Id: I7d11c6ae259aff6560710d16fea3032c661e5b02
2014-02-27 18:26:44 -08:00
Dmitry Kovalev
92a8beab1f Cleaning up encode_ref_frame() to match read_ref_frames().
Change-Id: Ie9c66a93d45271e54b84bea6a38f07db6c4fd1ca
2014-02-27 18:24:16 -08:00
Dmitry Kovalev
e4e25ac965 Merge "Inlining optimize_init_b() function." 2014-02-27 18:23:18 -08:00
Dmitry Kovalev
791e9bdac9 Adding consts to arguments of vp9_block_error().
Change-Id: Id145da99259866109cfee8b47a1d8f309944b937
2014-02-27 18:17:08 -08:00
Dmitry Kovalev
bb65be98bb Reusing existing mem_{get, put}_be32() functions.
Change-Id: Iba128039534e16a6e0a8cfe7e58306c4655e9f0d
2014-02-27 17:40:30 -08:00
Alex Converse
a70ae5d9ed Precompute vp9_rd_pick_inter_mode_sb loop escape conditions.
All escape conditions that remain require knowledge of best_rd or
best_mode_index.

Change-Id: I6f77e4e629cacd54c8149ad0a98d54c8ee4ae249
2014-02-27 17:05:52 -08:00
Dmitry Kovalev
1ae91f7784 Adding get_y_mode() function.
Change-Id: Iaac57b24f79cd205a8c62bc1177412d22f5787a8
2014-02-27 16:05:50 -08:00
Dmitry Kovalev
6c7b5e38a9 Inlining optimize_init_b() function.
Change-Id: If41459f8ba186bb47d977b76e2f4bab97078462d
2014-02-27 15:48:22 -08:00
Dmitry Kovalev
4b7addcc10 Fixing include order in vp9_ratectrl.c.
Change-Id: Id1ec41275cc35565e522a1b2ac252ea3ec05638f
2014-02-27 15:35:38 -08:00
Dmitry Kovalev
c63e27b6d8 Cleaning up vp9_bitstream.{c, h} files.
Change-Id: Ida712a91694e89e318181f93afee2d0ee4f4ad94
2014-02-27 15:32:11 -08:00
Deb Mukherjee
746538c2c0 Merge "Turns variance based partitioning on in Speed 7" 2014-02-27 14:02:53 -08:00
Dmitry Kovalev
c57fc4f38c Merge "Removing redefinition of ROUND_POWER_OF_TWO." 2014-02-27 13:43:31 -08:00
Dmitry Kovalev
5295c2a78c Merge "Cleaning up vp9_xform_quant() function." 2014-02-27 13:43:09 -08:00
Deb Mukherjee
ed5755445c Turns variance based partitioning on in Speed 7
Improves coding efficiency by about 1%, increases speed by
about 15-20% over exsiting speed 7.

Change-Id: Ibf5b9b5a5c8548e863ce19047c42b579aac21d19
2014-02-27 12:09:12 -08:00