Commit Graph

10014 Commits

Author SHA1 Message Date
Dmitry Kovalev
3dff8aa36b Merge "Moving q_trans[] table to vp9_quantize.{c, h}." 2014-04-09 20:18:24 -07:00
Dmitry Kovalev
f10c173b40 Merge "Removing unused code from vp9_onyx_if.c." 2014-04-09 20:18:07 -07:00
Alex Converse
dad9e4abaa Remove vestiges of large tx sizes in sub8x8 code.
Change-Id: I27015ed57b4c4390cfde3d0eecd82c3e76fd3786
2014-04-09 18:43:29 -07:00
Yaowu Xu
1dcc1aa942 Prevent the usage of invalid best_mode_index
This commit changed the initialization of best_mode_index to -1 to make
sure it is not mistakenly used for mode masking.

Change-Id: I75b05db51466070dd23c4ee57a4d4b40764dc019
2014-04-09 17:56:06 -07:00
Dmitry Kovalev
41ea9ef955 Merge "Removing redundant assignments." 2014-04-09 16:56:25 -07:00
Alex Converse
71ffc7d7ff Merge "Remove unused tile arguments from vp_rdopt." 2014-04-09 16:45:46 -07:00
Alex Converse
1eee13c0ab Merge "Cleanup vp9_rd_pick_inter_mode_sub8x8()." 2014-04-09 16:45:41 -07:00
Dmitry Kovalev
46a20d67cb Removing unused initial_{width, height} from VP9Decoder.
Change-Id: I039474b34863bc3db9c6cda82485c32826a1b5d1
2014-04-09 16:18:29 -07:00
Jingning Han
2255085584 Fix coding format in vp9_rc_regulate_q
Change-Id: I08aa0c213df34c084eb7a3c51b6b3306e49c7757
2014-04-09 15:41:39 -07:00
Dmitry Kovalev
60def47f21 Revert "Converting set_prev_mi() to get_prev_mi()."
This reverts commit 22a3e30790

Change-Id: I460d905edf5fb2006da58c18fbe02c04d0c631bb
2014-04-09 15:23:16 -07:00
Yaowu Xu
2dc92482d0 Merge "Fix the setting of mode_skip_mask" 2014-04-09 14:29:23 -07:00
Alex Converse
666ecf21df Cleanup table declarations in vp9_rdopt.
Change-Id: Ia4bef41a6b0252593ad84612a2a143c724fd03ea
2014-04-09 14:22:39 -07:00
Dmitry Kovalev
b60d23f308 Removing unused code from vp9_onyx_if.c.
Change-Id: I0462bf1ca1b4e5a1c06259979b4daff949b8a2c6
2014-04-09 13:42:26 -07:00
Dmitry Kovalev
d1a396d8b9 Moving q_trans[] table to vp9_quantize.{c, h}.
Change-Id: I1324c339815a47004ddccdaf651d24c60382b92f
2014-04-09 13:35:39 -07:00
Tom Finegan
4fffefe189 Merge "Fix avx builds on macosx with clang 5.0." 2014-04-09 13:03:26 -07:00
Dmitry Kovalev
876059f7c2 Regrouping code in rd_pick_sb_modes().
Change-Id: I51c71dd4aee6592fb90feebcf864bccc87dacec6
2014-04-09 13:00:02 -07:00
Yaowu Xu
585e01bfe2 Remove duplicate code
Change-Id: Ie26b6ca8de733a527f820b16148e7a2231073f0f
2014-04-09 12:58:10 -07:00
Dmitry Kovalev
7cc78c06e0 Merge "Adding vp9_inc_frame_in_layer() function." 2014-04-09 12:50:25 -07:00
Yunqing Wang
7c891ed2e0 Minor code cleanup
Cleanup.

Change-Id: I54d989e24b35323cda7290654e425565d5c9ea2d
2014-04-09 12:08:07 -07:00
Alex Converse
3ab4d57196 Remove unused tile arguments from vp_rdopt.
Change-Id: I721ff26e3d5dbef80b8cd2dd562adae3748f6687
2014-04-09 11:48:30 -07:00
Alex Converse
dcb5157608 Cleanup vp9_rd_pick_inter_mode_sub8x8().
Change-Id: I9be2e4e9aeda0fae6dc946deae2999be51daebe0
2014-04-09 11:48:24 -07:00
Alex Converse
6e943cabdc Merge "Fixing broken build." 2014-04-09 11:47:23 -07:00
Yaowu Xu
4f95a7fe3e Fix the setting of mode_skip_mask
In mode selection loop, once mode_index pass mode_skip_start, all
modes with a different reference frame from current best mode are
masked out using mode_skip_mask.

However, the setting of mode_skip_mask may use an invalid mode if
there is no mode tested yet. This commit fixes the issue by making
sure a mode has been tested and selected. Otherwise, no mode will be
masked out because of their reference frame.

