]> granicus.if.org Git - libvpx/log
libvpx
9 years agoMerge "Fix fdct8x8_quant ssse3 overflow issue"
Jingning Han [Thu, 12 Mar 2015 23:43:09 +0000 (16:43 -0700)]
Merge "Fix fdct8x8_quant ssse3 overflow issue"

9 years agoFix fdct8x8_quant ssse3 overflow issue
Jingning Han [Thu, 12 Mar 2015 19:16:27 +0000 (12:16 -0700)]
Fix fdct8x8_quant ssse3 overflow issue

This resolves webm issue 968.

Change-Id: Ieb363129b1e135a561141c68211d413226aba754

9 years agoMerge "Some rate control adjustments to control overshoot"
Deb Mukherjee [Thu, 12 Mar 2015 18:10:59 +0000 (11:10 -0700)]
Merge "Some rate control adjustments to control overshoot"

9 years agoMerge "Prevent integer overflow in choose_partitioning"
Jingning Han [Thu, 12 Mar 2015 16:24:02 +0000 (09:24 -0700)]
Merge "Prevent integer overflow in choose_partitioning"

9 years agoMerge "Remove unnecessary speed feature checking"
Jingning Han [Thu, 12 Mar 2015 16:23:51 +0000 (09:23 -0700)]
Merge "Remove unnecessary speed feature checking"

9 years agoMerge "Apply fast motion search to golden reference frame"
Jingning Han [Thu, 12 Mar 2015 16:23:41 +0000 (09:23 -0700)]
Merge "Apply fast motion search to golden reference frame"

9 years agoMerge "Refactor to remove GLOBAL_MOTION"
Jingning Han [Thu, 12 Mar 2015 16:23:31 +0000 (09:23 -0700)]
Merge "Refactor to remove GLOBAL_MOTION"

9 years agoFix a typo introduced in #94401aff
Yaowu Xu [Thu, 12 Mar 2015 15:01:08 +0000 (08:01 -0700)]
Fix a typo introduced in #94401aff

This fixes all test vector failures

Change-Id: Ie1a9fe0f023f7a0c7e89eb55df1b40ff65302adc

9 years agoMerge "Fix visual studio build failure."
Marco [Thu, 12 Mar 2015 00:19:47 +0000 (17:19 -0700)]
Merge "Fix visual studio build failure."

9 years agoPrevent integer overflow in choose_partitioning
Jingning Han [Wed, 11 Mar 2015 23:29:13 +0000 (16:29 -0700)]
Prevent integer overflow in choose_partitioning

Re-arrange the multiplication and right shift operations to avoid
integer overflow in choose_partitioning.

Change-Id: Ib4005cafb410a67c1960486471d75b6ebe38c4e0

9 years agoMerge "Refactor the block decode code to make it simpler."
hkuang [Wed, 11 Mar 2015 23:19:14 +0000 (16:19 -0700)]
Merge "Refactor the block decode code to make it simpler."

9 years agoFix visual studio build failure.
Marco [Wed, 11 Mar 2015 23:11:35 +0000 (16:11 -0700)]
Fix visual studio build failure.

Change-Id: Ifeb14f945d0f0300eb7b21b38e5720ac1c11a6cf

9 years agoRemove unnecessary speed feature checking
Jingning Han [Wed, 11 Mar 2015 23:08:59 +0000 (16:08 -0700)]
Remove unnecessary speed feature checking

This commit removes the pred_mv_sad comparison from rtc motion
search, given that a stronger comparison has been done at the
mode search level to eliminate unlikely selected reference frames.

Change-Id: I49b8d24b2174303066fd8eff2102c0648f2869df

9 years agoMerge "Clamp rate correction factor after scaling it"
Adrian Grange [Wed, 11 Mar 2015 23:09:49 +0000 (16:09 -0700)]
Merge "Clamp rate correction factor after scaling it"

9 years agoApply fast motion search to golden reference frame
Jingning Han [Tue, 10 Mar 2015 01:55:38 +0000 (18:55 -0700)]
Apply fast motion search to golden reference frame

