Yaowu Xu [Tue, 20 May 2014 18:36:44 +0000 (11:36 -0700)]
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
Yaowu Xu [Mon, 19 May 2014 15:37:47 +0000 (08:37 -0700)]
Merge "Add a TODO"
Dmitry Kovalev [Sat, 17 May 2014 05:46:45 +0000 (22:46 -0700)]
Merge "Moving PC_TREE from MACROBLOCK to VP9_COMP."
Johann [Sat, 17 May 2014 01:32:39 +0000 (18:32 -0700)]
Merge "vp8: Add increase_denoising parameter to denoiser."
Dmitry Kovalev [Fri, 16 May 2014 23:57:22 +0000 (16:57 -0700)]
Merge "Removing MACROBLOCKD dependency from loop filter."
Johann [Fri, 16 May 2014 23:48:49 +0000 (16:48 -0700)]
Merge "Correct HAVE_NEON_ASM define"
Marco Paniconi [Fri, 16 May 2014 21:32:04 +0000 (14:32 -0700)]
vp8: Add increase_denoising parameter to denoiser.
Change-Id: I96ed73e109c4f89dd06f3583cf7ecf9277401fae
Yaowu Xu [Fri, 16 May 2014 14:39:55 +0000 (07:39 -0700)]
Add a TODO
Change-Id: I16bf93d40e9b345705b49bf09dd4b6996b513a83
Dmitry Kovalev [Thu, 15 May 2014 19:01:34 +0000 (12:01 -0700)]
Moving PC_TREE from MACROBLOCK to VP9_COMP.
Because PC_TREE is encoder-level data, not MACROBLOCK-level data.
Change-Id: I4f620c0781acd3a2744860610117e74948e0b2b5
Dmitry Kovalev [Fri, 16 May 2014 16:48:26 +0000 (09:48 -0700)]
Removing MACROBLOCKD dependency from loop filter.
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
Dmitry Kovalev [Fri, 16 May 2014 16:45:51 +0000 (09:45 -0700)]
Merge "Removing redundant decoder_init flag."
Adrian Grange [Fri, 16 May 2014 16:01:41 +0000 (09:01 -0700)]
Merge "Fix post-processor macros & remove vizualization"
Johann [Fri, 16 May 2014 15:14:18 +0000 (08:14 -0700)]
Correct HAVE_NEON_ASM define
These optimizations are currently disabled.
Change-Id: I19c58c9cb82d017638b86196641b9e001dfa798b
Johann [Fri, 16 May 2014 14:33:52 +0000 (07:33 -0700)]
Merge "Remove intermediate step in vp8_dequantize_b"
Yaowu Xu [Fri, 16 May 2014 14:07:47 +0000 (07:07 -0700)]
Merge "cleanup -wextra warnings:"
Yaowu Xu [Fri, 16 May 2014 14:07:18 +0000 (07:07 -0700)]
Merge "Reuse precalculated result"
Yaowu Xu [Fri, 16 May 2014 01:40:13 +0000 (18:40 -0700)]
Reuse precalculated result
Change-Id: Iff9efff6c9cb41f833cee40eae014bd4489a87d0
Yaowu Xu [Tue, 13 May 2014 16:32:18 +0000 (09:32 -0700)]
set_map.c: cleanup -wextra warnings
The commit changed to use memset for initialiazation of non-trivial
strucutures, where initialization using {0} caused warnings. Also,
removed {0} initializations where appropriate initialization calls
are in place.
Change-Id: Ifd03e34aa80688e382124eb889c0fc1ec43c48e6
Dmitry Kovalev [Fri, 16 May 2014 00:53:31 +0000 (17:53 -0700)]
Merge "Removing redundant "8x8" suffix from MODE_INFO vars."
Yaowu Xu [Fri, 16 May 2014 00:44:54 +0000 (17:44 -0700)]
Merge "vp9_rdopt.c: cleanup -wextra warnings"
Yaowu Xu [Fri, 16 May 2014 00:36:18 +0000 (17:36 -0700)]
Merge "vp9_tokenize.c: cleanup -wextra warnings"
Yaowu Xu [Tue, 13 May 2014 17:28:47 +0000 (10:28 -0700)]
cleanup -wextra warnings:
vp9_decoder.c
vp9_dthread.c
Change-Id: Iaafe941545db98e9e3559096a955894646084ac2
Yaowu Xu [Thu, 15 May 2014 22:20:50 +0000 (15:20 -0700)]
Merge "vp9_firstpass.c: clean -wextra warnings"
Dmitry Kovalev [Thu, 15 May 2014 22:02:07 +0000 (15:02 -0700)]
Merge "Removing unused img_setup field."
Dmitry Kovalev [Thu, 15 May 2014 21:59:15 +0000 (14:59 -0700)]
Removing redundant decoder_init flag.
Change-Id: Ieee7a7e3c40d6bcc9fa4df8d10ee9620995aa691
Yaowu Xu [Thu, 15 May 2014 21:51:51 +0000 (14:51 -0700)]
Merge "vp9_pickmode.c: cleanup -wextra warnings"
Johann [Thu, 15 May 2014 19:26:24 +0000 (12:26 -0700)]
Merge "Build armv7a-only code"
Jim Bankoski [Thu, 15 May 2014 18:54:23 +0000 (11:54 -0700)]
Merge "Revert "Remove Wextra warnings from vp9_sad.c""
Yunqing Wang [Thu, 15 May 2014 18:29:29 +0000 (11:29 -0700)]
Merge "AVX2 To VP9 Block Error Optimization"
Yaowu Xu [Tue, 13 May 2014 16:52:05 +0000 (09:52 -0700)]
vp9_firstpass.c: clean -wextra warnings
Change-Id: Ic488fe6edbc119f475763d72a85809499df60106
Yaowu Xu [Tue, 13 May 2014 16:39:25 +0000 (09:39 -0700)]
vp9_pickmode.c: cleanup -wextra warnings
Change-Id: I07e39f04fb11d2673722651fc78d0e9d22b1f557
Yaowu Xu [Tue, 13 May 2014 18:18:25 +0000 (11:18 -0700)]
vp9_rdopt.c: cleanup -wextra warnings
Change-Id: I1f87c689cad2224181d40a7d00f5c1064ceefa4b
Dmitry Kovalev [Wed, 14 May 2014 19:14:02 +0000 (12:14 -0700)]
Removing redundant "8x8" suffix from MODE_INFO vars.
Change-Id: I7ed7fecc959c6598ff98895f1a5cf7e11ac1615f
hkuang [Thu, 15 May 2014 17:51:10 +0000 (10:51 -0700)]
Merge "Refactor calling loopfilter code."
hkuang [Wed, 14 May 2014 18:48:58 +0000 (11:48 -0700)]
Refactor calling loopfilter code.
This change is mainly for a follow CL that will refactor the
decode_tiles.
Change-Id: I52de6f8dbada75a64d9a94ebb5975136ed0960b4
Adrian Grange [Wed, 14 May 2014 23:05:21 +0000 (16:05 -0700)]
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
Jim Bankoski [Thu, 15 May 2014 15:31:20 +0000 (08:31 -0700)]
Revert "Remove Wextra warnings from vp9_sad.c"
This reverts commit
7ab9a9587b96db4edce6be916c1f02297a9555ff
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
Yaowu Xu [Thu, 15 May 2014 13:50:51 +0000 (06:50 -0700)]
Merge "vp9_decodeframe.c: cleanup -wextra warnings"
Yaowu Xu [Thu, 15 May 2014 13:50:12 +0000 (06:50 -0700)]
Merge "vp9_ratectrl.c: cleanup -wextra warning"
Paul Wilkins [Thu, 15 May 2014 09:39:22 +0000 (02:39 -0700)]
Merge "Silence unused parameter warnings."
Paul Wilkins [Thu, 15 May 2014 09:39:14 +0000 (02:39 -0700)]
Merge "Clear unused parameter warning."
Yaowu Xu [Thu, 15 May 2014 00:48:33 +0000 (17:48 -0700)]
Merge "vp9_quantizer.c: cleanup -wextra warnings"
Yaowu Xu [Thu, 15 May 2014 00:17:28 +0000 (17:17 -0700)]
Merge "vp9_mbgraph.c: cleanup -wextra warnings"
Dmitry Kovalev [Wed, 14 May 2014 23:47:33 +0000 (16:47 -0700)]
Removing unused img_setup field.
Change-Id: I152e54fa1acceea5ec809d5bf7bfa7f4ef2b9acf
Tom Finegan [Wed, 14 May 2014 22:20:36 +0000 (15:20 -0700)]
Merge "Rename vpx_temporal_scalable_patterns.c"
Dmitry Kovalev [Wed, 14 May 2014 19:38:19 +0000 (12:38 -0700)]
Merge "Moving frame_coef_probs from VP9_COMP to local scope."
Dmitry Kovalev [Wed, 14 May 2014 19:26:48 +0000 (12:26 -0700)]
Merge "Cleaning up vp9_context_tree.c."
Johann [Wed, 14 May 2014 18:33:47 +0000 (11:33 -0700)]
Remove intermediate step in vp8_dequantize_b
With the intrinsics it is no longer necessary to have a stub/helper
function.
Change-Id: I3695961c3c94f1bb750d3b7b29716e509ebba482
Johann [Tue, 13 May 2014 21:17:02 +0000 (14:17 -0700)]
Build armv7a-only code
Allow disabling the more generic NEON code.
Use filtered option to disable rtcd code.
Change-Id: Icb4500c1a2bac16eed3c5e3ec0c35e92e6bbbb9f
levytamar82 [Wed, 23 Apr 2014 05:40:48 +0000 (22:40 -0700)]
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
Johann [Wed, 14 May 2014 18:30:25 +0000 (11:30 -0700)]
Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 06" This reverts commit
81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9. Revert "VP8 for ARMv8 by using NEON intrinsics 15" This reverts commit
727af7cebe3698b8493ba6c1360b0a6606c310fb."
Tom Finegan [Wed, 14 May 2014 18:21:15 +0000 (11:21 -0700)]
Rename vpx_temporal_scalable_patterns.c
New name: vpx_temporal_svc_encoder.c
Also, update comment to note that example supports VP8 and VP9.
Change-Id: I6fffab81296f918ebca740192a5c609593852dff
Marco Paniconi [Wed, 14 May 2014 18:00:56 +0000 (11:00 -0700)]
Merge "Revert "Revert "Remove struct params from vp8_denoiser_filter"""
Marco Paniconi [Wed, 14 May 2014 17:55:53 +0000 (10:55 -0700)]
Revert "Revert "Remove struct params from vp8_denoiser_filter""
This reverts commit
06e6d56fa138d84759e8bdfd4c721ead000051b4
Change-Id: If95598385b693945d6b144d03b6da8f6a57dac98
Jingning Han [Wed, 14 May 2014 17:50:11 +0000 (10:50 -0700)]
Merge "Tune minq index table for P frames in one_pass_cbr coding mode"
Yaowu Xu [Tue, 13 May 2014 18:10:13 +0000 (11:10 -0700)]
vp9_ratectrl.c: cleanup -wextra warning
Change-Id: I7ca46fa26acd80a21210cb8d9584ad812cb995bf
Yaowu Xu [Tue, 13 May 2014 17:44:40 +0000 (10:44 -0700)]
vp9_tokenize.c: cleanup -wextra warnings
Change-Id: I85854f1ab2d60feea0bfe6b2141f89a998777ecb
Paul Wilkins [Wed, 14 May 2014 17:08:30 +0000 (10:08 -0700)]
Merge "Fix int compared to unsigned int warnings."
Paul Wilkins [Wed, 14 May 2014 17:08:11 +0000 (10:08 -0700)]
Merge "Simplify 2 pass KF bitrate allocation"
Paul Wilkins [Wed, 14 May 2014 17:07:51 +0000 (10:07 -0700)]
Merge "Further two pass clean up."
Deb Mukherjee [Wed, 14 May 2014 17:01:50 +0000 (10:01 -0700)]
Merge "Remove Wextra warnings from vp9_sad.c"
Yaowu Xu [Tue, 13 May 2014 17:07:45 +0000 (10:07 -0700)]
vp9_decodeframe.c: cleanup -wextra warnings
Change-Id: I0315cea6a5e58182bc2556e9825ec2ef0b1480c3
Yaowu Xu [Tue, 13 May 2014 16:56:43 +0000 (09:56 -0700)]
vp9_quantizer.c: cleanup -wextra warnings
Change-Id: If5a3c48a8c554018a5d63c1541a2900f15767a00
Jingning Han [Wed, 14 May 2014 16:25:08 +0000 (09:25 -0700)]
Merge "Silience -wextra warnings in vp9_reconintra.c"
Paul Wilkins [Wed, 14 May 2014 12:07:28 +0000 (13:07 +0100)]
Clear unused parameter warning.
Caused by a parameter which is only used under
#if CONFIG_VP9_POSTPROC.
Change-Id: I2c0979d215d45f56da1a38bb13aa214bde52a640
Yaowu Xu [Tue, 13 May 2014 16:42:08 +0000 (09:42 -0700)]
vp9_mbgraph.c: cleanup -wextra warnings
Change-Id: Ia6e2c2741adbf45f98a447dbb401506f95a2b0c8
Tom Finegan [Wed, 14 May 2014 15:57:39 +0000 (08:57 -0700)]
Merge "Rename vp9_spatial_scalable_encoder."
Tom Finegan [Wed, 14 May 2014 15:57:29 +0000 (08:57 -0700)]
Merge "Add test for the twopass_encoder example."
Tom Finegan [Wed, 14 May 2014 15:57:21 +0000 (08:57 -0700)]
Merge "Add test for the resize_util example."
Paul Wilkins [Wed, 14 May 2014 12:50:51 +0000 (13:50 +0100)]
Silence unused parameter warnings.
The various motion search functions share a
common function prototype. In the case of
vp9_full_range_search() two of the parameters
are not needed.
Change-Id: I0e190af54a3b3f276409f20e8ec55912f9b0b798
Paul Wilkins [Wed, 14 May 2014 12:27:16 +0000 (13:27 +0100)]
Fix int compared to unsigned int warnings.
Also delete vp9_set_roimap() which is not used in VP9.
Change-Id: I48c60b1dc8794c6a234f9c3d95e2debb7bdb3fd5
Paul Wilkins [Wed, 14 May 2014 15:05:44 +0000 (08:05 -0700)]
Merge "Clean up two unused parameters."
Paul Wilkins [Wed, 14 May 2014 13:06:16 +0000 (14:06 +0100)]
Silence unused parameter warnings.
Remove two unused parameters in the function
vp9_refining_search_8p_c().
Change-Id: Ic192734586291cf5400926eeb8e720e69d40835c
Paul Wilkins [Wed, 14 May 2014 11:59:34 +0000 (12:59 +0100)]
Clean up two unused parameters.
Unused parameters to encode_without_recode_loop()
Change-Id: Ia94ce09199cd2419f26964eb5b53db2b7718cf03
Paul Wilkins [Wed, 14 May 2014 11:06:50 +0000 (12:06 +0100)]
Simplify 2 pass KF bitrate allocation
Simplify the calculation of KF bitrate in similar way
to previous patch for GF/arf.
This has no impact on derf or std hd sets but gives a
small net gain of ~0.1% for yt and yt-hd sets.
Change-Id: Ida64ac1428d9c2a62adb67056fadbf0180eff030
Paul Wilkins [Mon, 12 May 2014 17:07:02 +0000 (18:07 +0100)]
Further two pass clean up.
The variation in boost calculation for gf and arf groups
is not significant enough to justify the extra complexity.
Also removed some other spurious code that no longer
has much material impact.
The handling of the rare case, where the boost bits
number is less than the number of bits a that would
be allocated if a frame was not boosted, will be dealt
with in a subsequent patch.
This change actually helps on all sets a little by
~0.1% - 0.2% with slightly bigger gains on SSIM.
Change-Id: Id42c1ac22a80a8c4993cfa0e51bc733eb9ed4f75
Deb Mukherjee [Tue, 13 May 2014 17:11:42 +0000 (10:11 -0700)]
Remove Wextra warnings from vp9_sad.c
As a side-effect, the max_sad check is removed from the
C-implementation of VP8, for consistency with VP9, and to
ensure that the SAD tests common to VP8/VP9 pass.
That will make the VP8 C implementation of sad a little slower
but given that is rarely used in practice, the impact will be
minimal.
Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
Tom Finegan [Mon, 5 May 2014 18:18:37 +0000 (11:18 -0700)]
Add test for the resize_util example.
Change-Id: I97c052a35a1d54455b91c269fd6a9a094fa3db7f
Dmitry Kovalev [Wed, 14 May 2014 00:20:26 +0000 (17:20 -0700)]
Merge "Moving loopfilter call to vp9_decode_frame()."
Adrian Grange [Tue, 13 May 2014 23:01:38 +0000 (16:01 -0700)]
Merge "vp9_convolve.c: cleanup -wextra warnings"
Tom Finegan [Fri, 9 May 2014 18:11:56 +0000 (11:11 -0700)]
Rename vp9_spatial_scalable_encoder.
Rename it to vp9_spatial_svc_encoder.
Change-Id: I756936039df5bf6bea2d7525a7edeac01df94352
Dmitry Kovalev [Tue, 13 May 2014 22:25:34 +0000 (15:25 -0700)]
Merge "Adding get_tile_buffers() function."
Dmitry Kovalev [Tue, 13 May 2014 22:10:45 +0000 (15:10 -0700)]
Merge "Fixing constant value used to calculate frame pts and duration."
Dmitry Kovalev [Tue, 13 May 2014 22:00:22 +0000 (15:00 -0700)]
Merge "Inlining setup_key_frame() and setup_inter_frame()."
Johann [Tue, 13 May 2014 20:03:20 +0000 (13:03 -0700)]
Revert "VP8 for ARMv8 by using NEON intrinsics 06"
This reverts commit
81ad047ee57ecb0e2c1ee4dcebda54a44ea54ae9.
Revert "VP8 for ARMv8 by using NEON intrinsics 15"
This reverts commit
727af7cebe3698b8493ba6c1360b0a6606c310fb.
This exposes a bug in gcc 4.9 regarding register allocation. Will reland
when 4.9 is fixed.
Change-Id: I2d8a04e4edde93719280e41550f4c0765608ec4d
Jingning Han [Tue, 13 May 2014 18:06:48 +0000 (11:06 -0700)]
Silience -wextra warnings in vp9_reconintra.c
The warning messages complained that there are unused arguments
in a few prediction modes. This structure was designed on purpose,
such that a wrapper function can cover all prediction mode cases
and make them readily accessible as an pointer array.
This commit silences such warnings.
Change-Id: I7036b6bdb70747e5327d8f6fceb154f100abc4c0
Jingning Han [Mon, 12 May 2014 17:55:14 +0000 (10:55 -0700)]
Tune minq index table for P frames in one_pass_cbr coding mode
Allow slightly larger minq-maxq range for P frames. This improves
the compression performance of speed -5 for rtc set by 2.7% in psnr.
Change-Id: I438653d52d0fe51111509c6092e2334bac2de0cf
Tom Finegan [Thu, 8 May 2014 19:05:30 +0000 (12:05 -0700)]
Add test for the twopass_encoder example.
Change-Id: I7b577f2a492e981156f969f8f9e61f9d2156fe60
James Zern [Tue, 13 May 2014 18:44:28 +0000 (11:44 -0700)]
Merge "configure: remove php test"
James Zern [Tue, 13 May 2014 18:43:38 +0000 (11:43 -0700)]
Merge changes Idb8dd5f3,I7743611b
* changes:
vpxenc: add some missing CONFIG_WEBM_IO checks
vpxdec: add some missing CONFIG_WEBM_IO checks
Yaowu Xu [Tue, 13 May 2014 17:35:38 +0000 (10:35 -0700)]
Merge "svc_encodeframe.c: change to use correct type"
Adrian Grange [Tue, 13 May 2014 17:07:36 +0000 (10:07 -0700)]
Merge "Move frame stats output to after update"
Adrian Grange [Tue, 13 May 2014 16:55:41 +0000 (09:55 -0700)]
vp9_convolve.c: cleanup -wextra warnings
Change-Id: I04930aca2293ebbaeb96dfedd2f9c5a55762fd2e
James Zern [Sat, 10 May 2014 18:15:11 +0000 (11:15 -0700)]
configure: remove php test
+ the remnants in the build system & README
the documentation that required php was removed in:
50fa585 Removing examples code generation and making them static.
Change-Id: Ibf00dca9ab2715fc21e8de358807b63d1445662c
James Zern [Sun, 11 May 2014 00:44:12 +0000 (17:44 -0700)]
vpxenc: add some missing CONFIG_WEBM_IO checks
fixes build of this file in the dist directory when using
'--enable-install-srcs'
Change-Id: Idb8dd5f392509e6a6d8a83908e53d161d2036971
James Zern [Sun, 11 May 2014 00:44:12 +0000 (17:44 -0700)]
vpxdec: add some missing CONFIG_WEBM_IO checks
fixes build of this file in the dist directory when using
'--enable-install-srcs'
Change-Id: I7743611bea9e0bddb473777e2e007e6eadebfc1f
Yaowu Xu [Tue, 13 May 2014 00:22:10 +0000 (17:22 -0700)]
svc_encodeframe.c: change to use correct type
Change-Id: I2e97a1d3935944573d027a8020fe1aa391a6f27a
Dmitry Kovalev [Tue, 13 May 2014 00:13:07 +0000 (17:13 -0700)]
Inlining setup_key_frame() and setup_inter_frame().
Change-Id: I6c0f0f91c189c041559f724f4faeada144390353
Dmitry Kovalev [Mon, 12 May 2014 23:19:19 +0000 (16:19 -0700)]
Moving loopfilter call to vp9_decode_frame().
Inline loopfilter has been already handled in vp9_decode_frame().
Collecting all similar code in one place now.
Change-Id: I358a0280fc7c2b27cca520bc1e8c16c4eb6491dd
Yaowu Xu [Mon, 12 May 2014 21:56:54 +0000 (14:56 -0700)]
Merge "vp9_pickmode.c: Removed unused function parameters"