]> granicus.if.org Git - libvpx/log
libvpx
8 years agoPort convolve test refactor to master.
Alex Converse [Wed, 27 Apr 2016 23:53:33 +0000 (16:53 -0700)]
Port convolve test refactor to master.

Brings f03e238f to master.

Change-Id: I7f7754e7d1288b103a4510303d10afc68a7d8ca8

8 years agoMerge "Declare the operator== overload for M128A in the global namespace."
Alex Converse [Wed, 27 Apr 2016 20:33:17 +0000 (20:33 +0000)]
Merge "Declare the operator== overload for M128A in the global namespace."

8 years agoDeclare the operator== overload for M128A in the global namespace.
Alex Converse [Wed, 27 Apr 2016 04:38:04 +0000 (21:38 -0700)]
Declare the operator== overload for M128A in the global namespace.

ADL will look this up from the callsite namespace iff it is declared
before the callsite or from the parent namespace of the class type (the
global namespace).

This patch has been tested on MSVS 2015 and clang-3.8.

Change-Id: I00ba74712c9b617b9d81761abed1e14d8f25d8e3

8 years agoMerge changes If45b8931,Ieab273a7
James Zern [Wed, 27 Apr 2016 20:01:33 +0000 (20:01 +0000)]
Merge changes If45b8931,Ieab273a7

* changes:
  vp9_ethread_test: avoid crash when decoder is unavailable
  resize_test: skip VP9 decode checks if it's disabled

8 years agoMerge "TODO cleanup: Remove unused buffer_size"
Vignesh Venkatasubramanian [Wed, 27 Apr 2016 06:17:12 +0000 (06:17 +0000)]
Merge "TODO cleanup: Remove unused buffer_size"

8 years agoTODO cleanup: Remove unused buffer_size
Vignesh Venkatasubramanian [Mon, 25 Apr 2016 20:46:42 +0000 (13:46 -0700)]
TODO cleanup: Remove unused buffer_size

Remove unused variable buffer_size and rename bytes_in_buffer to
buffer_size in webm_read_frame.

Change-Id: I18b6ccbb044cd366610a5e39d83883cc0b174051

8 years agoMerge "webmdec.h: remove stale TODO"
Vignesh Venkatasubramanian [Wed, 27 Apr 2016 05:38:53 +0000 (05:38 +0000)]
Merge "webmdec.h: remove stale TODO"

8 years agoMerge "TODO cleanup: s/EbmlGlobal/WebmOutputContext/"
Vignesh Venkatasubramanian [Wed, 27 Apr 2016 05:37:32 +0000 (05:37 +0000)]
Merge "TODO cleanup: s/EbmlGlobal/WebmOutputContext/"

8 years agovp9_ethread_test: avoid crash when decoder is unavailable
James Zern [Wed, 27 Apr 2016 03:15:15 +0000 (20:15 -0700)]
vp9_ethread_test: avoid crash when decoder is unavailable

Change-Id: If45b8931771d50990b78a5aa860f372eb0430cf4

8 years agoresize_test: skip VP9 decode checks if it's disabled
James Zern [Wed, 27 Apr 2016 02:56:44 +0000 (19:56 -0700)]
resize_test: skip VP9 decode checks if it's disabled

Change-Id: Ieab273a779c44e1c4648642e9f12735b81bd2300

8 years agovp8: Adjust consec_zeromv thresholds for skin detection.
Marco [Tue, 26 Apr 2016 23:02:09 +0000 (16:02 -0700)]
vp8: Adjust consec_zeromv thresholds for skin detection.

Change-Id: Iab5aed7bf86538352232e208bce58c3528cc9a4e

8 years agoMerge "VP9: adjust trellis quant optimization RD parameters"
Hui Su [Tue, 26 Apr 2016 19:12:09 +0000 (19:12 +0000)]
Merge "VP9: adjust trellis quant optimization RD parameters"

8 years agoMerge "VP9: enable trellis quantization optimization for intra blocks"
Hui Su [Tue, 26 Apr 2016 19:11:49 +0000 (19:11 +0000)]
Merge "VP9: enable trellis quantization optimization for intra blocks"

8 years agoMerge "vp9: Fix condition to update consec_zero_mv."
Marco Paniconi [Tue, 26 Apr 2016 18:15:27 +0000 (18:15 +0000)]
Merge "vp9: Fix condition to update consec_zero_mv."

8 years agoMerge "vp9: Simplify the logic in denoiser SSE2 code."
Jacky Chen [Tue, 26 Apr 2016 17:43:48 +0000 (17:43 +0000)]
Merge "vp9: Simplify the logic in denoiser SSE2 code."

8 years agoMerge "Add the 64-bit CPU cycle count utility function"
Yi Luo [Tue, 26 Apr 2016 17:24:21 +0000 (17:24 +0000)]
Merge "Add the 64-bit CPU cycle count utility function"

8 years agoVP9: adjust trellis quant optimization RD parameters
hui su [Mon, 25 Apr 2016 21:23:06 +0000 (14:23 -0700)]
VP9: adjust trellis quant optimization RD parameters

Coding gain:
lowres  0.64%
midres  0.38%
hdres   0.58%

Change-Id: I233fa2a4b24bd1e15091a5f5ef6aff661f3f50ec

8 years agoVP9: enable trellis quantization optimization for intra blocks
hui su [Mon, 25 Apr 2016 19:40:56 +0000 (12:40 -0700)]
VP9: enable trellis quantization optimization for intra blocks

Coding gain:
lowres  0.18%
midres  0.23%
hdres   0.36%

Change-Id: I044c8afbc481fc55b23d440352941071355b0afb

