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
3b72ed50b4
Merge "Removing decoded_key_frame flag."
2014-05-22 11:55:19 -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
Dmitry Kovalev
e7135a9344
Removing decoded_key_frame flag.
...
Change-Id: I79576920efb7f3f6f197d386727409759d8bda8d
2014-05-21 15:51:40 -07: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
508cd5a6bf
Reusing rd_less_than_thresh() function.
...
Change-Id: I29df10fde86128467f5e99fc373ac04f004257e1
2014-05-21 12:20:07 -07:00
hkuang
0958bbd185
Merge "Fix the memory alignment issue due to patch: https://gerrit.chromium.org/gerrit/#/c/70162/ "
2014-05-21 12:12:21 -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
66ce10c13d
Merge "Deadline is not supported in VP9 decoder, removing it completely."
2014-05-21 10:37:39 -07:00
Dmitry Kovalev
3971967c0b
Merge "Cleaning up calculate_section_intra_ratio()."
2014-05-21 10:35:01 -07:00
hkuang
b9e1e994e1
Fix the memory alignment issue due to patch:
...
https://gerrit.chromium.org/gerrit/#/c/70162/
Change-Id: I797be6a4b21460de6d791125fc20d2be3a35364f
2014-05-21 10:08:06 -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
hkuang
20c1edf612
Refactor decode_tiles and loopfilter code.
...
The current decode_tiles decodes the frame one tile by one tile
and then loopfilter the whole frame or use another worker thread to
do loopfiltering.
|------|------|------|------|
|Tile1-|Tile2-|Tile3-|Tile4-|
|------|------|------|------|
For example, if a tile video has one row and four cols, decode_tiles
will decode the Tile1, then Tile2, then Tile3, then Tile4.
And during decode each tile, decode_tile will decode row by row in
each tile.
For frame parallel decoding, decode_tiles will decode video in row order
across the tiles. So the order will be:
"Decode 1st row of Tile1" -> "Decode 1st row of Tile2"
-> "Decode 1st row of Tile3" -> "Decode 1st row of Tile4"
-> "Decode 2nd row of Tile1" -> "Decode 2nd row of Tile2"
-> "Decode 2nd row of Tile3" -> "Decode 2nd row of Tile4"-> "loopfilter 1st row"
Change-Id: I2211f9adc6d142fbf411d491031203cb8a6dbf6b
2014-05-20 14:47:45 -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
28012a75ae
Merge "Cleaning up vp9_cx_iface.c."
2014-05-19 10:31:19 -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
Dmitry Kovalev
5ac6d9778f
Merge "Making vp9_initialize_dec() static."
2014-05-19 10:27:07 -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
0912ee1718
Cleaning up vp9_cx_iface.c.
...
Marking unused parameters with (void), adding consts, fixing formatting.
Change-Id: I8ac1e6606c0f2673f78bc41830e672a680ffed02
2014-05-16 09:50:23 -07:00
Dmitry Kovalev
79ba41903f
Removing MACROBLOCKD dependency from loop filter.
...
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
2014-05-16 09:48:26 -07:00
Dmitry Kovalev
b334bfc322
Merge "Removing redundant decoder_init flag."
2014-05-16 09:45:51 -07:00
Adrian Grange
9dc9f17814
Merge "Fix post-processor macros & remove vizualization"
2014-05-16 09:01:41 -07:00
Yaowu Xu
13e20b830e
Merge "cleanup -wextra warnings:"
2014-05-16 07:07:47 -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
04c40d3d93
cleanup -wextra warnings:
...
vp9_decoder.c
vp9_dthread.c
Change-Id: Iaafe941545db98e9e3559096a955894646084ac2
2014-05-15 15:59:25 -07:00
Yaowu Xu
2fd79c7a37
Merge "vp9_firstpass.c: clean -wextra warnings"
2014-05-15 15:20:50 -07:00
Dmitry Kovalev
4466e83a22
Merge "Removing unused img_setup field."
2014-05-15 15:02:07 -07:00
Dmitry Kovalev
0fd7fc1370
Removing redundant decoder_init flag.
...
Change-Id: Ieee7a7e3c40d6bcc9fa4df8d10ee9620995aa691
2014-05-15 14:59:15 -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
hkuang
1fe6496b17
Merge "Refactor calling loopfilter code."
2014-05-15 10:51:10 -07:00
hkuang
bf8c58be5a
Refactor calling loopfilter code.
...
This change is mainly for a follow CL that will refactor the
decode_tiles.
Change-Id: I52de6f8dbada75a64d9a94ebb5975136ed0960b4
2014-05-15 10:21:18 -07:00
Adrian Grange
384bc5163c
Fix post-processor macros & remove vizualization
...
Make all post-processor code conditionally
compilable based on the CONFIG_VP9_POSTPROC
macro.
Also, remove the vizualization code from VP9
since it is out of date and will not compile.
Change-Id: I1e9e13a09ecd43e9a3f3704c175ae8cd258ababd
2014-05-15 08:35:36 -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
71854f3a6e
Merge "vp9_decodeframe.c: cleanup -wextra warnings"
2014-05-15 06:50:51 -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
6471dd7648
Removing unused img_setup field.
...
Change-Id: I152e54fa1acceea5ec809d5bf7bfa7f4ef2b9acf
2014-05-14 16:47:33 -07:00
Dmitry Kovalev
39015ea200
Making vp9_initialize_dec() static.
...
Change-Id: I831fe91dfadf4e89f5bbba6ab7a9917d8dd2ed55
2014-05-14 16:33:00 -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
Yaowu Xu
6f35081003
vp9_ratectrl.c: cleanup -wextra warning
...
Change-Id: I7ca46fa26acd80a21210cb8d9584ad812cb995bf
2014-05-14 10:38:04 -07:00
Yaowu Xu
051332a6a4
vp9_tokenize.c: cleanup -wextra warnings
...
Change-Id: I85854f1ab2d60feea0bfe6b2141f89a998777ecb
2014-05-14 10:36:14 -07:00
Paul Wilkins
e6cd696ba2
Merge "Fix int compared to unsigned int warnings."
2014-05-14 10:08:30 -07:00
Paul Wilkins
8628d3a7ae
Merge "Simplify 2 pass KF bitrate allocation"
2014-05-14 10:08:11 -07:00
Paul Wilkins
81bb41fafe
Merge "Further two pass clean up."
2014-05-14 10:07:51 -07:00