Marco
619951af97
Merge "vp8: Updates for adaptive denoiser mode."
2014-09-09 10:19:27 -07:00
Marco
0c7a9925d6
vp8: Updates for adaptive denoiser mode.
...
Add qp/bitrate condition, update some settings.
Change-Id: I1af0f102823a886393be063ad9d17d7564753cc7
2014-09-09 09:19:01 -07:00
Jia Jia
395f2e874b
vp8 encoder: remove vp8_yv12_copy_partial_frame_neon
...
Use generic C implementation instead of neon-specific code
Change-Id: Ib322b4ece9cdbd4de76a9eed3d2e9fd1d8542406
2014-09-08 08:59:24 -07:00
Marco
842454d2aa
Make process_denoise_mode_change function cond-compiled.
...
This function is called only when temporal denoising is enabled.
Change-Id: I25a036e3d628edd34410d6e6fe1f9e68a90a8e56
2014-09-03 11:39:34 -07:00
Marco
54575d654c
Updates to adaptive/aggressive denoiser mode.
...
Parameter changes and modification to zero_last bias.
Change-Id: I50a408d47fde049c562bbe95075194cb0f17c31b
2014-09-02 09:47:55 -07:00
Marco
f010b7727a
vp8 fix: deallocate denoiser->yv12_last_source
...
Change-Id: I7f3bc292b1b411e10586f0975143ae996ea78d1d
2014-08-26 10:15:35 -07:00
Johann
da63d29921
Merge "VP8 encoder for ARMv8 by using NEON intrinsics 6"
2014-08-21 10:39:02 -07:00
Johann
a19035e8bb
Merge "VP8 encoder for ARMv8 by using NEON intrinsics 3"
2014-08-20 11:54:32 -07:00
Johann
6642efaa17
Merge "VP8 encoder for ARMv8 by using NEON intrinsics 2"
2014-08-20 11:54:23 -07:00
Marco
4eb8a850e0
Merge "Fixes to adaptive denoiser mode."
2014-08-20 11:39:44 -07:00
Marco
d2274ed354
Bugfix for vp8 aggressive denoiser mode.
...
Change-Id: I6c1ccd88df7c39377d5f98f8533c0cabd53cf86f
2014-08-20 10:38:59 -07:00
Marco
aa88e32017
Fixes to adaptive denoiser mode.
...
Scale min_consec_zero_last wrt to #temporal layers,
and use full framerate as factor in noise metric.
Change-Id: Id0842b90164ce468d1236173c51965e7620c0e12
2014-08-20 10:34:58 -07:00
James Yu
eed005b076
VP8 encoder for ARMv8 by using NEON intrinsics 6
...
Add shortfdct_neon.c
- vp8_short_fdct4x4_neon
- vp8_short_fdct8x4_neon
Change-Id: I90152c803b484f5fab839473d632c50af0524e68
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:25:29 -07:00
James Yu
6d6fdd9c3d
VP8 encoder for ARMv8 by using NEON intrinsics 3
...
Add subtract_neon.c
- vp8_subtract_b_neon
- vp8_subtract_mby_neon
- vp8_subtract_mbuv_neon
Change-Id: If9a17a093478552e3e3276eeaa3f098b9021d08c
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:20:55 -07:00
Scott LaVarnway
8013aaa10b
VP8 encoder for ARMv8 by using NEON intrinsics 2
...
Add vp8_shortwalsh4x4_neon.c
- vp8_short_walsh4x4_neon
Change-Id: Ica5f584be608c9e636f62db14f563757e94be09b
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:19:23 -07:00
Marco
8609048a77
vp8: Add check on noise_sensitivity/denoiser on.
...
Change-Id: Ic53b2fb69e6eee600ea222e4d06424a1bbca496c
2014-08-16 06:14:21 -07:00
Marco Paniconi
715bab6e55
Merge "Add an adaptive denoising mode."
2014-08-15 08:51:08 -07:00
Marco Paniconi
8db245b6a1
Add an adaptive denoising mode.
...
On key frame, will always start with normal denoising mode,
but based on a computed noise metric (normalized mse on source diff)
may switch to aggressive mode (and back down again).
Change-Id: I20330b2dcf3056287be37223302b2cab5fc103eb
2014-08-14 17:29:51 -07:00
Marco
21a0dade42
vp8: Modify to use closest reference in zero_mv bias.
...
Modify zero_mv bias condition to include check that "closest" reference is last_frame.
This is needed for temporal layers, where the last_frame is not always the closest reference.
Also, constain zeromv_count to be for last_frame reference.
Change-Id: I7af54a809ebf01ef43b9933c9d4095b6cb189390
2014-08-14 15:55:20 -07:00
James Zern
1d9e2b5003
Merge "remove unused fields from BOOL_CODER / vp9_writer"
2014-08-11 23:08:45 -07:00
Marco Paniconi
354a2e612d
vp8: Code cleanup for control of denoiser mode.
...
Change-Id: Icb9918dd38d15061d62852e6a2d905e8ceb2c1ac
2014-08-08 16:15:28 -07:00
Marco Paniconi
84ba62d353
vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp.
...
Change-Id: I1827efe2126501a4a5637ee3ae85233d7526bc0e
2014-08-07 13:55:32 -07:00
Marco Paniconi
8450b41d4b
vp8 bugfix: Reallocate denoiser when spatially resizing.
...
This is needed to update the width/height and stride parameters
for the reference buffers that the denoiser uses.
Change-Id: Id51b3bdcb56bbbc8187865544ccd3d872a0d51fe
2014-08-06 14:57:52 -07:00
James Zern
8c3886df78
remove unused fields from BOOL_CODER / vp9_writer
...
measure_cost, bit_counter, value
Change-Id: I8f93444ddddbee4ece7db6076a922ad96786044c
2014-08-05 21:58:03 -07:00
Marco Paniconi
fbaa4b84af
Fix to Visual Studio build error.
...
signed/unsigned mismatch from commit: 918011.
Change-Id: I6b9bb3618f8e72ea4cc0e6ba8fb9b13676985ed0
2014-07-30 09:14:56 -07:00
Marco Paniconi
91801176fe
vp8: Add an aggressive denoising mode.
...
Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522
2014-07-29 11:16:45 -07:00
Marco Paniconi
64db43d6a7
vp8: reduce refresh_max_mbs_perframe with fewer layers.
...
Change-Id: Ib39cc0218a1f232c0cde8e99ca3319c17274bd48
2014-07-24 15:47:19 -07:00
Marco Paniconi
7788c62286
Fix clang compiler warning in denoising_neon.
...
Issue: https://code.google.com/p/webm/issues/detail?id=829
Change-Id: I580308f8aa4af194b5d8990a9692ebd18db68ee8
2014-07-23 09:59:27 -07:00
Marco Paniconi
a9b30b381b
Merge "vp8: Set default denoiser_decision to copy for UV channel."
2014-07-22 15:25:06 -07:00
Marco Paniconi
aa2ba46a61
Merge "vp8 denoiser fix: Update denoised altref on key frame."
2014-07-22 11:15:08 -07:00
Marco Paniconi
daed770d99
vp8: Set default denoiser_decision to copy for UV channel.
...
Since the UV decision to denoise is based on Y, we need to set
the default/initial denoiser decision_u/v to COPY_BLOCK,
to make sure if no uv_denoiser is applied we still update
(uv)running_avg with source.
Change-Id: I5af1c2afbd40c498cd3de208bea88c837099b24d
2014-07-22 11:12:50 -07:00
Marco Paniconi
f909e43abc
vp8 denoiser fix: Update denoised altref on key frame.
...
On a key frame, the denoised-running_avg for all references
frames should be updated with the source.
The altref denoised-running_avg was not being updated on key frame,
this fixes that.
Change-Id: Ie02cd0ba5383e013af59240e6df7e185d11703f6
2014-07-22 10:14:03 -07:00
Yunqing Wang
765485cab2
Add -DNDEBUG when config option debug is disabled
...
For gcc, when libvpx config option debug is disabled, added the
flag -DNDEBUG to disable the assertions in libvpx for some speedup.
Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
2014-07-21 09:20:03 -07:00
Marco Paniconi
21042c7154
vp8: Allow for on/off control of UV temporal denoiser.
...
Use noise_sensitivity level for enabling UV denoiser.
Change-Id: Ib208786a6fdf654981bcd96a3cf44e8e678025c1
2014-07-15 09:51:03 -07:00
James Zern
61c3338516
call vp[89]_clear_system_state after longjmp
...
restore the environment post encode/decode failure
Change-Id: I3c72e2260a616432eaf1f9545d4fb4d8e45cc7b0
2014-07-10 12:36:28 -07:00
Johann
8c03fff40b
Move abs() to where it is effective
...
vp8/encoder/x86/denoising_sse2.c:35:10: error: taking the absolute value
of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
Change-Id: I749ba8e6f55dbd9b822bfd4260a8397554f5e524
2014-07-08 14:06:33 -07:00
Scott LaVarnway
8341fa8cb4
Merge "Neon version of vp8_denoiser_filter_uv()"
2014-07-07 09:41:07 -07:00
James Zern
b7a51cd894
vp8/bitstream.h: quiet warnings in EDSP builds
...
fixes:
vp8\encoder\bitstream.h: same type qualifier used more than once
Change-Id: I62b99342131fdaedb1f7cc8d2dcd13ab34637cd7
2014-06-30 23:29:34 -07:00
Marco Paniconi
970c1253ce
vp8 denoiser fix: free memory of denoiser->denoiser_state.
...
Change-Id: I86451ddfa90d871e46e5b4c97794dbef65293c6c
2014-06-29 17:04:43 -07:00
Scott LaVarnway
a4b7ae7e82
Neon version of vp8_denoiser_filter_uv()
...
The encoder performance improved by 5% (vs "C")
for the test clip used.
Change-Id: I866b35eb2a06092edce7b37fc409562d0dacd7e7
2014-06-27 11:03:58 -07:00
Scott LaVarnway
1a30f70145
denoising_sse2.c visual studio warnings/errors fix
...
Fixed reported vs warnings/errors.
Change-Id: Ia4c44d64a69dbd9e1738c6ebb48be29582b7e1d3
2014-06-27 05:00:26 -07:00
Marco Paniconi
91ccad2179
Merge "vp8: Add temporal denoising for UV-channel."
2014-06-26 13:03:50 -07:00
Scott LaVarnway
94ae0430d2
vp8: Add temporal denoising for UV-channel.
...
C version and sse2 version, and off by default.
For the test clip used, the sse2 performance improved by ~5.6%
Change-Id: Ic2d815968849db51b9d62085d7a490d0e01574f6
2014-06-26 11:45:42 -07:00
Johann
fec6886f2c
Remove labels from quantize
...
Use break instead of goto for early exit. Unbreaks Visual Studio
builds.
Change-Id: I96dee43a3c82145d4abe0d6a99af6e6e1a3991b5
2014-06-19 10:24:58 -07:00
Johann
0d3ed089f1
sse4 regular quantize
...
Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b
2014-06-18 14:26:16 -07:00
Marco Paniconi
d924640663
vp8 denoising: add bias factor to zero_mv sse.
...
Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a
2014-06-16 15:22:15 -07:00
Marco Paniconi
d08b2ba172
Allow for deblocking temporal-denoised signal.
...
Allow for an option to selectively apply the deblocking loop filter to the denoised
raw block, based on the denoised state (no-filter, filter with zero motion, or filter with non-zero motion)
of the current block and its upper and left denoised block.
This helps to reduce some blocking artifacts from the motion-compensated denoising.
Change-Id: I0ac4e70076df69a98c5391979e739a2681e24ae6
2014-06-13 14:34:05 -07:00
Tim Kopp
c49fda2615
Merge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"
2014-06-12 15:10:53 -07:00
Scott LaVarnway
357495c2df
Merge "Neon match to vp8 temporal denoiser fix"
2014-06-05 15:47:35 -07:00
Tim Kopp
05e8c61903
Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder
...
When this compiler flag is enabled, the encoder will write a denoised,
uncompressed, version of the input to denoised.yuv.
Change-Id: Ie0247f76b23219d95fe97dd70f23e097d742c249
2014-06-05 11:18:32 -07:00