8 years agovp9: Simplify the logic in denoiser SSE2 code.
JackyChen [Tue, 26 Apr 2016 06:52:19 +0000 (23:52 -0700)]
vp9: Simplify the logic in denoiser SSE2 code.

Block size passed into denoiser filter is always >= BLOCK_8X8 (in
vp9_pick_inter_mode), it is not necessary to check smaller block
size. Passed the bitexact test on clips with different resolutions and
noise levels.

Change-Id: I19fa3195d18c27d9e5de60dc11cff1522ef3714e

8 years agoMerge "Resolve a couple of TODOs in firstpass.c"
Paul Wilkins [Tue, 26 Apr 2016 12:57:08 +0000 (12:57 +0000)]
Merge "Resolve a couple of TODOs in firstpass.c"

8 years agoMerge "Experiment to adapt for net AQ offset."
Paul Wilkins [Tue, 26 Apr 2016 12:56:52 +0000 (12:56 +0000)]
Merge "Experiment to adapt for net AQ offset."

8 years agovp9: Fix consec_zero_mv in skin detection.
Marco [Mon, 25 Apr 2016 22:37:50 +0000 (15:37 -0700)]
vp9: Fix consec_zero_mv in skin detection.

This was missed in https://chromium-review.googlesource.com/#/c/340135/.

Change-Id: Iafc83141f4ff744819bdbde7d239678b215feb9d

8 years agovp9: Fix condition to update consec_zero_mv.
Marco [Mon, 25 Apr 2016 21:34:41 +0000 (14:34 -0700)]
vp9: Fix condition to update consec_zero_mv.

Fix will reset the consec_zero_mv map on non-skipped blocks with non-zero mv.
Adjust thresholds on consec_zero_mv in noise estimation and skin detection,
as more possible reset on map means lower thresholds should be used.

Change-Id: Ibe8520057472b3609585260b51b6f95a38fb777d

8 years agoMerge "vp9: 1 pass vbr: Adjust gf boost/interval on motion level."
Marco Paniconi [Mon, 25 Apr 2016 21:13:56 +0000 (21:13 +0000)]
Merge "vp9: 1 pass vbr: Adjust gf boost/interval on motion level."

8 years agowebmdec.h: remove stale TODO
Vignesh Venkatasubramanian [Mon, 25 Apr 2016 21:05:59 +0000 (14:05 -0700)]
webmdec.h: remove stale TODO

webm_read_frame is the only function now which requires
documentation for what the return value means (other two are quite
obvious - file_is_webm and webm_guess_framerate).

Change-Id: I7a4f7d8097b1d748812b2ee251ee718a0b5ce836

8 years agoTODO cleanup: s/EbmlGlobal/WebmOutputContext/
Vignesh Venkatasubramanian [Mon, 25 Apr 2016 20:28:24 +0000 (13:28 -0700)]
TODO cleanup: s/EbmlGlobal/WebmOutputContext/

This brings the struct's name in line with WebmInputContext.

Change-Id: I1a1c7ae60b006ae5de8253177d6d996f5867866d

8 years agoMerge "vp9: Fix a bug where best_sse_mv is not set properly."
Jacky Chen [Mon, 25 Apr 2016 20:00:43 +0000 (20:00 +0000)]
Merge "vp9: Fix a bug where best_sse_mv is not set properly."

8 years agoMerge "vpx_minmax_8x8_neon and test"
Johann Koenig [Mon, 25 Apr 2016 18:58:29 +0000 (18:58 +0000)]
Merge "vpx_minmax_8x8_neon and test"

8 years agovp9: 1 pass vbr: Adjust gf boost/interval on motion level.
Marco [Wed, 20 Apr 2016 22:53:20 +0000 (15:53 -0700)]
vp9: 1 pass vbr: Adjust gf boost/interval on motion level.

Add some adjustment for high motion case.

Change-Id: If700be1ce849c187ed031221ea7cabbc8d91ec2b

8 years agovp9: Fix a bug where best_sse_mv is not set properly.
JackyChen [Mon, 25 Apr 2016 18:44:40 +0000 (11:44 -0700)]
vp9: Fix a bug where best_sse_mv is not set properly.

In VP9 internal denoiser, motion magnitude is computed from
best_sse_mv, which should be set to 0 at the begining. This bug may
cause visual aritifact in denoiser. Also, delete two improper comments.

Change-Id: I8710d2acba23320bc85cf72af17d65245c19438b

8 years agoMerge "vp9-denoiser: Bugfix and some adjustments for high noise case."
Marco Paniconi [Mon, 25 Apr 2016 17:16:09 +0000 (17:16 +0000)]
Merge "vp9-denoiser: Bugfix and some adjustments for high noise case."

8 years agovp9-denoiser: Bugfix and some adjustments for high noise case.
Marco [Mon, 25 Apr 2016 15:49:08 +0000 (08:49 -0700)]
vp9-denoiser: Bugfix and some adjustments for high noise case.

Need to check that sse for non-zero mv has been set for the current block
(i.e., check that nonzero-mv is tested as a mode, so newmv_sse != UINT_MAX)
before forcing to not use zero-mv for denoising.

Also increase some thresholds (sse and sse_diff) for high noise case,
and use shift operaton instead of multiplication on a threshold computation.

Change-Id: Iae7339475d57240316b7fa8b887c4ee3c0d0dbec

8 years agovp9: Add rc quantity to track amount of low motion in scene.
Marco [Fri, 22 Apr 2016 22:27:53 +0000 (15:27 -0700)]
vp9: Add rc quantity to track amount of low motion in scene.

Use it for now in noise estimation to bypass estimation if
motion level is high.