This commit enables the rtc coding mode to run integral projection
based motion search for golden reference frame. It improves the
speed -6 compression performance by 1.1% on average, 3.46% for
jimred_vga, 6.46% for tacomascmvvga, and 0.5% for vidyo clips. The
speed -6 is about 6% slower.

Change-Id: I0fe402ad2edf0149d0349ad304ab9b2abdf0c804

9 years agoRefactor to remove GLOBAL_MOTION
Jingning Han [Wed, 11 Mar 2015 22:44:26 +0000 (15:44 -0700)]
Refactor to remove GLOBAL_MOTION

Make the vp9_int_pro_motion_estimation() function return zero
motion vector if high bit depth is turned on, instead of removing
it from compiled codes.

Change-Id: Ia48f010eb590b2d517d5678c394110b326a1a95e

9 years agovpx_temporal_svc_encoder: Update some default settings.
Marco [Wed, 11 Mar 2015 21:07:34 +0000 (14:07 -0700)]
vpx_temporal_svc_encoder: Update some default settings.

Set flags=0 if layering_mode=0, and set static_thresh=1.

Change-Id: Id9874923b23966a2b1d0e83965add7d5c9d26d16

9 years agoRefactor the block decode code to make it simpler.
hkuang [Tue, 10 Mar 2015 22:37:12 +0000 (15:37 -0700)]
Refactor the block decode code to make it simpler.

Change-Id: I0f983cb821ad7ec6fbefe7895cb8124a8fa39df6

9 years agoMerge "Separate rd_thresh adaption by ref_frame"
Yaowu Xu [Wed, 11 Mar 2015 17:41:20 +0000 (10:41 -0700)]
Merge "Separate rd_thresh adaption by ref_frame"

9 years agoClamp rate correction factor after scaling it
Adrian Grange [Tue, 10 Mar 2015 19:04:59 +0000 (12:04 -0700)]
Clamp rate correction factor after scaling it

Added clamp on the rate correction factor after
it has been scaled.

Change-Id: I5d4b46a101987b43c5bcfd7e0bd1b7b4d53640a4

9 years agoSeparate rd_thresh adaption by ref_frame
Yaowu Xu [Wed, 11 Mar 2015 02:06:52 +0000 (19:06 -0700)]
Separate rd_thresh adaption by ref_frame

Only update the rd_thresh factors for modes sharing same reference
frame. This helps overall compression of 6 and 7 by .13% and .19%
respectively without any noticeable speed difference.

Change-Id: Idb3a3879512c5d7d0880034516079949290690c5

9 years agoSome rate control adjustments to control overshoot
Deb Mukherjee [Wed, 11 Mar 2015 00:25:10 +0000 (17:25 -0700)]
Some rate control adjustments to control overshoot

Some rate control adjustments to control overshoot
in the constrained quality mode.

Change-Id: I8907b9a883642d779009d0a138adfa6ba67e7f41

9 years agoMerge "Modify update golden reference update under aq-mode=3 mode."
Marco [Tue, 10 Mar 2015 18:48:10 +0000 (11:48 -0700)]
Merge "Modify update golden reference update under aq-mode=3 mode."

9 years agoModify update golden reference update under aq-mode=3 mode.
Marco [Fri, 6 Mar 2015 01:26:52 +0000 (17:26 -0800)]
Modify update golden reference update under aq-mode=3 mode.

For non-SVC 1 pass CBR: make the GF update interval a multiple of the
cyclic refresh period, and use encoding stats to prevent GF update at certain times.

Change-Id: I4c44cacc2f70f1d27391a47644837e1eaa065017

9 years agoMerge "Accumulate tx_totals counters in multi-threaded encoder"
Yunqing Wang [Tue, 10 Mar 2015 17:52:55 +0000 (10:52 -0700)]
Merge "Accumulate tx_totals counters in multi-threaded encoder"

9 years agoMerge "Enable using Golden reference in choose_partition()"
Yaowu Xu [Tue, 10 Mar 2015 17:48:52 +0000 (10:48 -0700)]
Merge "Enable using Golden reference in choose_partition()"

9 years agoMerge "Allow q adjustment for VPX_CQ and VPX_CBR."
paulwilkins [Tue, 10 Mar 2015 17:45:02 +0000 (10:45 -0700)]
Merge "Allow q adjustment for VPX_CQ and VPX_CBR."

