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
Yaowu Xu
21bb6ddb57
vp9_firstpass.c: clean -wextra warnings
...
Change-Id: Ic488fe6edbc119f475763d72a85809499df60106
2014-05-15 11:29:15 -07:00
Yaowu Xu
e623056b2e
vp9_pickmode.c: cleanup -wextra warnings
...
Change-Id: I07e39f04fb11d2673722651fc78d0e9d22b1f557
2014-05-15 11:29:03 -07:00
Yaowu Xu
d7227958a7
vp9_rdopt.c: cleanup -wextra warnings
...
Change-Id: I1f87c689cad2224181d40a7d00f5c1064ceefa4b
2014-05-15 11:28:38 -07:00
Dmitry Kovalev
073fbdf7f5
Reusing swap_block_ptr() function.
...
Change-Id: I51ae33fcaaa7330b68493a782ec6ef02539fda71
2014-05-15 11:19:43 -07:00
Dmitry Kovalev
ed784a0bc4
Removing redundant "8x8" suffix from MODE_INFO vars.
...
Change-Id: I7ed7fecc959c6598ff98895f1a5cf7e11ac1615f
2014-05-15 11:14:42 -07:00
Dmitry Kovalev
3181290ee8
Removing unused fields from twopass_rc struct.
...
Change-Id: Iaece070e9d1305ac3d8df9d3431fefa6e20ac0ec
2014-05-15 11:12:45 -07:00
Dmitry Kovalev
be49292ca1
Cleaning up vp9_pick_inter_mode().
...
Change-Id: I21bff31e58e9078b4ffcbd2027cc52366843ff23
2014-05-15 11:10:13 -07:00
Jim Bankoski
a16794dd31
Revert "Remove Wextra warnings from vp9_sad.c"
...
This reverts commit 7ab9a9587b
Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console
Failed
This patch did not address all the assembly issues
some of the vp8 assembly counts on 5 arguments being passed in to this function:
one example : vp8_sad8x16_wmt
Please address or split this into vp9 and vp8 patches.
Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
2014-05-15 08:31:20 -07:00
Yaowu Xu
9a2749fcc6
Merge "vp9_ratectrl.c: cleanup -wextra warning"
2014-05-15 06:50:12 -07:00
Paul Wilkins
8deb0e182b
Merge "Silence unused parameter warnings."
2014-05-15 02:39:22 -07:00
Paul Wilkins
33aeb84c3f
Merge "Clear unused parameter warning."
2014-05-15 02:39:14 -07:00
Yaowu Xu
06496d5508
Merge "vp9_quantizer.c: cleanup -wextra warnings"
2014-05-14 17:48:33 -07:00
Yaowu Xu
882f71e52b
Merge "vp9_mbgraph.c: cleanup -wextra warnings"
2014-05-14 17:17:28 -07:00
Dmitry Kovalev
021eaabdb8
Hiding vp9_sub_pel_filters_{8, 8s, 8lp} filters in *.c file.
...
Change-Id: Id401da740b0a0141caaef9e1bcccd981e5cef4a4
2014-05-14 16:21:41 -07:00
Dmitry Kovalev
86094f22ba
Merge "Moving frame_coef_probs from VP9_COMP to local scope."
2014-05-14 12:38:19 -07:00
Dmitry Kovalev
9b90820c70
Merge "Cleaning up vp9_context_tree.c."
2014-05-14 12:26:48 -07:00
levytamar82
1fbab853c8
AVX2 To VP9 Block Error Optimization
...
vp9_block_error_sse2 can only handle 16 bytes at a time but
the function requires to handle a sequence of 32 bytes at a time
so each 16 bytes is handled in a different register.
With AVX2 optimization the 32 bytes can be handled in one register instead
of two in the SSE2
The vp9_block_error was optimized by 85%.
The user level was optimized by 1.2%
Change-Id: Ia8fffe60e61eff7432a5fbd538757894f6c319fd
2014-05-14 11:51:07 -07:00
Jingning Han
0604c0854c
Merge "Tune minq index table for P frames in one_pass_cbr coding mode"
2014-05-14 10:50:11 -07:00