Change-Id: I033662dc909f2060e4e81abf562a7ad262dc8170

8 years agoMerge "VP9: Do not call vp9_adjust_mask() in vp9_setup_mask()"
Scott LaVarnway [Mon, 25 Apr 2016 13:39:29 +0000 (13:39 +0000)]
Merge "VP9: Do not call vp9_adjust_mask() in vp9_setup_mask()"

8 years agoResolve a couple of TODOs in firstpass.c
paulwilkins [Mon, 25 Apr 2016 11:38:10 +0000 (12:38 +0100)]
Resolve a couple of TODOs in firstpass.c

Resolved two TODO items.

Force a minimum value of 1.0 for frame duration as per section duration.

Column inactive zone is currently set to 0 as most of the serious issues
relating to inactive regions relate to letter boxing.

Change-Id: Ifbab3acf2c089d7305620a7ff7ed7c3536cc9235

8 years agoExperiment to adapt for net AQ offset.
paulwilkins [Fri, 11 Mar 2016 10:44:16 +0000 (10:44 +0000)]
Experiment to adapt for net AQ offset.

In Aq mode 1 the segment and AQ delta for each block is based
on spatial variance. There may be a net imbalance between blocks
that have lower Q than the baseline value and those that have higher Q.

This patch monitors that imbalance and extends the allowed baseline
Q range for the frame to accommodate adjustment of that baseline value
to compensate.

Change-Id: Iae8a48c7c01fe2af94a141e149d03acf467237ca

8 years agoVP9: Do not call vp9_adjust_mask() in vp9_setup_mask()
Scott LaVarnway [Fri, 22 Apr 2016 20:53:32 +0000 (13:53 -0700)]
VP9: Do not call vp9_adjust_mask() in vp9_setup_mask()

vp9_adjust_mask() is called again in loop_filter_rows().

Change-Id: If52f5339dfa7971c47b12f9e05f87951044d9391

8 years agoMerge "hadamard_test: align src/dst buffers"
James Zern [Fri, 22 Apr 2016 20:03:06 +0000 (20:03 +0000)]
Merge "hadamard_test: align src/dst buffers"

8 years agoMerge "vp9: Some adjustments to denoiser under high-noise condition."
Marco Paniconi [Fri, 22 Apr 2016 18:55:57 +0000 (18:55 +0000)]
Merge "vp9: Some adjustments to denoiser under high-noise condition."

8 years agovp9-noise estimation: Add check on whether skin detection is enabled.
Marco [Fri, 22 Apr 2016 17:35:29 +0000 (10:35 -0700)]
vp9-noise estimation: Add check on whether skin detection is enabled.

Change-Id: Ie80b7a14e3505c40b5742793f84aa6fb9d21dab5

8 years agovp9: Some adjustments to denoiser under high-noise condition.
Marco [Fri, 22 Apr 2016 17:30:21 +0000 (10:30 -0700)]
vp9: Some adjustments to denoiser under high-noise condition.

Change-Id: Ib47d742d07f13c7c39cea85e228c19ae298baf4a

8 years agoMerge "vp9: Move consec_zero_mv from cyclic refresh to cpi struct."
Marco Paniconi [Fri, 22 Apr 2016 17:06:31 +0000 (17:06 +0000)]
Merge "vp9: Move consec_zero_mv from cyclic refresh to cpi struct."

8 years agoAdd the 64-bit CPU cycle count utility function
Yi Luo [Thu, 21 Apr 2016 22:59:05 +0000 (15:59 -0700)]
Add the 64-bit CPU cycle count utility function

Change-Id: Ie87245bbdf5735bc9729199eeb07899d81dbf267

8 years agovp9: Move consec_zero_mv from cyclic refresh to cpi struct.
Marco [Thu, 21 Apr 2016 21:00:26 +0000 (14:00 -0700)]
vp9: Move consec_zero_mv from cyclic refresh to cpi struct.

So it can be used even with aq-mode=3 not enabled.
Also cleans up some code in the places where its used.

No change in behavior.

Change-Id: Ib6b265308dbd483f691200da9a0be4da4b380dbc

8 years agohadamard_test: align src/dst buffers
James Zern [Fri, 22 Apr 2016 07:06:49 +0000 (00:06 -0700)]
hadamard_test: align src/dst buffers

fixes crash in 32-bit builds

Change-Id: I149e517c940a8cd43643e213bfbe077b6f579090

8 years agovpx_minmax_8x8_neon and test
Johann [Thu, 14 Apr 2016 21:26:32 +0000 (14:26 -0700)]
vpx_minmax_8x8_neon and test

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1156

Change-Id: Ief0ad8d6255b0ef0f233cda153799e3c72d3dbc6

8 years agoMerge "hadamard 8x8 test"
Johann Koenig [Fri, 22 Apr 2016 04:36:10 +0000 (04:36 +0000)]
Merge "hadamard 8x8 test"

8 years agohadamard 8x8 test
Johann [Fri, 15 Apr 2016 18:35:56 +0000 (11:35 -0700)]
hadamard 8x8 test

The order of the output structure is not currently important.

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1021

Change-Id: Ibc0006d569675db6c5060c4529f5d9e73f2e96a6

8 years agoMerge "vp9_loopfilter.c : fix / clarify todo"
James Bankoski [Thu, 21 Apr 2016 20:40:40 +0000 (20:40 +0000)]
Merge "vp9_loopfilter.c : fix / clarify todo"

8 years agoMerge "vp9_loopfilter.c: Todo clean up encoder should work like decoder."
James Bankoski [Thu, 21 Apr 2016 20:40:35 +0000 (20:40 +0000)]
Merge "vp9_loopfilter.c: Todo clean up encoder should work like decoder."

