Commit Graph

9054 Commits

Author SHA1 Message Date
Jingning Han
5aa56f7c48 Merge "Properly reset the block coding skip flag array in non-RD mode" 2014-03-14 14:31:25 -07:00
Yaowu Xu
e6058ea061 Merge "change to save rdmult value correctly" 2014-03-14 13:27:32 -07:00
Jingning Han
a2e711ce38 Properly reset the block coding skip flag array in non-RD mode
The block coding skip flags are assigned in the normal RD mode
decision loop. They are then used in the final encoding stage.
In the non-RD mode decision, the forward transform and quantization
stages are replaced by modeling based on SSE and variance of
prediction residues. This commit applies reset to this array in
the non-RD coding mode.

Change-Id: I66584669b035e9c8ac23e95047849ff277472742
2014-03-14 12:14:06 -07:00
Yaowu Xu
28f947359d Merge "Use of inline instead of INLINE." 2014-03-14 11:48:09 -07:00
Yaowu Xu
2a03d0d22b change to save rdmult value correctly
This commit moves the position where rdmult is saved to make sure it
is the correct value. Prior, an uninitialized value may be saved and
restored.

This addresses issue:
https://code.google.com/p/webm/issues/detail?id=733

Change-Id: I436407f289169bc63da3c5a6bf609bed16cb71b5
2014-03-14 11:18:27 -07:00
Jingning Han
5806e70ee3 Merge "Remove deprecated function nonrd_use_fixed_partition" 2014-03-14 09:06:11 -07:00
Jingning Han
0428f349d4 Merge "Remove unused comment" 2014-03-14 09:06:03 -07:00
Jingning Han
6be7120ecf Merge "Refactor the non-RD partition decision process" 2014-03-14 09:05:54 -07:00
Jingning Han
47460af1aa Merge "Unify non-RD partition use cases" 2014-03-14 09:05:41 -07:00
Jingning Han
a66b68c7b2 Merge "Return rate and distortion cost values from non-RD mode decision" 2014-03-14 09:05:32 -07:00
Paul Wilkins
0fa768704b Use of inline instead of INLINE.
This causes a build failure in VS 2008.

Change-Id: I03b0c0c006589b56d92a238d7b794711eb62575e
2014-03-14 11:36:06 +00:00
Dmitry Kovalev
7c6337ba9e Merge "Adding vp9_swap_mi_and_prev_mi() function." 2014-03-13 17:47:27 -07:00
Dmitry Kovalev
6ffa05901d Merge "Using MB_PREDICTION_MODE enum instead of int." 2014-03-13 17:47:14 -07:00
Jingning Han
9efe0b25c5 Remove deprecated function nonrd_use_fixed_partition
This function was subsumed by nonrd_use_partition, hence removed.

Change-Id: Id36757bc600ce6cf6ca03ad5df80268c4786d386
2014-03-13 16:15:14 -07:00
Jingning Han
73df20e97d Remove unused comment
Change-Id: I12ce22c036b12073a45b762d4dd38f6ec4960e56
2014-03-13 16:04:16 -07:00
Jingning Han
0d39429914 Refactor the non-RD partition decision process
Combine the common variables and functions used by different
speed features.

Change-Id: Ifd1fa86200edbcc9e50b3fc3b1ba8a275bc3c17f
2014-03-13 15:53:40 -07:00
Jingning Han
3d6286c73d Unify non-RD partition use cases
This commit unifies the non-RD partition use cases for both fixed
and variable block sizes. Deprecate and remove the separate function
for fixed partition type only.

Change-Id: I2b6cb945e90c1566f985adcebc4d0757480a8004
2014-03-13 15:41:15 -07:00
Dmitry Kovalev
d8e5564129 Using MB_PREDICTION_MODE enum instead of int.
Change-Id: I652d17f7bff84f75d015f4f39652472e14eb3134
2014-03-13 15:03:00 -07:00
Marco Paniconi
07fbd70e38 Merge "Move svc layer_context to separate file." 2014-03-13 14:49:15 -07:00
Marco Paniconi
78664081d1 Move svc layer_context to separate file.
Change-Id: Ie47c139d48cb18409d71f98f6a5b9eeb9f9437a9
2014-03-13 14:39:45 -07:00
Dmitry Kovalev
e65c564c78 Adding vp9_swap_mi_and_prev_mi() function.
Change-Id: I18b3939f0b51085cdd25c9182c3a9c7536ca7e3e
2014-03-13 13:55:33 -07:00
Dmitry Kovalev
069e2458a6 Merge "Removing unused select_cq_level() function." 2014-03-13 13:45:45 -07:00
Dmitry Kovalev
aa7ec14c9a Merge "Speeding up reading of intra block modes." 2014-03-13 13:45:32 -07:00
Dmitry Kovalev
bae36d67fa Merge "Renaming decode_modes_{b, sb}." 2014-03-13 13:45:26 -07:00
Dmitry Kovalev
a91467a0dd Merge "Cleaning up vp9_cx_iface.c file." 2014-03-13 13:45:19 -07:00
Jingning Han
ca0625ff31 Return rate and distortion cost values from non-RD mode decision
This commit allows the non-RD mode decision process to return the
rate and distortion costs associated with the selected mode.

Change-Id: Ibe0f67d323f65839fd9cb0a726c1219bf7b55da9
2014-03-13 12:52:59 -07:00
Jim Bankoski
8e7f37a824 Merge changes Icb5a23d5,I62daa593
* changes:
  vp9_lossless_test tests Renamed with suffix Large
  error_resilience_test renaming -> Suffix Large
