4706 Commits

Author SHA1 Message Date
Dmitry Kovalev
3557dfc20f Merge "Sorting includes in vp9_rdopt.c." 2014-02-28 15:37:51 -08:00
Dmitry Kovalev
d689f2ad33 Cleaning up vp9_mvref_common.c.
different_ref_found is always equal to one (if calculated) because
ref_frame[0] != ref_frame[1] for each mi-block.

Change-Id: Ibd7625b7b29dec2fd3c40edbc3de1169abb78585
2014-02-28 15:12:33 -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
e68cc30bb5 Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h.
Change-Id: I1fe71e35b1e44da693b43d26607abb33efd56820
2014-02-28 13:56:43 -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
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
f1a6cdbf8d Cleaning up vp9_init_dsmotion_compensation().
Change-Id: Id5b56c7bc5671859f54ae69693064804d3fadd98
2014-02-28 10:39:31 -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
hkuang
edcbbf2ee3 Merge "Fix a bug in neon that has not save and restore q4-q7 registers." 2014-02-28 09:48:26 -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
4c8d70d771 Cleanup conditions in vp9_rd_pick_inter_mode_sb().
Change-Id: I4e5ca10f7aef2d37fda835b369828d0bbff7c8a0
2014-02-27 19:16:50 -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
af62e09684 Removing VP9D_PTR.
Change-Id: I17276e25db4592ffeff0961dd9eeaabe4bde110c
2014-02-27 19:08:10 -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
hkuang
f3d8e315ac Fix a bug in neon that has not save and restore q4-q7 registers.
Change-Id: Ie21b5ae89100389b80f919710839084f935a8545
2014-02-27 14:06:52 -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