8 years agoMerge "vp9_loopfilter.c : todo cleanup"
James Bankoski [Thu, 21 Apr 2016 20:40:24 +0000 (20:40 +0000)]
Merge "vp9_loopfilter.c : todo cleanup"

8 years agovp9_loopfilter.c : fix / clarify todo
Jim Bankoski [Thu, 21 Apr 2016 00:28:52 +0000 (17:28 -0700)]
vp9_loopfilter.c : fix / clarify todo

Change-Id: Ie3ec67a83d1877d3deae9c7922b6899d915aa19e

8 years agovp9_loopfilter.c: Todo clean up encoder should work like decoder.
Jim Bankoski [Thu, 21 Apr 2016 00:24:53 +0000 (17:24 -0700)]
vp9_loopfilter.c: Todo clean up encoder should work like decoder.

Change-Id: I570c6859d6e18cd94ce4a29068477b937489399c

8 years agovp9_encodemb.c: TODO clean up
Jim Bankoski [Thu, 21 Apr 2016 15:48:58 +0000 (08:48 -0700)]
vp9_encodemb.c: TODO clean up

huisu did in nextgen branch -> please try in vp9

Change-Id: I0ff35db07ac38464e0e2858e303be686c03a5d0e

8 years agovp9_loopfilter.c : todo cleanup
Jim Bankoski [Thu, 21 Apr 2016 00:16:25 +0000 (17:16 -0700)]
vp9_loopfilter.c : todo cleanup

Removed this todo because of another todo which says none of this code
should exist. It should be integrated into the block by block encode
process as per the decoder.

Change-Id: I076bd15140a060e69c014dd7d7cd07fea260aba3

8 years agoMerge "vp9_loopfilter.c: Todo try inloop calculation."
Yaowu Xu [Thu, 21 Apr 2016 15:38:12 +0000 (15:38 +0000)]
Merge "vp9_loopfilter.c: Todo try inloop calculation."

8 years agovp9_loopfilter.c: Todo try inloop calculation.
Jim Bankoski [Wed, 20 Apr 2016 22:31:46 +0000 (15:31 -0700)]
vp9_loopfilter.c: Todo try inloop calculation.

This is implemented in the decoder already.  Will add a todo for the
encoder.

Change-Id: I5e78c045cb2edb5ba171022aeeb70051a708b916

8 years agovp9: 1 pass vbr: Small fix on reset avg_intersize_gfint on scene cut.
Marco [Wed, 20 Apr 2016 23:30:13 +0000 (16:30 -0700)]
vp9: 1 pass vbr: Small fix on reset avg_intersize_gfint on scene cut.

Change-Id: Ie73d1bbc2c953d010b32097440698f0d060750be

8 years agovp9: 1 pass vbr: small adjustment to active_best factor for inter.
Marco [Wed, 20 Apr 2016 21:22:08 +0000 (14:22 -0700)]
vp9: 1 pass vbr: small adjustment to active_best factor for inter.

Change-Id: I9c68aa9e72969b0ffbf57eb186380ff666745aeb

8 years agoMerge "vp8: Update on sum_diff_threshold."
Marco Paniconi [Wed, 20 Apr 2016 00:20:41 +0000 (00:20 +0000)]
Merge "vp8: Update on sum_diff_threshold."

8 years agovp9: Adjust gf period for high average Q and overshoot.
Marco [Tue, 19 Apr 2016 17:46:20 +0000 (10:46 -0700)]
vp9: Adjust gf period for high average Q and overshoot.

For 1 pass vbr mode.
Increase the gf interval for case where average Q is close to
max and high overshoot is detected.

Small increase in overall avg_psnr/sssim metrics (~0.2/0.1%) for ytlive,
but improves the low-end (low bitrate) for several clips (less overshoot).

Change-Id: Ifba40f25b4861b2e0d9832c82d5359a6a3dce9f2

8 years agovp8: Update on sum_diff_threshold.
Marco [Tue, 19 Apr 2016 22:51:32 +0000 (15:51 -0700)]
vp8: Update on sum_diff_threshold.

Reset to previous values.

Change-Id: Ia49bafc1d1ec5f657819ffba04d11fd701f315e8

8 years agovp9: 1 pass vbr: More even spacing for gf near key frame.
Marco [Mon, 18 Apr 2016 17:51:07 +0000 (10:51 -0700)]
vp9: 1 pass vbr: More even spacing for gf near key frame.

More even spacing near key frame and avoid gf on scene cut
if its close to key frame.

Small increase in metrics for ytlive set (which uses key-period=150).
(~0.2% gain)

Change only affects 1 pass vbr mode.

Change-Id: If1e5a59baf1e0befbaf998522fbc47d94ac5b5df

8 years agovp9: Adjustment to active_best_quality for inter_frame, 1 pass vbr.
Marco [Fri, 15 Apr 2016 17:06:18 +0000 (10:06 -0700)]
vp9: Adjustment to active_best_quality for inter_frame, 1 pass vbr.

Change only affects 1 pass vbr.

Use a q value somewhat larger (~6%) than avg_frame_qindex[INTER]
as basis for active_best_quality for inter-frames.
And use the minium of this (avg_frame_qindex) and the active_worst_quality.

This reduces some overshoot in ytlive clips.
Overall small but positive average increase in metrics (up on average ~0.2%).

Change-Id: Icdbaae7872d5675fd38a13c0ec6ce0e2e3b919ce