9 years agoAccumulate tx_totals counters in multi-threaded encoder
Yunqing Wang [Tue, 10 Mar 2015 16:53:45 +0000 (09:53 -0700)]
Accumulate tx_totals counters in multi-threaded encoder

Tx_totals counters weren't handled correctly in multi-thread
case, which caused the mismatch while encoding using threads > 1.
This patch fixed that.

Change-Id: Ice9b0386f57175fb92a0bdcd5042686a3106246a

9 years agoFix vp9_compute_qdelta_by_rate loop behavior
Adrian Grange [Tue, 10 Mar 2015 16:14:54 +0000 (09:14 -0700)]
Fix vp9_compute_qdelta_by_rate loop behavior

The return value from vp9_compute_qdelta_by_rate, which is
a delta value for the quantizer, could never be 0 if
(qindex == rc->worst_quality).

This occurs because target_index was setup unconditionally
in the loop and yet the loop counter stopped at
(rc->worst_quality - 1).

Change-Id: I6b59cd9b5811ff33357e71cd7d814c5e53d291f2

9 years agoEnable using Golden reference in choose_partition()
Yaowu Xu [Fri, 6 Mar 2015 21:45:39 +0000 (13:45 -0800)]
Enable using Golden reference in choose_partition()

Choose_partition uses only the last frame as reference frame in making
partition decision, this commit adds the check on how well Golden
frame with (0,0) predicts the current block, and uses GF(0,0) as
basis for partition decision if it produces better prediction.

The commit improves rtc speed 6 and 7 encoding by 0.14% and 0.19%
respectively.

Change-Id: I156acf925bd6e0b586d48155d1940d27270a3915

9 years agoRefactor read_intra_frame_mode_info
Frank Galligan [Mon, 9 Mar 2015 23:25:01 +0000 (16:25 -0700)]
Refactor read_intra_frame_mode_info

Change-Id: I56b0614154408e8ec613784b2007374df00fbf17

9 years agoMerge "Don't waste time partitioning skip superblocks."
Alex Converse [Mon, 9 Mar 2015 20:02:16 +0000 (13:02 -0700)]
Merge "Don't waste time partitioning skip superblocks."

9 years agoMerge "Skip golden ref frame check when it is same as last ref frame"
Jingning Han [Mon, 9 Mar 2015 19:27:19 +0000 (12:27 -0700)]
Merge "Skip golden ref frame check when it is same as last ref frame"

9 years agoSkip golden ref frame check when it is same as last ref frame
Jingning Han [Mon, 9 Mar 2015 17:59:29 +0000 (10:59 -0700)]
Skip golden ref frame check when it is same as last ref frame

When golden reference frame is refreshed, the next frame has both
its last and golden reference frames point to the same reference
frame in real-time coding mode. Experiments suggest that using
two separate reference frames for frames right after golden refresh
frame does not provide further compression performance advantage.
This commit hence retains the current encoder implementation and
shuts off the mode search over golden reference frame in this case.

It makes the encoder run slightly faster at no coding performance
change.

Change-Id: I1561f7799253a10e675d05c63c1749fe9e85b472

9 years agoDon't waste time partitioning skip superblocks.
Alex Converse [Mon, 9 Mar 2015 17:45:38 +0000 (10:45 -0700)]
Don't waste time partitioning skip superblocks.

Force 64x64 partitioning when a whole superblock is SEGMENT_LVL_SKIP. This
drops encode times of screens mostly at rest by 20%.

Change-Id: Ieba554b0b8a0c1679aae784a8bd11f038ab942c3

9 years agoAllow q adjustment for VPX_CQ and VPX_CBR.
paulwilkins [Mon, 9 Mar 2015 17:12:33 +0000 (17:12 +0000)]
Allow q adjustment for VPX_CQ and VPX_CBR.

Adjustment previously only enabled in VBR mode.

This patch allows adjustment of min and max q for CBR
and adjustment of max q only for CQ mode.

Change-Id: Id5e583f3d50453cd544fc57249acacd946457482

