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