8 years agoMerge "Adjustment to prediction decay."
Paul Wilkins [Mon, 18 Apr 2016 18:47:13 +0000 (18:47 +0000)]
Merge "Adjustment to prediction decay."

8 years agoMerge "VP9: inline vp9_get_intra_inter_context()"
Scott LaVarnway [Fri, 15 Apr 2016 19:06:33 +0000 (19:06 +0000)]
Merge "VP9: inline vp9_get_intra_inter_context()"

8 years agoMerge "Enable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm"
Johann Koenig [Fri, 15 Apr 2016 16:00:51 +0000 (16:00 +0000)]
Merge "Enable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm"

8 years agoVP9: inline vp9_get_intra_inter_context()
Scott LaVarnway [Fri, 15 Apr 2016 11:58:37 +0000 (04:58 -0700)]
VP9: inline vp9_get_intra_inter_context()

Change-Id: I71366140799b9b39474b9b459082cdb250bd1905

8 years agoEnable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm
Martin Storsjo [Thu, 3 Mar 2016 09:55:08 +0000 (11:55 +0200)]
Enable vpx_idct32x32_1024_add_neon for neon as well, not only for neon_asm

This was never hooked up for the 32x32_34 case as the neon_asm version
in 3f7c12da, when the intrinsics version was added.

Change-Id: Ic7db4ce5850c637315f9fe9e2de93a4f8cf9e320

8 years agoApply 'const' to data not pointer
Johann [Thu, 14 Apr 2016 21:47:16 +0000 (14:47 -0700)]
Apply 'const' to data not pointer

Change-Id: Ic6b695442e319f7582a7ee8e52a47ae3e38c7298

8 years agoMerge "dct32x32_test: s/HAVE_NEON_ASM/HAVE_NEON/"
James Zern [Thu, 14 Apr 2016 02:35:45 +0000 (02:35 +0000)]
Merge "dct32x32_test: s/HAVE_NEON_ASM/HAVE_NEON/"

8 years agoMerge "vp9: Adjustment to scene-cut detection."
Marco Paniconi [Wed, 13 Apr 2016 22:36:28 +0000 (22:36 +0000)]
Merge "vp9: Adjustment to scene-cut detection."

8 years agovp9: Adjustment to scene-cut detection.
Marco [Wed, 13 Apr 2016 18:18:16 +0000 (11:18 -0700)]
vp9: Adjustment to scene-cut detection.

Change recursive weight for average_source_sad and
put some constraint on spacing between detected scene-cuts.

Change only affects 1 pass real-time mode.

Change-Id: I1917e748d845e244812d11aec2a9d755372ec182

8 years agoFix Visual Studio build warning
Yunqing Wang [Wed, 13 Apr 2016 16:09:08 +0000 (09:09 -0700)]
Fix Visual Studio build warning

Fixed warning C4244: '-=' : conversion from 'const double' to 'int',
possible loss of data.

Change-Id: Ic4691346037767b244e7f71248c2f871f92002f3

8 years agodct32x32_test: s/HAVE_NEON_ASM/HAVE_NEON/
James Zern [Wed, 13 Apr 2016 07:05:47 +0000 (00:05 -0700)]
dct32x32_test: s/HAVE_NEON_ASM/HAVE_NEON/

vpx_idct32x32_1024_add_neon is implemented with instrinsics

Change-Id: I072b18248b97ee2634f06b2751ffa2ced85f8e5b

8 years agoMerge changes from topic 'arm64'
James Zern [Wed, 13 Apr 2016 03:11:39 +0000 (03:11 +0000)]
Merge changes from topic 'arm64'

* changes:
  configure: Detect aarch64 toolchains automatically
  configure: Add an arm64-linux-gcc target configuration

8 years agovp9: Adjust threshold for scene-change detection.
Marco [Wed, 13 Apr 2016 01:27:04 +0000 (18:27 -0700)]
vp9: Adjust threshold for scene-change detection.

For 1 pass vbr.

Change-Id: I10b7eefc36d65c30844d205e139515bec7fed6af

8 years agoMerge "Increase active map test coverage from RT speeds 0-5 to 0-8."
Alex Converse [Tue, 12 Apr 2016 22:20:12 +0000 (22:20 +0000)]
Merge "Increase active map test coverage from RT speeds 0-5 to 0-8."

8 years agoMerge "vp9: Fix to active_best for GF/ARF in 1 pass vbr."
Marco Paniconi [Tue, 12 Apr 2016 21:18:41 +0000 (21:18 +0000)]
Merge "vp9: Fix to active_best for GF/ARF in 1 pass vbr."

8 years agoMerge "Step towards making the 2-pass cq mode perceptual"
Debargha Mukherjee [Tue, 12 Apr 2016 19:42:06 +0000 (19:42 +0000)]
Merge "Step towards making the 2-pass cq mode perceptual"

8 years agoIncrease active map test coverage from RT speeds 0-5 to 0-8.
Alex Converse [Tue, 12 Apr 2016 18:14:10 +0000 (11:14 -0700)]
Increase active map test coverage from RT speeds 0-5 to 0-8.

This test takes less than 100 ms for each of speeds 6-8.

Change-Id: Ibbeb3004a2607d25dcbf77cb5314ade87809e059

8 years agovp9: Fix to active_best for GF/ARF in 1 pass vbr.
Marco [Fri, 8 Apr 2016 00:20:16 +0000 (17:20 -0700)]
vp9: Fix to active_best for GF/ARF in 1 pass vbr.

Correct the setting of Q basis of GF/ARF in 1 pass vbr.

Existing logic would switch to using avg_QP of key frame if
avg_QP of inter is less than active worst (even if key frame is
not last frame).