9 years agoAdd aq-mode=3 to ethread test.
Marco [Fri, 6 Mar 2015 18:47:09 +0000 (10:47 -0800)]
Add aq-mode=3 to ethread test.

Change-Id: I619a2be502f1d2eb0ae746f7fcb465d19ddae048

9 years agoMerge "vp9_ethread: fix me consts initialization to support aq_mode=3 encoding"
Yunqing Wang [Mon, 9 Mar 2015 16:42:12 +0000 (09:42 -0700)]
Merge "vp9_ethread: fix me consts initialization to support aq_mode=3 encoding"

9 years agoMerge "Move pred_mv assign outside integral projection motion search"
Jingning Han [Mon, 9 Mar 2015 16:34:26 +0000 (09:34 -0700)]
Merge "Move pred_mv assign outside integral projection motion search"

9 years agoMerge "Reduce default overshoot/undershoot params to 25"
Deb Mukherjee [Mon, 9 Mar 2015 16:21:35 +0000 (09:21 -0700)]
Merge "Reduce default overshoot/undershoot params to 25"

9 years agoMerge "Modify the setting of transform skip flags in non-rd mode"
Yunqing Wang [Mon, 9 Mar 2015 15:35:57 +0000 (08:35 -0700)]
Merge "Modify the setting of transform skip flags in non-rd mode"

9 years agovp9_ethread: fix me consts initialization to support aq_mode=3 encoding
Yunqing Wang [Fri, 6 Mar 2015 23:17:59 +0000 (15:17 -0800)]
vp9_ethread: fix me consts initialization to support aq_mode=3 encoding

While turning on "--aq_mode=3", the quantizers are updated by each
thread. Fixed the me consts initialization function to make sure
that the correct thread data are updated.

Change-Id: Ied27bb7bae76fc3fa2cda4f8c35ac0b46271bef4

9 years agoMerge "Cherry pick libyuv VS fix"
Johann [Sat, 7 Mar 2015 00:04:59 +0000 (16:04 -0800)]
Merge "Cherry pick libyuv VS fix"

9 years agoCherry pick libyuv VS fix
Johann [Fri, 6 Mar 2015 20:25:14 +0000 (12:25 -0800)]
Cherry pick libyuv VS fix

Change-Id: I1f2e077af87d29b07eaf7acaec8d955e00da9333

9 years agoRemove some unnecessary code in thread context copy.
hkuang [Tue, 3 Mar 2015 01:15:00 +0000 (17:15 -0800)]
Remove some unnecessary code in thread context copy.

Change-Id: Iddf098e1bae9c10fc2f325f84156f50a0bd0055a

9 years agoMerge "Only wait for previous frame's motion vector if needed."
Hangyu Kuang [Fri, 6 Mar 2015 18:27:26 +0000 (10:27 -0800)]
Merge "Only wait for previous frame's motion vector if needed."

9 years agoMerge "Set the threads/tile_columns in vpx_temporal_svc_encoder."
Marco [Fri, 6 Mar 2015 18:00:18 +0000 (10:00 -0800)]
Merge "Set the threads/tile_columns in vpx_temporal_svc_encoder."

9 years agoSet the threads/tile_columns in vpx_temporal_svc_encoder.
Marco [Fri, 6 Mar 2015 17:51:21 +0000 (09:51 -0800)]
Set the threads/tile_columns in vpx_temporal_svc_encoder.

Change-Id: I794e8b64f26ebe68d7f18c3a11cb7c80e1cd3110

9 years agoModify the setting of transform skip flags in non-rd mode
Yunqing Wang [Thu, 5 Mar 2015 17:44:18 +0000 (09:44 -0800)]
Modify the setting of transform skip flags in non-rd mode

While searching for the best mode in non-rd case, SSE of
a partition block is calculated and the transform size is set.
This patch rewrites the skip checking conditions based on
transform size instead of partition size to be more precise.

Small gains were seen in rtc set borg test (speed 6).
AVG PSNR: 0.087%, overall PSNR: 0.073%, SSIM: 0.146%.
No noticeable speed change.

Change-Id: I5603ca5339c784dfa02263f4005988ccd8c32f6e

