Dmitry Kovalev
e6fadb5ba8
Merge "Cleaning up vp9_variance_mmx.c."
2014-06-10 17:27:12 -07:00
Dmitry Kovalev
bc93f425d0
Removing two unused TX_SIZE_SEARCH_METHOD members.
...
Change-Id: I33a38bb9f46e7ef509bbbf0cfd7bc3ea5072d022
2014-06-10 11:08:30 -07:00
Dmitry Kovalev
22368479c0
Merge "Removing chessboard_index from SPEED_FEATURES."
2014-06-10 10:53:53 -07:00
Dmitry Kovalev
9636601146
Merge "Removing unused motion_vector_context enum from vp9_encodeframe.c"
2014-06-10 10:53:25 -07:00
Yunqing Wang
70eb862fd3
Merge "Use small transform size in non-rd real-time mode"
2014-06-09 13:07:24 -07:00
Dmitry Kovalev
e0c6507229
Merge "Removing unused tt_activity_measure()."
2014-06-09 10:45:56 -07:00
Yunqing Wang
b04d766800
Use small transform size in non-rd real-time mode
...
In non-rd real-time mode, choosing smaller transform size in
encoding gives better video quality and good speed gain than
choosing larger transform size. This patch set tx size search
method to ALLOW_8X8, which is better than using 4x4 or other
larger sizes.
Borg tests on rtc set at speed 6 showed significant gain on quality.
PSNR gain: 11.034% and SSIM gain: 15.466%.
The speed gain is 5% - 12% for <720p clips, and 2% - 7% for
720p clips.
Change-Id: If4dc74ed2df359346b059f47fb73b4a0193ec548
2014-06-09 08:26:50 -07:00
Adrian Grange
61c4295af8
Merge "Fix internal stats printing"
2014-06-09 07:13:20 -07:00
Adrian Grange
b447b9d978
Merge "Revert "Removing this_frame_stats member from TWO_PASS struct.""
2014-06-06 14:03:52 -07:00
Adrian Grange
a4f747921a
Revert "Removing this_frame_stats member from TWO_PASS struct."
...
Use of stack frame variable "fps" beyond the lifetime of the function.
fps is sent as a paremeter to output_stats and stored in the
packet holding this encoded frame. This has scope beyond the
lifetime of the calling function.
This reverts commit 3f95a230c7
Change-Id: Icd8e14b3d7dd733590ada12e619b9dce95b6b0f5
2014-06-06 12:51:56 -07:00
Dmitry Kovalev
5f72de91a8
Merge "Adding encode_tiles() function."
2014-06-06 10:03:18 -07:00
Dmitry Kovalev
923c30a174
Removing chessboard_index from SPEED_FEATURES.
...
This is not a speed feature, adding inline function instead.
Change-Id: Ia48c41802eec9e92cf990339d724097279695c9a
2014-06-05 18:17:54 -07:00
Dmitry Kovalev
31403fd7d7
Adding encode_tiles() function.
...
Change-Id: Ib8187c8f2556e1e9268b0683cd2b6ff3489f0205
2014-06-05 18:03:40 -07:00
Deb Mukherjee
e219622b80
Fixes qindex for first frame in 1-pass cq/q modes
...
Produces sane qindex for the first frame in 1-pass constant and
constrained qualirty modes.
Change-Id: Ib2a5091df15a23489e9bb5534a2019cf2689755e
2014-06-05 12:29:44 -07:00
Adrian Grange
323b85088d
Fix internal stats printing
...
Change-Id: I61bd0b127164a591b1c983bfcebd64ba7617f796
2014-06-05 08:01:40 -07:00
Dmitry Kovalev
580d72d3ea
Removing unused tt_activity_measure().
...
Change-Id: Ifcb46e6904730d14b9ef76b648b4d0dc3cd5d0c5
2014-06-04 17:11:30 -07:00
Dmitry Kovalev
8567739396
Removing unused motion_vector_context enum from vp9_encodeframe.c
...
The same enum defined and used in vp9_mvref_common.c.
Change-Id: I3975103997797add0a258d36c96d20ac9561a73d
2014-06-04 17:03:10 -07:00
Dmitry Kovalev
b62ce36ea5
Removing unused alt_freq field from VP9EncoderConfig.
...
Change-Id: I9b683c8647a864e74073161f4aa6f2911b7825e3
2014-06-04 17:02:13 -07:00
Dmitry Kovalev
4a26b240bc
Using 2 instead of 3 elements for avg_frame_qindex array.
...
The third array element was unused. 2 elements now: key- and interframe.
Change-Id: I5b8b9f5d889cc96a204cedfc432059293256298e
2014-06-03 19:45:13 -07:00
Dmitry Kovalev
3a1625614d
Merge "Removing lossless field from VP9EncoderConfig."
2014-06-03 16:46:22 -07:00
Jingning Han
a808dfe3f2
Merge "Fix potential overflow issue in SSSE3 forward 8x8 2D-DCT"
2014-06-03 16:43:49 -07:00
Jingning Han
540d910350
Fix potential overflow issue in SSSE3 forward 8x8 2D-DCT
...
The SSSE3 implementation might find a potential overflow issue in
its second 1-D transform, if all input residual pixels are close to
255. This commit fixes the issue and re-enables the unit test on
the SSSE3 version.
Change-Id: I0520478abdab7afd3ff2842516bec951111e9b3c
2014-06-03 14:21:47 -07:00
Dmitry Kovalev
1cdc238902
Adding buffer levels to RATE_CONTROL struct.
...
Change-Id: Ib35ff854378764dc3c6745844c67a33dee545663
2014-06-03 13:56:46 -07:00
Dmitry Kovalev
bd0bb363bd
Removing lossless field from VP9EncoderConfig.
...
Right now there is just one place to check: xd->lossless and for the first
pass there is a function is_lossless_requested().
Change-Id: I949a6834e64ce51e422e2892f097f2b871b5429a
2014-06-03 12:52:49 -07:00
Dmitry Kovalev
6cf3d68fe5
Cleaning up accumulate_frame_motion_stats().
...
Change-Id: I9986f3fd23c5e0677068af768eae0def3db9782f
2014-06-03 10:36:29 -07:00
Dmitry Kovalev
7106f709fc
Merge "Cleaning up full_pixel_search()."
2014-06-03 10:22:35 -07:00
Dmitry Kovalev
ebd4e47aa6
Merge "Moving first pass related functions to vp9_firstpasss.c."
2014-06-03 10:05:38 -07:00
Dmitry Kovalev
19c492a749
Merge "Reusing existing vp9_get{8x8, 16x16}var() instead of new ones."
2014-06-03 10:04:27 -07:00
Paul Wilkins
090d07984f
Fix AQ mode 2 bug where delta causes Q 0.
...
In Aq mode 2 for kf/arf/gf the segment q delta
is calculated and then applied by re-quantization without
going through the rd loop again. If the base Q != 0
but the segment Q == 0 (lossless) this can could give rise
to a situation where we have an illegal combination of
transform size and Q. (Q == 0 requires that all blocks
are coded 4x4 WHT).
Change-Id: I241a58c6494ed442e9e4630070b0cde0fb99ae45
2014-06-03 13:31:32 +01:00
Deb Mukherjee
81c2fcccbc
Merge "Remove Wextra warnings from vp9_sad.c"
2014-06-02 22:39:17 -07:00
Alex Converse
04a8980c65
Merge "Remove an attempt to handle SEG_LVL_SKIP sub8x8."
2014-06-02 18:50:40 -07:00
Deb Mukherjee
fc88292ef2
Remove Wextra warnings from vp9_sad.c
...
As a side-effect, the sad unit tests for VP8 and VP9
had to be separated.
Fixes a bug in original patch:
(https://gerrit.chromium.org/gerrit/#/c/70163/8 )
that was reverted due to a nightly test failure.
Change-Id: Ia2a4e9e278fd3c89d6c3c82fcc6381320ec2a8a6
2014-06-02 13:50:20 -07:00
Yaowu Xu
f13c99562c
Merge "seeing a 10x slowing down, revert now for investigation"
2014-06-02 09:02:32 -07:00
Yaowu Xu
dbfc3692eb
seeing a 10x slowing down, revert now for investigation
...
Revert "Fix a problem of using an uninitialized parameter"
This reverts commit 538af7db5f
Change-Id: I071aa9b7068ef515abb8ae9584df15067706ccb5
2014-06-02 09:02:19 -07:00
Frank Galligan
c40a968e13
Merge "Revert "Remove Wextra warnings from vp9_sad.c""
2014-06-01 16:58:11 -07:00
Frank Galligan
0b44988952
Revert "Remove Wextra warnings from vp9_sad.c"
...
This reverts commit 916550428d
Change-Id: I500822b03f09c64ff6ec5396c68edee9ca3b75cb
2014-06-01 16:20:26 -07:00
Dmitry Kovalev
5132e6da1a
Merge "Converting disable_inter_mode_mask to inter_mode_mask."
2014-05-31 00:08:45 -07:00
Yaowu Xu
2dc7f506d4
Merge "Fix a problem of using an uninitialized parameter"
2014-05-30 11:37:04 -07:00
Dmitry Kovalev
19b5200172
Merge "Removing unused ref_frame_mask local var."
2014-05-30 11:24:25 -07:00
Yaowu Xu
538af7db5f
Fix a problem of using an uninitialized parameter
...
This commit added a call to set speed feature before initializing
motion search, fixed the problem where unintialized search method
is used before its value being set.
Change-Id: I537e4612bf0d00fd6f51396fd222d4b3bd6fde58
2014-05-30 10:18:54 -07:00
Paul Wilkins
d009c2360e
Merge "Re-factor some duplicate code."
2014-05-30 06:14:06 -07:00
Dmitry Kovalev
eccae1de19
Removing unused ref_frame_mask local var.
...
Change-Id: Ie11558c076a0161cc9608788e050b1b16e31c490
2014-05-29 15:03:02 -07:00
Dmitry Kovalev
cf83983b9a
Merge "Consistent names for intra mask flags."
2014-05-29 13:23:31 -07:00
Alex Converse
d30b297c44
Merge "Don't update encoder skip count for SEG_LVL_SKIP."
2014-05-29 12:46:20 -07:00
Dmitry Kovalev
403719963e
Converting disable_inter_mode_mask to inter_mode_mask.
...
Making this consistent with intra mode masks: you need to specify
allowed inter/intra modes to use.
Change-Id: Iaecd28bf79047259707d8e7a59a57bb7b856383e
2014-05-29 12:25:41 -07:00
Dmitry Kovalev
26bdf26ddc
Consistent names for intra mask flags.
...
Change-Id: Ibdd5255d37200fb8a1d50f71a2a49c6089ae21e7
2014-05-29 12:11:02 -07:00
Alex Converse
2a89983999
Remove an attempt to handle SEG_LVL_SKIP sub8x8.
...
SEG_LEVEL_SKIP requires the block size to be at least 8x8. Attempting to
use it on smaller partitions causes the decoder to reject the bitstream.
Change-Id: Ia7188cdf8ae5ac1df6bd29f3f80dbb0610e1f7b1
2014-05-29 12:04:09 -07:00
Dmitry Kovalev
60866b030a
Merge "Making speed checks consistent in set_rt_speed_feature()."
2014-05-29 11:58:42 -07:00
Alex Converse
aaf3765606
Don't update encoder skip count for SEG_LVL_SKIP.
...
This aligns the encoder behavior with the decoder.
Change-Id: Ifa0840e4b07b19309e0bf1d1182498883249ec45
2014-05-29 11:24:03 -07:00
Dmitry Kovalev
e14f900ae3
Merge "Moving itxm_add pointer from MACROBLOCKD to MACROBLOCK."
2014-05-29 11:16:39 -07:00
Dmitry Kovalev
f7ff24cdd0
Reusing existing vp9_get{8x8, 16x16}var() instead of new ones.
...
Change-Id: I87b7c657d8813d7fb383ab519d150c0ffb1dd377
2014-05-29 11:14:06 -07:00
Dmitry Kovalev
d262cda524
Making speed checks consistent in set_rt_speed_feature().
...
Change-Id: Id3d0a49836fe996b806707d29a8130acf9d7ea0e
2014-05-29 11:11:50 -07:00
Yaowu Xu
d553cc10dc
Merge "Fixed a crash windows build"
2014-05-29 08:16:19 -07:00
Yaowu Xu
43414f3f7b
Fixed a crash windows build
...
Change-Id: I58baa1da1f3bfc8a6da454399139fe6a7473ff10
2014-05-28 15:50:50 -07:00
Dmitry Kovalev
ac3d97f124
Cleaning up vp9_variance_mmx.c.
...
Change-Id: I42d83f91e272c92daed604c233f74439fe6307c5
2014-05-28 12:03:55 -07:00
Dmitry Kovalev
39b9731876
Merge "Using 2 instead of 3 elements for last_q array."
2014-05-28 10:57:40 -07:00
Dmitry Kovalev
377950f111
Merge "Removing redundant vp9_zero() call."
2014-05-28 10:55:12 -07:00
Dmitry Kovalev
5023627cb4
Merge "Cleaning up vp9_variance_sse2.c."
2014-05-28 10:50:46 -07:00
Alex Converse
f9501295c9
Merge "Always allow ZEROMV when SEG_LVL_SKIP is on."
2014-05-28 10:19:49 -07:00
Alex Converse
8a69cef042
Merge "Fix the all intra modes mask constant."
2014-05-28 10:19:18 -07:00
Paul Wilkins
15600eb8b8
Merge "Removing this_frame_stats member from TWO_PASS struct."
2014-05-28 08:07:50 -07:00
Paul Wilkins
39c91d84ed
Re-factor some duplicate code.
...
Change-Id: I89a1dbea39c50c7633f746d9c93fec3a289f1b42
2014-05-28 14:15:45 +01:00
Paul Wilkins
8df1b869a2
Merge "Remove brightness weighting in two pass."
2014-05-28 02:04:29 -07:00
Dmitry Kovalev
c7a2e746bf
Cleaning up full_pixel_search().
...
Change-Id: Ie517ac06385133ffb3bbc449d9f23240f245976d
2014-05-27 19:00:53 -07:00
Dmitry Kovalev
edccfcebb2
Using 2 instead of 3 elements for last_q array.
...
Change-Id: I2c6950e7d79fc89c6f97e6dcf47317ef66c453a5
2014-05-27 18:19:19 -07:00
Alex Converse
6fbbb33aaf
Always allow ZEROMV when SEG_LVL_SKIP is on.
...
Change-Id: I6db1dc82f66438ac48f571d2f1a2ac7c39a97a1a
2014-05-27 18:17:17 -07:00
Alex Converse
75d77e36db
Fix the all intra modes mask constant.
...
The new constant expands to 0x3fc00808.
Change-Id: Ib5109e4faf035fe0402b59f8a8d2e412628b9276
2014-05-27 18:17:17 -07:00
Dmitry Kovalev
3f95a230c7
Removing this_frame_stats member from TWO_PASS struct.
...
Change-Id: Id8877fad1f1e88b145e7c40c43174109b9c4f373
2014-05-27 17:09:28 -07:00
Dmitry Kovalev
df6f618079
Removing redundant vp9_zero() call.
...
rd.tx_select_threshes is cleared in encode_frame_internal().
Change-Id: Ie03776a41c585f13b392a9b62d4e91ef26ebeaf0
2014-05-27 16:24:01 -07:00
Yaowu Xu
32228ac13a
Merge "vp9_rdopt.c: Removed 2 unused parameters"
2014-05-27 15:52:50 -07:00
Dmitry Kovalev
1349e8634c
Merge "Converting target_bandwidth to Bit/s at very beginning."
2014-05-27 15:02:21 -07:00
Yaowu Xu
4c9843cbef
vp9_rdopt.c: Removed 2 unused parameters
...
Change-Id: I935ec0e78570ce3d3585f972350e39043eefa30a
2014-05-27 14:45:19 -07:00
Dmitry Kovalev
a789bfec87
Cleaning up vp9_variance_sse2.c.
...
Change-Id: I5ec336848f6489c31cf2b645026fa2025db07466
2014-05-27 13:53:19 -07:00
Yunqing Wang
1f2200080b
Revert "Making vp9_get_sse_sum_{8x8, 16x16} static."
...
This reverts commit e8bbb3d9db
.
Change-Id: Ie368d36fd249d323d859d208609c711f04537bbc
2014-05-27 13:37:08 -07:00
Deb Mukherjee
444f93945b
Merge "Remove Wextra warnings from vp9_sad.c"
2014-05-27 11:54:05 -07:00
Dmitry Kovalev
bf503e5236
Merge "Reusing rd_less_than_thresh() function."
2014-05-27 10:50:55 -07:00
Paul Wilkins
f085d128f7
Remove brightness weighting in two pass.
...
This code dates from the ancient past and
applied an error score weighting based on pixel
brightness. This not seem to be providing any
benefit metrics wise and could be making some
visual issues in dark frames worse.
The field is left in place in the FIRSTPASS_STATS data
structure in this patch, pending changes to unit tests that
use a pre-defined first pass file.
Change-Id: Id50f04205230234858e7548ce523f11acaf3567d
2014-05-27 13:27:49 +01:00
Paul Wilkins
debd048531
Merge "Further first pass allocation changes."
2014-05-25 14:48:36 -07:00
Paul Wilkins
620ce56154
Merge "Re-factor bit allocation in first pass."
2014-05-25 14:47:35 -07:00
Dmitry Kovalev
3fff4bd2df
Converting target_bandwidth to Bit/s at very beginning.
...
Change-Id: I1d8c9fe4228e2f1ef67a66883694842a9545e7b9
2014-05-23 18:11:07 -07:00
Dmitry Kovalev
d7d7cedaaa
Merge "Removing vp9_pragmas.h."
2014-05-23 12:58:00 -07:00
Paul Wilkins
1edbaeb09d
Further first pass allocation changes.
...
Further changes to first pass allocation for gf/arf groups.
Three variables removed from TWO_PASS structure as only
now used locally. Dont adjust gf_group_bits in the post
encode update as this will no longer have any effect.
Change-Id: Iff89b225db923fc856f5d2aedbc899f1d7d68b55
2014-05-23 20:21:25 +01:00
Alex Converse
52b32ad025
Merge "Use offset mode info when filling pc tree."
2014-05-23 10:19:13 -07:00
Alex Converse
7c8479acea
Merge "Always partition check after keyframe (rt speed 5)"
2014-05-23 10:19:03 -07:00
Paul Wilkins
03eb06212a
Re-factor bit allocation in first pass.
...
Restructuring to allocate the bits for each frame in
a GF group at the time the group is defined.
At the moment the allocation closely mirrors what
we had before.
Also changes the default rate adjustment method to
LONG_TERM_VBR_CORRECTION.
Change-Id: Ie5793c46c6b9c888cead5d8790792efd7d60b7c1
2014-05-23 18:01:54 +01:00
Deb Mukherjee
916550428d
Remove Wextra warnings from vp9_sad.c
...
As a side-effect, the sad unit tests for VP8 and VP9
had to be separated.
Change-Id: I068cc2391eed51e9b140ea6aba78338c5fec8d71
2014-05-22 22:21:16 -07:00
Dmitry Kovalev
d1ad3b678b
Merge "Adding several consts to assign_std_frame_bits()."
2014-05-22 19:26:39 -07:00
Alex Converse
b9c24dfa23
Always partition check after keyframe (rt speed 5)
...
Prevents too small partitions from being copied to the next frame.
Change-Id: I4b97c30b27d06051574d54aaaca5434407a0c9ff
2014-05-22 16:51:06 -07:00
Alex Converse
80e5326cf2
Use offset mode info when filling pc tree.
...
Use the appropriate subblock offset mode info rather than the parent
block base, when filling mbmi in the pc tree in nonrd_use_partition.
This mimics what is done in the vertical case and what is done for
both cases in nonrd_pick_partition.
This change has little practical effect at the moment since in speed 5
rt horizontal and vertical partitions are currently only used unpaired
at edges of the picture.
Change-Id: I4632f66ca84086dac56c7d36b45ddbe38a06f42a
2014-05-22 16:24:40 -07:00
Deb Mukherjee
701d907f3a
Fix for missing initialization of ratectrl vars
...
Initializes total_actual_bits and total_target_bits to 0
Change-Id: Ia50d3bf5df765146a44aa1f6045e73367ccf50df
2014-05-22 15:51:41 -07:00
Tom Finegan
00fbdc159b
Merge "vp9_ratectrl.c: Fix MSVC warnings."
2014-05-22 15:16:01 -07:00
Dmitry Kovalev
639e16ee00
Merge "Cleaning up vp9_init_second_pass()."
2014-05-22 14:49:33 -07:00
Tom Finegan
4205b51d51
vp9_ratectrl.c: Fix MSVC warnings.
...
Change-Id: I4bd635949240880ced5f581c24e981ccd0374e40
2014-05-22 14:44:37 -07:00
Dmitry Kovalev
59948cc343
Merge "Cleaning up calculate_section_intra_ratio()."
2014-05-22 13:49:28 -07:00
Deb Mukherjee
cebb03c39b
Merge "Adjust cq_level in constrained quality mode"
2014-05-22 13:49:17 -07:00
Dmitry Kovalev
72ab966d5e
Removing vp9_pragmas.h.
...
Change-Id: I9120a87e27e73e496932d11716937e2fad246521
2014-05-22 13:46:31 -07:00
Dmitry Kovalev
f738895099
Merge "Cleaning up calc_frame_boost()."
2014-05-22 13:05:23 -07:00
Dmitry Kovalev
b2be554351
Cleaning up vp9_init_second_pass().
...
modified_error_total from TWO_PASS struct is not required anymore.
Change-Id: I0e07cac1e6d1b6a78418116be725bcd72bfbd847
2014-05-22 13:04:43 -07:00
Deb Mukherjee
b59b324171
Merge "Renames x86_64 specific asm files"
2014-05-22 12:30:38 -07:00
Deb Mukherjee
53f1452f5d
Adjust cq_level in constrained quality mode
...
If we are already saving a lot in bits from the target (maximum)
bitrate in the constrained quality mode, allow the quantizer
to go lower than the cq level. This hopefully will solve issues
with getting too low a bitrate and consequently poor quality for
certain videos in cq mode.
Change-Id: I1c4e8b0171fcf58f95198b3add85eea5f3c8f19f
2014-05-22 12:19:55 -07:00
Dmitry Kovalev
0a6e42c241
Adding several consts to assign_std_frame_bits().
...
Change-Id: I6c27c60f7192b1b397f01882ab68a68cdf767534
2014-05-22 12:17:18 -07:00
Dmitry Kovalev
6e6f5881d8
Merge "Cleaning up calculate_modified_err()."
2014-05-22 12:09:48 -07:00
Dmitry Kovalev
da39b6a1af
Cleaning up calc_frame_boost().
...
Change-Id: I3ba9374de96dc31fb4e736742603ef988d8aaa5f
2014-05-22 12:07:14 -07:00
Dmitry Kovalev
b8a65127ae
Cleaning up calculate_section_intra_ratio().
...
Addition of reset_fpf_position() call fixes previous issue with this patch.
Change-Id: I356186d5a1032297a147194e81e9c7db252d14a6
2014-05-22 11:38:02 -07:00
Paul Wilkins
56966ea8ce
Merge "Revert "Cleaning up calculate_section_intra_ratio().""
2014-05-22 10:39:04 -07:00
Yaowu Xu
04cf82fb04
Merge "Enable various thresholds of motion detection"
2014-05-22 09:09:42 -07:00
Paul Wilkins
74a919a239
Revert "Cleaning up calculate_section_intra_ratio()."
...
Breaks rate control completely.
This reverts commit 9067b293b3
.
Change-Id: I8f89e209cf7bd607f7de5c4872adcd57a9c5c72b
2014-05-22 14:30:41 +01:00
Deb Mukherjee
e272273443
Renames x86_64 specific asm files
...
Renames all x86_64 specific assembly files to consistently
end in _x86_64.asm. This will be useful for build systems to
handle these files differently.
All new 64-bit specific assembly files should use the new
naming convention.
Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
2014-05-21 13:55:56 -07:00
Dmitry Kovalev
7b3136c8d7
Moving first pass related functions to vp9_firstpasss.c.
...
Change-Id: I7ce717badf098d1dad14cb6677c0f811057f4bb1
2014-05-21 12:45:32 -07:00
Dmitry Kovalev
508cd5a6bf
Reusing rd_less_than_thresh() function.
...
Change-Id: I29df10fde86128467f5e99fc373ac04f004257e1
2014-05-21 12:20:07 -07:00
Yaowu Xu
3bda7ec1ba
Enable various thresholds of motion detection
...
This commit changed to enable the encoder to adjust motion dection
speed threshold based on picture size. In addition, cpu-used 1 now
does a partition search every other frame instead of every third
frame for low resolution inputs.
The change has no quality/speed impact for 720p and above. Test
showed the change increase encoding time by between 3% to 6% for
cpu-used 2 encodiong of 360p sequences. It also has a compression
gain about .3%.
For cpu-used 2, the change resolved some very disturbing visual
artifacts in certain sequences when large block partitionings and
transforms are used as a result of copying the partition from a
previous frame.
Change-Id: Ic7fd22508cdb811d4ca935655adbf20109286cfa
2014-05-21 12:08:56 -07:00
Dmitry Kovalev
35a83677a5
Moving itxm_add pointer from MACROBLOCKD to MACROBLOCK.
...
The final goal is eventually to get rid of both itxm_add and fwd_txm4x4.
This patch does it in the decoder.
Change-Id: Ibb3db57efbcbb1ac387c6742538a9fcf2c6f24a5
2014-05-21 11:09:44 -07:00
Dmitry Kovalev
3971967c0b
Merge "Cleaning up calculate_section_intra_ratio()."
2014-05-21 10:35:01 -07:00
Jingning Han
d8b26caa71
Merge "Adjust the forward 16x16 DCT computation steps"
2014-05-21 09:16:04 -07:00
Dmitry Kovalev
9067b293b3
Cleaning up calculate_section_intra_ratio().
...
Change-Id: I3258b789ce8c59fdfeaaca1acb9638b565e82a2a
2014-05-20 19:24:01 -07:00
Dmitry Kovalev
55c52f6626
Merge "Cleaning up vp9_twopass_postencode_update()."
2014-05-20 18:41:14 -07:00
Dmitry Kovalev
68ec479eb6
Merge "Replacing int_mv with MV."
2014-05-20 18:40:34 -07:00
Dmitry Kovalev
1a96edd891
Merge "Hiding struct diff in *.c file."
2014-05-20 18:32:30 -07:00
Deb Mukherjee
ef750d8472
Merge "Extends temporal filtering to work for 422 data"
2014-05-20 16:31:28 -07:00
Deb Mukherjee
a185bc3350
Extends temporal filtering to work for 422 data
...
This is needed for profiles 1 and 2.
Change-Id: I5dd7644c2932d055ab89e050d4be7d4117cd1028
2014-05-20 15:19:40 -07:00
Dmitry Kovalev
3b62aa4825
Cleaning up vp9_twopass_postencode_update().
...
Change-Id: Id79138f2dd472ee95c784b0eb2781d4037c51dd8
2014-05-20 14:44:02 -07:00
Dmitry Kovalev
f82ae7980b
Cleaning up calculate_modified_err().
...
Change-Id: I87bb1876f8a04ef28cb7135b657815e12f2f31cb
2014-05-20 14:22:10 -07:00
Minghai Shang
7af3440268
[spatial svc] Remove some restrictions that are needed to improve the quality
...
Change-Id: I76a48b03388a8c5cc74b871deb836cd92263b306
2014-05-20 11:16:45 -07:00
Paul Wilkins
e9ed051c83
Merge "Cosmetic clean up."
2014-05-20 02:34:56 -07:00
Yunqing Wang
f4f5de0027
Merge "Add static-threshold skipping in non-rd mode"
2014-05-19 13:01:29 -07:00
Jingning Han
7f547336b7
Adjust the forward 16x16 DCT computation steps
...
This commit adjusts the forward 16x16 DCT computation steps to
simplify the register level operations. It fixes the corresponding
sse2 version accordingly.
Change-Id: I72a9c25b8ca9442fc5e113f47cd701ae55aa7f08
2014-05-19 12:39:26 -07:00
Yunqing Wang
b91b146d1d
Add static-threshold skipping in non-rd mode
...
Added a skipping test in non-rd inter-mode. After interpolation
prediction step, the residuals are tested to see if they will be
quantized to 0 based on modeling between spatial domain and
frequency domain.
Set static-thresh to 800 for >=720p and 300 for <720p, rtc set
tests showed
1. Speed 5, psnr: -0.514%; ssim: -1.748%;
speedup on related clips: 5% -11%
2. Speed 6, psbr: -0.628%; ssim: -1.637%;
speedup on related clips: 4% - 9%
Change-Id: I62fbf26bc043ecd2b584f255f1a4ee5ab52bfcf3
2014-05-19 11:47:13 -07:00
Dmitry Kovalev
81e03394d6
Replacing int_mv with MV.
...
Change-Id: Icd7eea20e944e3e28e5eb20cdc088866a54d53b4
2014-05-19 11:43:07 -07:00
Yaowu Xu
0249531bb9
Merge "Remove unused varables"
2014-05-19 11:28:33 -07:00
Dmitry Kovalev
0271c75afe
Hiding struct diff in *.c file.
...
Change-Id: Ia0dc05e530428af9ab5aa57e24f1115b0b4765d3
2014-05-19 11:19:21 -07:00
Dmitry Kovalev
f80bd43bf8
Removing unused members from PICK_MODE_CONTEXT struct.
...
Change-Id: Ieb3bc037a2ae7791323a0f9cec04381ba9b0c795
2014-05-19 10:41:58 -07:00
Dmitry Kovalev
9ef3347b85
Merge "Cleaning up vp9_pick_inter_mode()."
2014-05-19 10:29:42 -07:00
Dmitry Kovalev
05d55026f7
Merge "Reusing swap_block_ptr() function."
2014-05-19 10:28:51 -07:00
Dmitry Kovalev
a822a2a566
Merge "Removing unused fields from twopass_rc struct."
2014-05-19 10:27:47 -07:00
Dmitry Kovalev
c23c613fdf
Merge "Hiding vp9_sub_pel_filters_{8, 8s, 8lp} filters in *.c file."
2014-05-19 10:27:16 -07:00
Yaowu Xu
d83295f2e1
Merge "Add a TODO"
2014-05-19 08:37:47 -07:00
Paul Wilkins
f07a96fdc1
Cosmetic clean up.
...
Use type TWO_PASS instead of "struct twopass".
Change-Id: I9d92920893bd436537b2ca19e9c9d355cca56c7c
2014-05-19 11:14:02 +01:00
Dmitry Kovalev
b043c3e081
Merge "Moving PC_TREE from MACROBLOCK to VP9_COMP."
2014-05-16 22:46:45 -07:00
Yaowu Xu
c03ae7d99f
Add a TODO
...
Change-Id: I16bf93d40e9b345705b49bf09dd4b6996b513a83
2014-05-16 12:48:38 -07:00
Dmitry Kovalev
51545f5753
Moving PC_TREE from MACROBLOCK to VP9_COMP.
...
Because PC_TREE is encoder-level data, not MACROBLOCK-level data.
Change-Id: I4f620c0781acd3a2744860610117e74948e0b2b5
2014-05-16 10:17:13 -07:00
Dmitry Kovalev
79ba41903f
Removing MACROBLOCKD dependency from loop filter.
...
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
2014-05-16 09:48:26 -07:00
Yaowu Xu
3316e2654f
Remove unused varables
...
Change-Id: Ieb508d97026d624e853c2cd61b1ddf3591bf8233
2014-05-15 18:49:53 -07:00
Yaowu Xu
7fc5e74232
Reuse precalculated result
...
Change-Id: Iff9efff6c9cb41f833cee40eae014bd4489a87d0
2014-05-15 18:40:13 -07:00
Dmitry Kovalev
619e6b539a
Merge "Removing redundant "8x8" suffix from MODE_INFO vars."
2014-05-15 17:53:31 -07:00
Yaowu Xu
8ea9f1dad7
Merge "vp9_rdopt.c: cleanup -wextra warnings"
2014-05-15 17:44:54 -07:00
Yaowu Xu
1e4a7c111b
Merge "vp9_tokenize.c: cleanup -wextra warnings"
2014-05-15 17:36:18 -07:00
Yaowu Xu
2fd79c7a37
Merge "vp9_firstpass.c: clean -wextra warnings"
2014-05-15 15:20:50 -07:00
Yaowu Xu
8989e83341
Merge "vp9_pickmode.c: cleanup -wextra warnings"
2014-05-15 14:51:51 -07:00
Jim Bankoski
ec82d2dfec
Merge "Revert "Remove Wextra warnings from vp9_sad.c""
2014-05-15 11:54:23 -07:00
Yunqing Wang
c661cf0dad
Merge "AVX2 To VP9 Block Error Optimization"
2014-05-15 11:29:29 -07:00