Instead fix the logic (as per the comment) to use the lower of
active_worst_quality and avg_Q for inter as basis for GF/ARF
active_best_quality (unless last frame was key frame).

Increase in metrics: AvgPSNR/SSIM up by ~0.7/0.3 on ytlive set.

Change-Id: I9a628378ec6684bfda9457ebfc2384ef6d8579f7

8 years agoconfigure: Detect aarch64 toolchains automatically
Martin Storsjo [Thu, 3 Mar 2016 10:00:06 +0000 (12:00 +0200)]
configure: Detect aarch64 toolchains automatically

Change-Id: Icafda81dbc3323fa0afdba5f1c8758e812cc592a

8 years agoconfigure: Add an arm64-linux-gcc target configuration
Martin Storsjo [Thu, 3 Mar 2016 09:53:49 +0000 (11:53 +0200)]
configure: Add an arm64-linux-gcc target configuration

Change-Id: I23efc07572b2406ce5d9283340aef5aee8326280

8 years agopickmode: only cost the skip flag once per prediction block
Alex Converse [Mon, 11 Apr 2016 21:02:34 +0000 (14:02 -0700)]
pickmode: only cost the skip flag once per prediction block

RTC speed 6:
File    Match   Avg     BDRate  Low     Mid     High
OVERALL ✔       -0.040  -0.045  -0.031  -0.084  0.004

Screencast speed 6:
File     Match   Avg     BDRate  Low     Mid     High
OVERALL ✔       1.115   -0.162  0.203   2.470   0.541

Change-Id: I46bbc11c89301015b5d3eac25294c709f23f0897

8 years agoMerge "Remove obsolete segment skip checks from tokenization."
Alex Converse [Mon, 11 Apr 2016 18:58:32 +0000 (18:58 +0000)]
Merge "Remove obsolete segment skip checks from tokenization."

8 years agoAdjustment to prediction decay.
Paul Wilkins [Wed, 30 Mar 2016 12:29:25 +0000 (13:29 +0100)]
Adjustment to prediction decay.

Adjustment to stop excessive prediction decay triggered by blocks
or frames with extremely low spatial complexity which rendered the
comparison of intra and inter coded errors meaningless.

This was causing much shorter than expected groups on some 4k
test content.

Change-Id: I3f2c64200ef6dcef4721fc9f2ec09e480056ffc2

8 years agoMerge "Adjust motion component of prediction decay."
Paul Wilkins [Mon, 11 Apr 2016 10:27:29 +0000 (10:27 +0000)]
Merge "Adjust motion component of prediction decay."

8 years agoMerge "Trap very short arf group just before a kf."
Paul Wilkins [Mon, 11 Apr 2016 10:27:12 +0000 (10:27 +0000)]
Merge "Trap very short arf group just before a kf."

8 years agoMerge "VP9: Combine TileData with TileWorkerData"
Scott LaVarnway [Sun, 10 Apr 2016 22:17:45 +0000 (22:17 +0000)]
Merge "VP9: Combine TileData with TileWorkerData"

8 years agoStep towards making the 2-pass cq mode perceptual
Debargha Mukherjee [Sat, 9 Apr 2016 13:24:18 +0000 (06:24 -0700)]
Step towards making the 2-pass cq mode perceptual

Uses a metric on fraction of smooth blocks derived from first pass
stats in a frame to adjust down the cq_level modestly in the cq mode.
The current implementation does not add much complexity, and is
fairly light in the adaptation.

Change-Id: Ic484e810d5bd51b7bb6b8945f378c7c3d9d27053

8 years agothird_party: Roll libwebm snapshot.
Tom Finegan [Thu, 24 Mar 2016 20:12:51 +0000 (13:12 -0700)]
third_party: Roll libwebm snapshot.