9 years agoMerge changes I1b972c94,I9c897d32
Yaowu Xu [Fri, 6 Mar 2015 15:27:58 +0000 (07:27 -0800)]
Merge changes I1b972c94,I9c897d32

* changes:
  Prevent invalid memory access
  Use correct bsize for uv

9 years agoOnly wait for previous frame's motion vector if needed.
Hangyu Kuang [Mon, 2 Mar 2015 21:59:03 +0000 (13:59 -0800)]
Only wait for previous frame's motion vector if needed.

Change-Id: Iecce685a33b64844446c0009f21bc85566d7469f

9 years agoPrevent invalid memory access
Yaowu Xu [Thu, 5 Mar 2015 22:57:11 +0000 (14:57 -0800)]
Prevent invalid memory access

Change-Id: I1b972c945274254d896d772d859840b2f8211b4f

9 years agoMerge "Fix a tsan error bug in frame parallel decode."
hkuang [Thu, 5 Mar 2015 22:55:27 +0000 (14:55 -0800)]
Merge "Fix a tsan error bug in frame parallel decode."

9 years agoMerge changes I219c287b,I6adee670
Alex Converse [Thu, 5 Mar 2015 22:43:42 +0000 (14:43 -0800)]
Merge changes I219c287b,I6adee670

* changes:
  Call encoder control before running ethread test.
  Don't copy thread data for the main thread.

9 years agoMerge "Fix misleading indentation."
Alex Converse [Thu, 5 Mar 2015 22:43:38 +0000 (14:43 -0800)]
Merge "Fix misleading indentation."

9 years agoCall encoder control before running ethread test.
Alex Converse [Thu, 5 Mar 2015 19:47:21 +0000 (11:47 -0800)]
Call encoder control before running ethread test.

The first value of video->frame() is 15 because of the source range used.

Change-Id: I219c287b500fa376160d6dcfb937092e577ec959

9 years agoReduce default overshoot/undershoot params to 25
Deb Mukherjee [Thu, 5 Mar 2015 21:58:37 +0000 (13:58 -0800)]
Reduce default overshoot/undershoot params to 25

Reducing these values from 100 makes rate control tighter by
default.

Change-Id: I979409c93e6f19e128898f08ad581bf67eb0f824

9 years agoMerge "Use 8 threads by default for VP9 encodes"
Frank Galligan [Thu, 5 Mar 2015 21:58:26 +0000 (13:58 -0800)]
Merge "Use 8 threads by default for VP9 encodes"

9 years agoMerge "VP9: turn on tile-columns and frame-parallel-mode by default"
Frank Galligan [Thu, 5 Mar 2015 21:58:21 +0000 (13:58 -0800)]
Merge "VP9: turn on tile-columns and frame-parallel-mode by default"

9 years agoMerge "Don't inline cost_coeffs."
Alex Converse [Thu, 5 Mar 2015 21:54:44 +0000 (13:54 -0800)]
Merge "Don't inline cost_coeffs."

9 years agoMerge "Fix valgrind memcpy memory overlaps warning"
Adrian Grange [Thu, 5 Mar 2015 20:52:57 +0000 (12:52 -0800)]
Merge "Fix valgrind memcpy memory overlaps warning"

9 years agoDon't inline cost_coeffs.
Alex Converse [Thu, 5 Mar 2015 20:39:02 +0000 (12:39 -0800)]
Don't inline cost_coeffs.

It was tiny when it was orginally marked INLINE. Forcing this function
to be inlined prevents the compiler from inlining its much smaller
callers.

No measurable speed impact, 28320 byte smaller libvpx.a

Change-Id: I6bf4c917157d15cbadb3cd3e20a9e82d35dc7d6f

9 years agoFix misleading indentation.
Alex Converse [Thu, 5 Mar 2015 20:09:03 +0000 (12:09 -0800)]
Fix misleading indentation.

Change-Id: Ic82b039a3d42f9aa01b85a3a69facfaa84b43a53

9 years agoDon't copy thread data for the main thread.
Alex Converse [Thu, 5 Mar 2015 20:09:48 +0000 (12:09 -0800)]
Don't copy thread data for the main thread.

Change-Id: I6adee6704cacfeae0ed0b217a91095457d1be74a