Change-Id: Ib0009e8a96836a65cf5347440fff8a2e1a67f29f
2014-04-09 11:42:28 -07:00
James Zern
db8af0b0b3 Merge "Fix TODO typo" 2014-04-09 11:29:44 -07:00
James Zern
0380812799 Merge "Add more test files that change number of tile columns." 2014-04-09 11:29:12 -07:00
Vignesh Venkatasubramanian
667ab1c708 Merge "third_party/libwebm: Pull from upstream" 2014-04-09 11:16:14 -07:00
Dmitry Kovalev
0ba14e600c Fixing broken build.
Change-Id: I9b8f9a3f4fa9d48695149dd68ecb5e8d84accafe
2014-04-09 10:46:54 -07:00
Dmitry Kovalev
5ed83c3220 Merge "Converting set_prev_mi() to get_prev_mi()." 2014-04-09 10:27:05 -07:00
Yunqing Wang
2e7d327789 Merge "Use source frame difference to make partition decision" 2014-04-09 10:26:42 -07:00
Dmitry Kovalev
51b3035fc3 Adding vp9_inc_frame_in_layer() function.
Change-Id: Idf612c772440158cd1645623241c51ab0d57405c
2014-04-09 10:26:32 -07:00
Dmitry Kovalev
a30ff3458d Merge "Applying q_trans[] inside set_encoder_config()." 2014-04-09 10:25:59 -07:00
Yunqing Wang
3a6670fcf8 Fix encoder uninitialized read errors reported by drmemory
This patch fixed the uninitialized read errors in Issue 748:
"dr memory VP9 encode errors". In vp9_convolve_avg_sse2,
when width is 4, pavgb reads 8 bytes from dst buffer that is
out of range. An error is reported although the data is not
actually used later. This issue was resolved by preventing
uninitialized reads.

Change-Id: I109a54910aa47139cb13119de86f2062cff207df
2014-04-09 09:59:15 -07:00
Jingning Han
ae6485663a Merge "Select prediction filter type in non-RD mode decision" 2014-04-09 09:07:45 -07:00
Frank Galligan
bbf8971a28 Fix TODO typo
Change-Id: I7a5230852cb24ce22bfe85ea2608cdb4619b5200
2014-04-09 08:48:44 -07:00
Frank Galligan
51415d47ce Add more test files that change number of tile columns.
Change-Id: I08fe184a04e5435aeac92f1d7cc9733ca52c2783
2014-04-09 08:44:29 -07:00
Deb Mukherjee
0cca5dd8d7 Merge "High-level hooks for Profile 2 (10/12 bit)" 2014-04-08 22:19:38 -07:00
Dmitry Kovalev
5db5154029 Applying q_trans[] inside set_encoder_config().
Change-Id: Ib64edeb58b3e25488fb85bbe85c9decb15b4d0a1
2014-04-08 19:43:08 -07:00
Dmitry Kovalev
191dfa8dc7 Cleaning up get_sby_perpixel_{, diff_}variance().
Change-Id: Icbfeb04647d654253866d290abd4775a877b4f61
2014-04-08 19:00:12 -07:00
Tom Finegan
f600b50a6e Fix avx builds on macosx with clang 5.0.
The macosx release of clang v5.0 identifies itself as:
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)

This version of clang uses the older _mm_broadcastsi128_si256, like
v3.3, as given away in the LLVM svn version above.

Change-Id: I4d6d59d5454efd57d2ae9e75f5eb7486af7cbd0c
2014-04-08 18:56:03 -07:00
Dmitry Kovalev
4b1c4420e7 Removing redundant assignments.
Change-Id: I3ced24f2c3b9cc483278c0f0d60512e7d2efa4f4
2014-04-08 18:52:25 -07:00
Dmitry Kovalev
c27bdb9bc1 Merge "Cleaning up encode_frame_internal()." 2014-04-08 18:23:15 -07:00
Dmitry Kovalev
755433927c Merge "Cleaning up vp9_firstpass.c" 2014-04-08 18:22:34 -07:00
Dmitry Kovalev
c800e3c816 Merge "Adding vp9_ssim.h file." 2014-04-08 18:19:21 -07:00
Frank Galligan
9893fb9859 Merge "Fix decoder resolution change with tiles" 2014-04-08 17:13:33 -07:00
Yunqing Wang
4e66293fcb Use source frame difference to make partition decision
Calculate the difference variance between last source frame and
current source frame. The variance is calculated at 16x16 block
level. The variances are compared to several thresholds to decide
final partition sizes.

An adaptive strategy is implemented to decide using
SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions
in the video. The switching test is done once every
search_type_check_frequency frames.

The selection of source_var_thresh needs to be investigated
further later.

RTC set Borg test showed 0.424% overall psnr gain, and 0.357%
ssim gain. For clips with large enough static area, the
encoding speedup is around 2% to 15%.

Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
2014-04-08 17:03:02 -07:00
Jingning Han
06ec873f2c Select prediction filter type in non-RD mode decision
This commit allows the non-RD mode decision flow to  select
prediction filter type in NEWMV mode. It provides 8.14% compression
performance gains in both settings of AQ=0 and 3. The current speed
impact is about 5% to 10% slower.

Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42
2014-04-08 16:47:42 -07:00
Vignesh Venkatasubramanian
919553695c third_party/libwebm: Pull from upstream
Pulling latest libwebm from upstream.

Change-Id: I62edafb0b0283160c9b4060fd5907e3aad6c7820
2014-04-08 16:25:23 -07:00
Deb Mukherjee
d35df2d8ea High-level hooks for Profile 2 (10/12 bit)
Adds some high-level hooks for profile 2 before further
progress on the implementation.

According to the definitiion in this patch:
1. Profile 2 only supports 10 or 12 bit color but not 8
2. Profile 2 supports all color sampling modes: 444, 422 and 420,
and alpha plane.
3. Profile 3 is currently undefined.

Please consider the definition carefully and suggest modifications
to the definition as needed.

Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995
2014-04-08 16:18:34 -07:00
Dmitry Kovalev
129cb23c14 Adding vp9_ssim.h file.
Change-Id: Ib3b3864a6018c62ac1ea18e30795af74464596cd
2014-04-08 16:08:39 -07:00
Dmitry Kovalev
231ef057c4 Cleaning up vp9_firstpass.c
Change-Id: Ie5723690f7c0bfa29a7ccef5da0c6c6326600ee6
2014-04-08 15:21:30 -07:00