32d5ac4 mkvmuxerutil: Fix MSVC build.
6397597 vpxpes_parser: Fix MSVC build.
784b6fe mkvmuxer: Revert changes to IMkvWriter types.
030518e webm_info: Fix implicit conversion warnings.
46d5dee sample_muxer: Fix implicit conversion warnings.
22b0845 webmts: Fix implicit conversion warnings.
ef464c2 mkvparser: Fix implicit conversion warnings.
0e9767e Merge "rename mingw64_toolchain.cmake to mingw-w64_toolchain"
f47cbd5 cmake: Move cxx flag testing/setup into its own file.
87443a6 rename mingw64_toolchain.cmake to mingw-w64_toolchain
2aee04f msvc_runtime.cmake: Check for MSVC, not WIN32.
eb50da8 Option to write timecode using fixed # of bytes
c1991fe mkvmuxer: Add missing Segment member initializer.
10aed96 Android.mk: Make libwebm easier to build downstream.
5c50e31 Add support for parsing VPx track codec private data.
4cbdbf1 Fix Android build.
bb48a3f mkvmuxerutil: remove stray 'int32'
a1cba34 Support cross compile for windows via mingw64.
596f5e0 Add webm_info.
ccf75f6 msvc/muxer_tests: Silence integer conversion warnings.
2ff2954 msvc/webm2pes: Silence integer and floating point conversion warnings.
1f24323 msvc/hdr_util: Silence double to float conversion warnings.
0744563 msvc/vpxpes_parser: Silence integer conversion warning.
59614b8 msvc/libwebm_util: Fix floating point to int conversion warning.
6481c24 webvtt: Fix include in vttreader.
e6ed0f4 msvc/vpxpes2ts: Fix MSVC integer conversion warning.
da64396 cmake/msvc: Disable C4996 project wide.
6ef8264 Merge "mkvparser::BlockEntry: inline EOS()"
3fa6aec mkvparser::BlockEntry: inline EOS()
26306f9 mkvmuxer: Remove unused Cluster ctor overload.
0d76597 mkvmuxer: Fix build with GCC 5.3.
0ba80bc mkvparser/sample: Minor clean up.
2e0e906 iosbuild.sh: Fix build.
918440a Makefile.unix: allow CXXFLAGS to be easily overridden
4ff5785 cmake: Add C++11 move ctor and member initializer tests.
402ef4d cmake: remove argc and argv from C++11 test main fns.
cbe5c40 Restore original namespaces for mkvmuxer and mkvparser.
504e0f2 Mass file extension update.
79cb980 Android.mk: Update source file locations.
01db4c2 webmids: Move to common/ sub dir.
235ce59 mkvparser: Explicitly reference internal sources in includes.
f578419 mkvmuxer: Move sources to mkvmuxer/ sub dir.
5f1065e webvtt: Organize and clean up webvtt support.
7abe8ac cmake: Add missing dumpvtt target.
f2f87e2 Makefile.unix: Tidy things up.
12f6dc3 Use <stdint.h> types instead of custom typedefs.
0407360 mkvmuxer: Write last block in each Cluster with Duration
008aa63 mkvparser: move to mkvparser sub dir.
e64bf75 Namespace reorg: Make everything a child of libwebm.
5fdb386 cmake: move c++11 checks into build/cxx11_tests.cmake.
3672488 Copy reference block values in Frame::CopyFrom()
91ca780 reapply clang-format
8d34215 Merge "Clean up AddAudioTrack in muxer_tests"
90861d4 Clean up AddAudioTrack in muxer_tests
a9dfb3d Un-ignore webm files in testdata
c5b76d8 Extract PES parser from WebM2Pes tests.
16524e8 cmake: Add include-what-you-use integration.
7015af5 iwyu/vpxpes2ts: Update includes.
c1d6a70 iwyu/webm2pes: Update includes.
110e797 iwyu/libwebm_util: Update includes.
44e31fb iwyu/webm2pes_tests: Update includes.
d919f96 iwyu/mkvwriter: Update includes.
75790e1 iwyu/mkvparser: Update includes.
5f673ca iwyu/webm2pes_main: Update includes.
747244a iwyu/vpxpes2ts_main: Update includes.
94c985f iwyu/mkvmuxerutil: Update includes.
c365630 iwyu/mkvmuxer: Update includes.
b15b8ef iwyu/file_util: Update includes.
3dfba95 iwyu/hdr_util: Update includes.
baba8b1 iwyu/vttdemux: Update includes.
3212ec1 iwyu/webvttparser: Update includes.
b6d8d92 iwyu/sample_muxer_metadata: Update includes.
a9a1a01 iwyu/sample_muxer: Update includes.
e020ffd iwyu/sample: Update includes.
18834bc iwyu/parser_tests: Update includes.
9c00ae3 iwyu/muxer_tests: Update includes.
41a17eb iwyu/test_util: Update includes
b6174be muxer_tests: Fix windows brokenness.
e092515 file_util: Remove tmpnam() usage in MSVC.
b9dc4ac test_util: Don't pass NULL to std::string() in GetTestDataDir().
1f74651 webmts: Move PES/TS sources to m2ts sub directory.
1b895e9 Rename libwebm_utils to libwebm_util.
2fabcd3 sample_muxer: Replace std::tmpnam() with libwebm::GetTempFileName().
e6a0033 Add file_util.
87f9bea Move hdr_util to common.
1f64aaf cmake: Expand C++11 tests.
6dc81c1 muxer_tests: Die immediately when unable to prep for file writing.
521ce4d webm2pes: Fix type limit warning.
64c4163 vpxpes2ts: Fix sign-compare and type-limits warnings.
741ba68 muxer_tests: Replace std::tmpnam() with GetTempFileName().
6159e83 Merge "test_util: add missing include for close()"
ff81c74 parser_tests: Fix sign compare warnings.
163f57d test_util: add missing include for close()
7c89eb5 Merge "test_util: Remove tmpnam() usage on non-MSVC targets."
c4b8686 Merge "webm2pes_tests: Fix sign compare warnings."
9c9f546 Merge "muxer_tests: Fix sign compare warnings."
0fbefef webm2pes: Silence sign compare warnings.
599e4e8 cmake: Silence clang/gcc deprecation warnings.
82f376f test_util: Remove tmpnam() usage on non-MSVC targets.
4d31d6b webm2pes_tests: Fix sign compare warnings.
07ed7e0 muxer_tests: Fix sign compare warnings.
ae2fbfe parser_tests: Silence sign compare warning.
f488528 libwebm_utils: Silence sign compare warning.
777247b Add C++11 detection to cmake file.
9b89187 Add missing include to libwebm_utils.h.
421874a Merge "mkvmuxer: Fix GCC build."
dd6ab35 Set the mastering metadata on the muxers colour
8b61ef5 mkvmuxer: Fix GCC build.
353b050 Add hdr_util.
c92e080 mkvmuxer: Use kValueNotPresent in Colour/MasteringMetadata.
2d09128 Colour element: TransferFunction renamed to TransferCharacteristics.
f2fc28e Colour element: Matrix renamed to MatrixCoefficients.
e0b1135 cmake: Minor CMakeLists.txt refactor.
1e1872b Revert change from auto_ptr to unique_ptr in sample code.
d7fc382 Track updates to the proposed Matroska Colour spec.
99981ee sample(mkvparser): Output Colour element when present.
375e416 mkvmuxer: Fix Colour element support.
eaeca34 mkvmuxer: Fix bits per channel in the colour element.
1dab7f3 mkvparser: Avoid crash when encountering a Colour element.
a1517aa sample_muxer: copy the Colour element.
ea9dd94 Merge "webm2pes: Fix tests."
8635c5b Merge "mkvparser: Make omitted values detectable in the Colour element."
ae4ae7e mkvparser: Make omitted values detectable in the Colour element.
8c8cba6 webm2pes: Fix tests.
a281a22 mkvmuxer: Add support for the Colour element and its children.
41a9147 sample_muxer: clang-format include order fix.
939a64d Signal E_BUFFER_NOT_FULL in EBMLHeader::Parse
fb1406e mkvparser: Add support for the Colour element and its children.
22bfdf7 Merge "parser_tests: Add validation of cues."
b873000 parser_tests: Add validation of cues.
799891e Update .gitignore to include some new binaries
e051c60 Merge "Update muxer test gold files"
b81d5f0 Update muxer test gold files
48b1e9a mkvparser: clang format run
93c4690 webm2pes: Add PES packet parsing tests.
65ca38f Merge "test_util: Fix gcc build."
520ca6c Merge "parser_tests: Fix gcc build."
37a38ca test_util: Fix gcc build.
ee0ebba parser_tests: Fix gcc build.
c32f970 Replace auto_ptr usage with unique_ptr.
e569ab0 webm2pes/ts: Fix gcc build.
2e55d6c Merge "add bitcode embedding support for ios"
0cfb2dc add bitcode embedding support for ios
bb8cefd webm2ts: Converts WebM VPx video to a MPEG TS.
453bf44 webm2pes: Begin addition of tests.
9299bbb libwebm: Googletest integration.
3bec1ba Merge changes I7bcb5b3e,I8ce733be,I98a928ff,I71910f24
5c83bbe Fix ParseElementHeader to support 0 payload elements
be35869 libwebm_utils: Add FileDeleter.
d6db1e1 webm2pes: Add a WebM parser init method.
aa3593e webm2pes: Rename Convert to ConvertToFile().
e8fca12 webm2pes: Fix super frame splitting.
3cb96b6 webm2pes: Move main() and helper functions into their own files.
021432b webm2pes: Fix the linux build.
82ac5fc Remove RELEASE.TXT.
852e173 webm2pes: Split super frames and packetize large frames.
faf85c2 webm2pes: Refactor header/optional header writing.
7c19266 Add Webm2Pes.
01fdee4 mkvmuxer: Disallow AddTrack() after Tracks element is output.
1ad314e mkvparser: EBMLHeader::Parse: remove dead init