9 years agoMove pred_mv assign outside integral projection motion search
Jingning Han [Thu, 5 Mar 2015 19:43:01 +0000 (11:43 -0800)]
Move pred_mv assign outside integral projection motion search

Change-Id: I040b066fdce08e2f05115a22ea808715aa147779

9 years agoMerge "Move integral projection motion search to vp9_mcomp.c"
Jingning Han [Thu, 5 Mar 2015 17:25:16 +0000 (09:25 -0800)]
Merge "Move integral projection motion search to vp9_mcomp.c"

9 years agoUse correct bsize for uv
Yaowu Xu [Thu, 5 Mar 2015 16:20:35 +0000 (08:20 -0800)]
Use correct bsize for uv

Change-Id: I9c897d32af6c3a956bb6f424a74c12737727038a

9 years agoDeclare function used by 'once' with 'void' parameters
Johann [Wed, 4 Mar 2015 23:34:55 +0000 (15:34 -0800)]
Declare function used by 'once' with 'void' parameters

Visual Studio is exceptionally picky about this:
vp9_reconintra.c(900): warning C4113: 'void (__cdecl *)()' differs in
parameter lists from 'void (__cdecl *)(void)'
[.build-x86_64-win64-vs10\vpx.vcxproj]

Change-Id: I564c7415f4608fd962be8c699d6133a996b545f7

9 years agoMerge "Fix variable shadowing."
hkuang [Wed, 4 Mar 2015 22:23:01 +0000 (14:23 -0800)]
Merge "Fix variable shadowing."

9 years agoMerge "Small rationalization of code in vp9_first_pass"
Adrian Grange [Wed, 4 Mar 2015 20:49:58 +0000 (12:49 -0800)]
Merge "Small rationalization of code in vp9_first_pass"

9 years agoFix variable shadowing.
hkuang [Wed, 4 Mar 2015 19:40:20 +0000 (11:40 -0800)]
Fix variable shadowing.

Change-Id: I287c61ad4aa85654aef3c871a62131bcd0d891ac

9 years agoMerge "Remove unnecessary loopfilter init."
hkuang [Wed, 4 Mar 2015 19:27:58 +0000 (11:27 -0800)]
Merge "Remove unnecessary loopfilter init."

9 years agoMerge "Make encoder buffer allocation dynamic"
Adrian Grange [Wed, 4 Mar 2015 18:54:10 +0000 (10:54 -0800)]
Merge "Make encoder buffer allocation dynamic"

9 years agoSmall rationalization of code in vp9_first_pass
Adrian Grange [Fri, 27 Feb 2015 23:52:58 +0000 (15:52 -0800)]
Small rationalization of code in vp9_first_pass

Change-Id: I87cc0e038171c60a957298827e312fead500f7fb

9 years agoMerge "Use SAD value to set chroma cost flag"
Jingning Han [Wed, 4 Mar 2015 18:47:56 +0000 (10:47 -0800)]
Merge "Use SAD value to set chroma cost flag"

9 years agoMove integral projection motion search to vp9_mcomp.c
Jingning Han [Wed, 4 Mar 2015 18:28:33 +0000 (10:28 -0800)]
Move integral projection motion search to vp9_mcomp.c

Make it a general purpose fast motion estimation function, to be
used in the mode search process.

Change-Id: Ib354cb0e664dc61c30c0b2314297835ee75b157a

9 years agoUse SAD value to set chroma cost flag
Jingning Han [Wed, 4 Mar 2015 17:40:01 +0000 (09:40 -0800)]
Use SAD value to set chroma cost flag

This saves an extra 64x64 variance calculation and replaces two
32x32 variance functions with sad functions. The compression
performance change is unnoticeable.

Change-Id: I6d33868695664ec73b56c42945162ae61c484856

9 years agoMerge "Properly handle the boundary blocks for integral projection search"
Jingning Han [Wed, 4 Mar 2015 17:01:33 +0000 (09:01 -0800)]
Merge "Properly handle the boundary blocks for integral projection search"

9 years agoMake encoder buffer allocation dynamic
Adrian Grange [Wed, 18 Feb 2015 17:40:34 +0000 (09:40 -0800)]
Make encoder buffer allocation dynamic