2014-03-13 12:10:36 -07:00
Jingning Han
1ff4a5b3a2 Merge "Tune rate-distortion modeling for non-RD mode decision" 2014-03-13 09:14:13 -07:00
Jingning Han
b25e4061e8 Merge "Explicitly assign interp_kernel value in non-RD coding mode" 2014-03-13 09:14:00 -07:00
Jim Bankoski
be52c9da74 vp9_lossless_test tests Renamed with suffix Large
Change-Id: Icb5a23d5931841cb51a0518b3d33f3b1340ef3f8
2014-03-13 06:09:12 -07:00
Jim Bankoski
a0b5ed6730 error_resilience_test renaming -> Suffix Large
Change-Id: I62daa5938c93f0fce0c90ad3b67a2eb590120e38
2014-03-13 06:09:02 -07:00
Jim Bankoski
5d185d107b Merge "datarate_test renaming with suffix large because it is slow." 2014-03-13 06:08:29 -07:00
Deb Mukherjee
954dbb282b Merge "Preliminary code for variance based paritioning" 2014-03-13 04:09:13 -07:00
Dmitry Kovalev
9d8703d5f9 Merge "Renaming vp8_cfg to extra_cfg + cleanup." 2014-03-12 23:30:14 -07:00
Dmitry Kovalev
3dca8ca7af Merge "Renaming mode2txfm_map to intra_mode_to_tx_type_lookup." 2014-03-12 23:29:29 -07:00
Dmitry Kovalev
16c4d96103 Merge "Moving declaration of vp9_encode_frame() to vp9_encodeframe.h." 2014-03-12 23:29:19 -07:00
Yaowu Xu
17256ad763 Revert "With on demand border extension, clamping the MV"
This reverts commit b0fec6ab4a.

Change-Id: I9acd8ee0423f22d92138f11579611ff959331013
2014-03-12 19:40:15 -07:00
Yaowu Xu
acf2eb73e7 Revert "Remove dec_build_inter_predictors() parameters"
This reverts commit 9650b9d72a.

Change-Id: I841c4a4734170fda63469e32adc10703aa4bf0fa
2014-03-12 19:39:59 -07:00
Dmitry Kovalev
06b7b575c1 Moving declaration of vp9_encode_frame() to vp9_encodeframe.h.
Change-Id: I14adfd32622152abdc22c16429db38f6724628a4
2014-03-12 17:29:37 -07:00
Dmitry Kovalev
95aed4a3fa Renaming mode2txfm_map to intra_mode_to_tx_type_lookup.
Change-Id: I9a19eb96907f674e3ce1e573f5dd49f0fbf2ae4f
2014-03-12 17:23:26 -07:00
Jim Bankoski
6505b07537 datarate_test renaming with suffix large because it is slow.
Change-Id: I5cdff078159a379bc48f1d8e249e144c6d27c946
2014-03-12 17:20:16 -07:00
Dmitry Kovalev
286669d50d Cleaning up vp9_cx_iface.c file.
Change-Id: I491fc2330734517c466f62c99b82e46d46b98875
2014-03-12 16:57:15 -07:00
Dmitry Kovalev
a518632cd6 Renaming vp8_cfg to extra_cfg + cleanup.
Change-Id: I9a67dec9c198ce1dca90c086be55ad050c5c6f6c
2014-03-12 15:49:49 -07:00
Dmitry Kovalev
90fed85ce0 Renaming decode_modes_{b, sb}.
decode_modes_b => decode_block
decode_modes_sb => decode_partition

Change-Id: I2a208f5f7bcaa1105f6a2244e37c53b8958c5d76
2014-03-12 15:11:07 -07:00
Deb Mukherjee
e39ecfaa98 Preliminary code for variance based paritioning
Brings back most of Jim's previous patch for choosing
partitioning based on variance while making it compatible
with the current state of the code. Also adds a
nonrd_use_partition() function to recursively encode  for any
arbitrary sb_type decisions within a 64x64 block; and
includes some refactoring.

Currently, when the VAR_BASED_PARTITIONING mode is turned on
for speed 7, there is a 10+% speed-up observed.

Experiments/improvements with this new partitioning method
will be conducted subsequently.

Change-Id: Ie6f43bfbde30583e941f450bf07c3b48828c9571
2014-03-12 15:06:20 -07:00
Alex Converse
6207a38b7d Add missing virtual destructors to tests.
Change-Id: I916b1e646d9fe142d3483039eb6cc72464529832
2014-03-12 14:51:42 -07:00
Alex Converse
5556caf690 Merge "Add an active map test." 2014-03-12 14:35:19 -07:00
Alex Converse
a56546961a Add an active map test.
Change-Id: I641a75dd75cd3c53a20eb4dbceb7a9b70a5a0e4d
2014-03-12 14:34:34 -07:00
Jingning Han
7686c950b5 Tune rate-distortion modeling for non-RD mode decision
This commit adjusts the rate-distortion modeling for non-RD mode
decision. It puts more weights on energy from AC coefficients when
estimating the cost. The coding performance for rtc testset is
improved by 0.72%.

Change-Id: Ifa6ff11311a513ec2b10586589e82a9a21f6c61c
2014-03-12 14:31:59 -07:00
Jingning Han
4e9b0d6cef Explicitly assign interp_kernel value in non-RD coding mode
Assign interp_kernel value in MACROBLOCKD. This will be used to
select prediction filter coefficient sets and generate motion
compensated prediction.

Change-Id: I28c8dfb2dae6566f6939bb328aca5875c94bee65
2014-03-12 14:30:54 -07:00