Change-Id: I542bd5e34586f29d4d15771ec4bd728defe0769e

8 years agoconfigure: Disable webm_io when target is VS 7/8/9.
Tom Finegan [Sat, 9 Apr 2016 00:10:28 +0000 (17:10 -0700)]
configure: Disable webm_io when target is VS 7/8/9.

libwebm now requires stdint.h, and the noted Visual Studio versions
omit it.

Change-Id: I7e5de131c357cb7a99c33452b2b623882817df0f

8 years agoRemove obsolete segment skip checks from tokenization.
Alex Converse [Fri, 8 Apr 2016 18:38:25 +0000 (11:38 -0700)]
Remove obsolete segment skip checks from tokenization.

Change-Id: Iac7bc0d0eba459a04688aae224d34ae9b59742db

8 years agoMerge "Correct comments for scan order neighbors"
Hui Su [Fri, 8 Apr 2016 18:03:21 +0000 (18:03 +0000)]
Merge "Correct comments for scan order neighbors"

8 years agoMerge "vp9-denoiser: Avoid copy-block when denoising is at LowLow level."
Marco Paniconi [Fri, 8 Apr 2016 17:51:54 +0000 (17:51 +0000)]
Merge "vp9-denoiser: Avoid copy-block when denoising is at LowLow level."

8 years agoMerge "vp8-denoiser: Avoid doing the mcomp if we don't denoise."
Marco Paniconi [Fri, 8 Apr 2016 17:51:25 +0000 (17:51 +0000)]
Merge "vp8-denoiser: Avoid doing the mcomp if we don't denoise."

8 years agoAdjust motion component of prediction decay.
paulwilkins [Fri, 8 Apr 2016 09:28:40 +0000 (10:28 +0100)]
Adjust motion component of prediction decay.

Adjust the motion decay component to account for image size.
This has very little impact for smaller image sizes.

Average bdrate results for our HD test sets:-

Hdres set:  opsnr +0,92%,  Fast SSIM +1.6%
Netflix hd set:  opsnr + 1.5%, Fast SSIM +3.1%

There are a couple of notable -ve clips such as cyclist and sunflower
which seem to be better with a shorter interval but also a few very big
wins such as Jets >12% psnr 22% Fast SSIM and from the Netflix
Netflix set PierSeaside 9.7% psnr and 18.2% Fast SSIM.

Change-Id: Ie43aaedaa74331ed83d624a13548094ac64fed9e

8 years agoMerge "vp9: Some adjustments to scene-cut detection."
Marco Paniconi [Thu, 7 Apr 2016 22:00:46 +0000 (22:00 +0000)]
Merge "vp9: Some adjustments to scene-cut detection."

8 years agovp9: Some adjustments to scene-cut detection.
Marco [Thu, 7 Apr 2016 18:57:49 +0000 (11:57 -0700)]
vp9: Some adjustments to scene-cut detection.

Change only affects 1 pass vbr mode, speed >=5.
Increase min_thresh, decrease boost, and set a min/max
value for gf_interval.

Change-Id: I9c1e1a1ab0c5780064eb62714ee39a72ea4d2107