Frame buffers are now allocated dynamically on-demand.

Entries in the reference frame map, cm->ref_frame_map,
may now be set to -1 (INVALID_IDX) to indicate that
there is not a valid reference buffer in that "slot".

All slots in the reference frame map are now initialized
to the empty state (-1) and each buffer is initialized
to have a reference count of 0.

Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582

9 years agoMerge "dc quantizer fix for 32x32 transforms"
Deb Mukherjee [Wed, 4 Mar 2015 07:23:44 +0000 (23:23 -0800)]
Merge "dc quantizer fix for 32x32 transforms"

9 years agoMerge "Scale the normalization factor depending on the block size"
Jingning Han [Wed, 4 Mar 2015 03:04:34 +0000 (19:04 -0800)]
Merge "Scale the normalization factor depending on the block size"

9 years agoUse 8 threads by default for VP9 encodes
Frank Galligan [Wed, 4 Mar 2015 01:05:17 +0000 (17:05 -0800)]
Use 8 threads by default for VP9 encodes

BUG=https://code.google.com/p/webm/issues/detail?id=964

Change-Id: I70679d0f139b8e0962f7e19eb56b34060953e9b0

9 years agoProperly handle the boundary blocks for integral projection search
Jingning Han [Mon, 2 Mar 2015 21:51:12 +0000 (13:51 -0800)]
Properly handle the boundary blocks for integral projection search

Use rectangular block size for integral projection motion estimation
if the the 64x64 block has over half block outside the frame. This
avoids the issue that the motion information of these blocks is
dominated by the extended pixels, instead of the pixels of interest.

Change-Id: I22f4d2bb7f6a20db9b3f5e2e5463a7f4b9d1b737

9 years agodc quantizer fix for 32x32 transforms
Deb Mukherjee [Tue, 3 Mar 2015 20:26:41 +0000 (12:26 -0800)]
dc quantizer fix for 32x32 transforms

The rounding factor needs to be scaled down by a factor of 2.
Also, the quantized and dequantized coefficients are memset to 0
when dc quantizer is used.

Change-Id: Ifa68bab02addbf1b83d249c5b4cbd5cda796b1cf

9 years agoMerge "fix a race condition caused by intra function pointer initialization"
Yunqing Wang [Tue, 3 Mar 2015 23:47:06 +0000 (15:47 -0800)]
Merge "fix a race condition caused by intra function pointer initialization"

9 years agoMerge "Adapt color sensitiviy threshold to luma signal energy"
Yaowu Xu [Tue, 3 Mar 2015 23:33:55 +0000 (15:33 -0800)]
Merge "Adapt color sensitiviy threshold to luma signal energy"

9 years agoFix valgrind memcpy memory overlaps warning
Adrian Grange [Tue, 3 Mar 2015 17:19:54 +0000 (09:19 -0800)]
Fix valgrind memcpy memory overlaps warning

Change-Id: Id0bb162b48b891c5c849f0411ef2ac0aa4bbe261

9 years agoFix a tsan error bug in frame parallel decode.
hkuang [Tue, 3 Mar 2015 20:57:26 +0000 (12:57 -0800)]
Fix a tsan error bug in frame parallel decode.

A frame may be waiting for an out of border pixel from another
frame. A frame's row progress variable is set to -1 when start being decoded
and another frame may be waiting for -2 row pixel from this frame.
In this case, vp9_frameworker_wait will return directly and skip the waiting
which leads to tsan error between threads.

Change-Id: Id16604915fb598b823e34393f696e3aa46fb6422

9 years agoScale the normalization factor depending on the block size
Jingning Han [Mon, 2 Mar 2015 18:28:12 +0000 (10:28 -0800)]
Scale the normalization factor depending on the block size

Change-Id: I0a26994bf65ea224e496b09af2ce71e1a4210433

9 years agoVP9: turn on tile-columns and frame-parallel-mode by default
Frank Galligan [Tue, 3 Mar 2015 19:20:11 +0000 (11:20 -0800)]
VP9: turn on tile-columns and frame-parallel-mode by default

Most of the current decoders use tile-based multithreading. Also
most of the current decoders need frame_parallel_decoding_mode
turned on to enable multithreaded decoding. tile-columns is
limited by resolution, so setting to max (6) is fine.

BUG=https://code.google.com/p/webm/issues/detail?id=963

Change-Id: I6e7ac3485d96bf0c69e06706cbb326dd38be0020

9 years agoAdapt color sensitiviy threshold to luma signal energy
Yaowu Xu [Mon, 2 Mar 2015 23:35:58 +0000 (15:35 -0800)]
Adapt color sensitiviy threshold to luma signal energy

Instead using only a fixed threshold, this commit adapts the threshold
for color sensitivity decision to luma signal energy: chroma channel's
sse is at least 1/6 of that in luma for color sensitivity flag to be
set to active.

This recoups a large portion of the speed loss due to accounting for
chroma component costs in RTC mode decision.

Change-Id: Ie01f747f6037dba6a1d1ed3e10b71a0ef1abc42c

9 years agoRemove unnecessary loopfilter init.
hkuang [Fri, 13 Feb 2015 19:49:26 +0000 (11:49 -0800)]
Remove unnecessary loopfilter init.

Loopfilters are init in vp9_decode_frame.

Change-Id: I4fbf6286b9b231451452e4ef3c19877a7b9a6768

9 years agofix a race condition caused by intra function pointer initialization
Yunqing Wang [Tue, 3 Mar 2015 00:19:23 +0000 (16:19 -0800)]
fix a race condition caused by intra function pointer initialization

This patch fixed webm issue 962.
(https://code.google.com/p/webm/issues/detail?id=962)
The data races occurred when an encoder and a decoder were created
at the same time, and the function pointers were initialized twice.

Change-Id: I8851b753c4b4ad4767d6eea781b61f0ac9abb44b

9 years agoMerge "libyuv: update to r1305"
Johann [Tue, 3 Mar 2015 17:20:02 +0000 (09:20 -0800)]
Merge "libyuv: update to r1305"

9 years agoResizeCspTest: request PSNR packets
James Zern [Fri, 27 Feb 2015 04:31:59 +0000 (20:31 -0800)]
ResizeCspTest: request PSNR packets

without VPX_CODEC_USE_PSNR they're only generated by default with
--enable-internal-stats

Change-Id: I9a5a8874a3aa4bde39ae09a4101ed5616c83c9a1

9 years agolibyuv: update to r1305
Johann [Mon, 2 Mar 2015 23:19:19 +0000 (15:19 -0800)]
libyuv: update to r1305

MIPS build fixes

https://code.google.com/p/webm/issues/detail?id=957

Change-Id: I9d53900af36d783c369b5dff27a7479cb94fd16b

9 years agoUse variance metric for integral projection vector match
Jingning Han [Fri, 27 Feb 2015 21:35:22 +0000 (13:35 -0800)]
Use variance metric for integral projection vector match

This commit replaces the SAD with variance as metric for the
integral projection vector match. It improves the search accuracy
in the presence of slight light change. The average speed -6
compression performance for rtc set is improved by 1.7%. No speed
changes are observed for the test clips.

Change-Id: I71c1d27e42de2aa429fb3564e6549bba1c7d6d4d

9 years agoMerge "Fix source frame border extension"
Jingning Han [Sat, 28 Feb 2015 02:19:18 +0000 (18:19 -0800)]
Merge "Fix source frame border extension"

9 years agoFix source frame border extension
Jingning Han [Fri, 27 Feb 2015 23:37:18 +0000 (15:37 -0800)]
Fix source frame border extension

This commit fixes an issue in source frame border extension. It
causes certain frame resolution such as 640x480 to have a portion
of the right/bottom extension filled by zeros, which misleads
motion search and degrades transform coding performance when large
block size is used.

This fix improves the speed 2 compression performance of a few
yt sequence, typically ranging from 1% - 2%, up to 5% at median
to low bit-rate.

Change-Id: Id6b09a5695d9e7651c6dfbc2c6a72288b08af7fb

9 years agoMerge "Fix calc_highbd_psnr"
Adrian Grange [Fri, 27 Feb 2015 23:42:08 +0000 (15:42 -0800)]
Merge "Fix calc_highbd_psnr"