platform/upstream/libvpx.git
9 years agoFix a trivial memory leak
Hanno Böck [Tue, 24 Feb 2015 23:48:21 +0000 (15:48 -0800)]
Fix a trivial memory leak

Change-Id: I1108d720bb3b30586b128dd01ce608e1e62b1756

9 years agofix the propagation of color space info in decoder
Yaowu Xu [Mon, 23 Feb 2015 21:01:14 +0000 (13:01 -0800)]
fix the propagation of color space info in decoder

This addresses the issue #960

Change-Id: Iddf45b4bd4f53cb0ddfd879e800a071cd843b915

9 years agoMerge "Remove redundant test"
Adrian Grange [Sat, 21 Feb 2015 00:13:55 +0000 (16:13 -0800)]
Merge "Remove redundant test"

9 years agoMerge "Remove a few unneccessary multiplications in denoiser."
Marco [Fri, 20 Feb 2015 22:42:02 +0000 (14:42 -0800)]
Merge "Remove a few unneccessary multiplications in denoiser."

9 years agoRemove a few unneccessary multiplications in denoiser.
Marco [Fri, 20 Feb 2015 19:54:28 +0000 (11:54 -0800)]
Remove a few unneccessary multiplications in denoiser.

Change-Id: I3edbb7cc67203fbbf32c6fd4a08015ca9d9ed53e

9 years agoMove dequant table from VP9_COMMON to VP9_COMP as decoder
Hangyu Kuang [Fri, 20 Feb 2015 18:58:12 +0000 (10:58 -0800)]
Move dequant table from VP9_COMMON to VP9_COMP as decoder
does not need it any more.

This reduces VP9_COMMON size from 25776 bytes to 17584 bytes(~31%).

Change-Id: Ic5daea732ccefb6d512b048af7983f0efe08589b

9 years agoMerge "Adjustments to cyclic refresh (aq-mode=3)."
Marco [Fri, 20 Feb 2015 17:55:05 +0000 (09:55 -0800)]
Merge "Adjustments to cyclic refresh (aq-mode=3)."

9 years agoMerge "Add high bit depth support to rtc sub8x8 block coding"
Jingning Han [Fri, 20 Feb 2015 17:35:18 +0000 (09:35 -0800)]
Merge "Add high bit depth support to rtc sub8x8 block coding"

9 years agoAdjustments to cyclic refresh (aq-mode=3).
Marco [Wed, 28 Jan 2015 19:34:24 +0000 (11:34 -0800)]
Adjustments to cyclic refresh (aq-mode=3).

Target higher delta-qp for big blocks with zero motion,
and for segment#1: avoid 64x64 partition size and force 8x8 tx size.

Metrics on RTC set mostly positive: SSIM up by ~4%, PSRN by ~1.5%.
Doesn't seem to be any change in speed.

Change-Id: I1f68fa3c4f62dab3b90cc58041f05ebb048ae5ac

9 years agoAdd high bit depth support to rtc sub8x8 block coding
Jingning Han [Wed, 18 Feb 2015 23:48:40 +0000 (15:48 -0800)]
Add high bit depth support to rtc sub8x8 block coding

This commit adds proper buffer handle to support high bit depth
in rtc sub8x8 block coding.

Change-Id: Ibaf8a2160194121aec9ca68b8094817fed9ccaea

9 years agoMerge "Optimize the dequantization process on decoder side."
Hangyu Kuang [Fri, 20 Feb 2015 16:23:54 +0000 (08:23 -0800)]
Merge "Optimize the dequantization process on decoder side."

9 years agoMerge "Fix control string in firstpass stats fprintf"
Adrian Grange [Fri, 20 Feb 2015 00:36:43 +0000 (16:36 -0800)]
Merge "Fix control string in firstpass stats fprintf"

9 years agoOptimize the dequantization process on decoder side.
Hangyu Kuang [Wed, 18 Feb 2015 23:32:24 +0000 (15:32 -0800)]
Optimize the dequantization process on decoder side.

Change-Id: I00621ff7165bbe86a18794b4a816976c9effaf78

9 years agoMerge "Improve skip_txfm thresholds in the non-rd mode selection"
Yunqing Wang [Thu, 19 Feb 2015 23:31:02 +0000 (15:31 -0800)]
Merge "Improve skip_txfm thresholds in the non-rd mode selection"

9 years agoFix control string in firstpass stats fprintf
Adrian Grange [Thu, 19 Feb 2015 23:18:30 +0000 (15:18 -0800)]
Fix control string in firstpass stats fprintf

20 items in the control string but only 19 arguments.

Change-Id: I51dab9aa1c58c653b52395005a9cb41f09feb484

9 years agoMerge "Integral projection based motion estimation"
Jingning Han [Thu, 19 Feb 2015 23:08:11 +0000 (15:08 -0800)]
Merge "Integral projection based motion estimation"

9 years agoImprove skip_txfm thresholds in the non-rd mode selection
Yunqing Wang [Thu, 19 Feb 2015 00:38:08 +0000 (16:38 -0800)]
Improve skip_txfm thresholds in the non-rd mode selection

Modified the thresholds of deciding whether or not to skip
the transforms in model_rd_for_sb_y(). Used zbin[] instead
of dequant[] to be more precise. Also, modified the checking
coditions.

Rtc set borg test results (at speed 6) showed:
average PSNR gain: 0.138%, overall PSNR gain: 0.158%,
and SSIM gain: 0.177%.

The data rate test was modified slightly as suggested by
Marco.

Change-Id: Ieaf633ab77f4838cb3c45cf69065b29d55f8ae6c

9 years agoIntegral projection based motion estimation
Jingning Han [Fri, 13 Feb 2015 19:23:45 +0000 (11:23 -0800)]
Integral projection based motion estimation

This commit introduces a new block match motion estimation
using integral projection measurement. The 2-D block and the nearby
region is projected onto the horizontal and vertical 1-D vectors,
respectively. It then runs vector match, instead of block match,
over the two separate 1-D vectors to locate the motion compensated
reference block.

This process is run per 64x64 block to align the reference before
choosing partitioning in speed 6. The overall CPU cycle cost due
to this additional 64x64 block match (SSE2 version) takes around 2%
at low bit-rate rtc speed 6. When strong motion activities exist in
the video sequence, it substantially improves the partition
selection accuracy, thereby achieving better compression performance
and lower CPU cycles.

The experiments were tested in RTC speed -6 setting:
cloud 1080p 500 kbps
17006 b/f, 37.086 dB, 5386 ms ->
16669 b/f, 37.970 dB, 5085 ms (>0.9dB gain and 6% faster)

pedestrian_area 1080p 500 kbps
53537 b/f, 36.771 dB, 18706 ms ->
51897 b/f, 36.792 dB, 18585 ms (4% bit-rate savings)

blue_sky 1080p 500 kbps
70214 b/f, 33.600 dB, 13979 ms ->
53885 b/f, 33.645 dB, 10878 ms (30% bit-rate savings, 25% faster)

jimred 400 kbps
13380 b/f, 36.014 dB, 5723 ms ->
13377 b/f, 36.087 dB, 5831 ms  (2% bit-rate savings, 2% slower)

Change-Id: Iffdb6ea5b16b77016bfa3dd3904d284168ae649c

9 years agoFix a check condition in nonrd_pick_partition
Jingning Han [Thu, 19 Feb 2015 17:54:08 +0000 (09:54 -0800)]
Fix a check condition in nonrd_pick_partition

Change-Id: Ic92fb4b16948f745c218351b24fdafecf9abce3a

9 years agoMerge "Fix the frame parallel invalid file test failure on ARM."
hkuang [Wed, 18 Feb 2015 22:09:28 +0000 (14:09 -0800)]
Merge "Fix the frame parallel invalid file test failure on ARM."

9 years agoMerge "test_vector_test: fix build with --disable-(vp8|vp9)"
James Zern [Tue, 17 Feb 2015 22:05:32 +0000 (14:05 -0800)]
Merge "test_vector_test: fix build with --disable-(vp8|vp9)"

9 years agoFix the frame parallel invalid file test failure on ARM.
hkuang [Mon, 9 Feb 2015 20:14:00 +0000 (12:14 -0800)]
Fix the frame parallel invalid file test failure on ARM.

There is a corner case that when a frame is corrupted, the following
inter frame decode worker will miss the previous failure. To solve
this problem, a need_resync flag needs to be added to master thread
to keep control of that.

Change-Id: Iea9309b2562e7b59a83dd6b720607410286c90a6

9 years agoloop_filter_rows_mt: remove dependency on 'last_height'
James Zern [Sat, 14 Feb 2015 02:03:45 +0000 (18:03 -0800)]
loop_filter_rows_mt: remove dependency on 'last_height'

using this to control reallocation would miss a change if the function
were not called for every frame.
fixes potential memory corruption by the subsequent memset

Change-Id: I4c6bb6ab68803104fc824c7e27cc2f9b2cf53e33

9 years agotest_vector_test: fix build with --disable-(vp8|vp9)
James Zern [Sat, 14 Feb 2015 02:48:45 +0000 (18:48 -0800)]
test_vector_test: fix build with --disable-(vp8|vp9)

use VP[89]_INSTANTIATE_TEST_CASE case when possible to disable the tests if
the codec is unavailable.
broken since:
be6aead Try again to merge branch 'frame-parallel' into master branch.

Change-Id: I8d81c5ba3b951f82be94bfaed6be194e4289baec

9 years agoMerge "Fix an encoder/decode mismatch bug"
Yaowu Xu [Sat, 14 Feb 2015 00:40:41 +0000 (16:40 -0800)]
Merge "Fix an encoder/decode mismatch bug"

9 years agoFix an encoder/decode mismatch bug
Yaowu Xu [Fri, 13 Feb 2015 22:53:11 +0000 (14:53 -0800)]
Fix an encoder/decode mismatch bug

This commit prevent the encoder to update last_frame_type when a frame
is dropped in the encoder. Prior to this fix, if there is a dropped
frame immediatedly after a key frame, decoder would have the value of
last_frame_type as key frame, different from encoder as the dropped
frame in encoder would have updated the value to an inter frame. This
leads to different probability update in encoder and decoder, thereby
encoder/decoder mismatch.

This fixes issue #941

Change-Id: I27115224b138bec43ae3916c016574f5740822b0

9 years agoMerge "Replace some operations with shift in encoder_breakout."
Marco [Fri, 13 Feb 2015 23:28:49 +0000 (15:28 -0800)]
Merge "Replace some operations with shift in encoder_breakout."

9 years agoMerge "Improve readability: move return statements"
Adrian Grange [Fri, 13 Feb 2015 23:28:01 +0000 (15:28 -0800)]
Merge "Improve readability: move return statements"

9 years agoRemove redundant test
Adrian Grange [Fri, 13 Feb 2015 22:51:32 +0000 (14:51 -0800)]
Remove redundant test

Change-Id: I11e4fd8dcd44b0475f3bff0545a035feb223ce55

9 years agoReplace some operations with shift in encoder_breakout.
Marco [Fri, 13 Feb 2015 18:42:57 +0000 (10:42 -0800)]
Replace some operations with shift in encoder_breakout.

Replaced a divide by 9 with 8, so some very small difference,
but otherwise no change in behavior.

Change-Id: I1079ae3c41e0789ff0bc6fa9940a238b6bca0f5b

9 years agoMerge "Add VP9 decoder control to get frame size"
Adrian Grange [Fri, 13 Feb 2015 18:20:14 +0000 (10:20 -0800)]
Merge "Add VP9 decoder control to get frame size"

9 years agoImprove readability: move return statements
Adrian Grange [Fri, 13 Feb 2015 17:16:37 +0000 (09:16 -0800)]
Improve readability: move return statements

Change-Id: I18428d0a93084f78ec136d9019f10466326c67e5

9 years agoAdd VP9 decoder control to get frame size
Adrian Grange [Fri, 13 Feb 2015 16:14:44 +0000 (08:14 -0800)]
Add VP9 decoder control to get frame size

Adds a control function that allows the caller to get
the size of the current frame.

Change-Id: Iddfdedc0f3aa9aa46119f87d294681c82f275c9f

9 years agoMerge "vpx_temporal_svc_encoder: Adjust default qp-max setting for vp9."
Marco [Fri, 13 Feb 2015 16:11:31 +0000 (08:11 -0800)]
Merge "vpx_temporal_svc_encoder: Adjust default qp-max setting for vp9."

9 years agoMerge "Fix ioc issue in block_rd_txfm"
Jingning Han [Thu, 12 Feb 2015 23:07:41 +0000 (15:07 -0800)]
Merge "Fix ioc issue in block_rd_txfm"

9 years agoFix ioc issue in block_rd_txfm
Jingning Han [Thu, 12 Feb 2015 20:08:30 +0000 (12:08 -0800)]
Fix ioc issue in block_rd_txfm

Force 64-bit precision in the intermediate steps.

Change-Id: I666113d9adcef8975da201d5aa1a13b783d09594

9 years agovpx_temporal_svc_encoder: Adjust default qp-max setting for vp9.
Marco [Thu, 12 Feb 2015 20:38:11 +0000 (12:38 -0800)]
vpx_temporal_svc_encoder: Adjust default qp-max setting for vp9.

Change-Id: Iada495f05193a1f645a5405ad792931f4d9113ab

9 years agoMerge "Add missing initializer to VP8 codec interface"
Adrian Grange [Thu, 12 Feb 2015 20:40:02 +0000 (12:40 -0800)]
Merge "Add missing initializer to VP8 codec interface"

9 years agoMerge "Remove unnecessary border extension when frame size change."
hkuang [Thu, 12 Feb 2015 20:00:32 +0000 (12:00 -0800)]
Merge "Remove unnecessary border extension when frame size change."

9 years agoMerge "Add skin detection."
Marco [Thu, 12 Feb 2015 19:12:27 +0000 (11:12 -0800)]
Merge "Add skin detection."

9 years agoAdd missing initializer to VP8 codec interface
Adrian Grange [Thu, 12 Feb 2015 17:31:40 +0000 (09:31 -0800)]
Add missing initializer to VP8 codec interface

Change-Id: Ia164ba03fb732e9c9e520e4aa2d75b7eadff6165

9 years agoMerge "Update partition rate cost in rtc speed 5"
Jingning Han [Thu, 12 Feb 2015 17:14:49 +0000 (09:14 -0800)]
Merge "Update partition rate cost in rtc speed 5"

9 years agoMerge "Add mode cost to sub8x8 block mode decision in rtc coding"
Jingning Han [Thu, 12 Feb 2015 17:14:29 +0000 (09:14 -0800)]
Merge "Add mode cost to sub8x8 block mode decision in rtc coding"

9 years agoMerge "Add cast to convert double to int"
Adrian Grange [Thu, 12 Feb 2015 15:02:54 +0000 (07:02 -0800)]
Merge "Add cast to convert double to int"

9 years agoAdd skin detection.
Marco [Tue, 3 Feb 2015 20:34:37 +0000 (12:34 -0800)]
Add skin detection.

Simple skin detection, from vp8; works reasonable on most of the
RTC clips, but could miss sometimes.

Added debug flag to write out skin map over source input.

Change-Id: I2caea7592f1c459047aac46627eeb24a94946464

9 years agoMerge "Make vp9_print_modes_and_motion_vectors() work"
Yunqing Wang [Thu, 12 Feb 2015 00:58:52 +0000 (16:58 -0800)]
Merge "Make vp9_print_modes_and_motion_vectors() work"

9 years agoMerge "vp9_thread: prefer pthread.h if available"
James Zern [Thu, 12 Feb 2015 00:50:07 +0000 (16:50 -0800)]
Merge "vp9_thread: prefer pthread.h if available"

9 years agoMerge "vp9_highbd_tm_predictor_16x16: fix win64"
James Zern [Thu, 12 Feb 2015 00:49:53 +0000 (16:49 -0800)]
Merge "vp9_highbd_tm_predictor_16x16: fix win64"

9 years agoAdd cast to convert double to int
Adrian Grange [Wed, 11 Feb 2015 17:41:47 +0000 (09:41 -0800)]
Add cast to convert double to int

Change-Id: I7f63c2940256a5dadf9a29a853809290dd9e98ed

9 years agoAdd mode cost to sub8x8 block mode decision in rtc coding
Jingning Han [Tue, 10 Feb 2015 23:32:38 +0000 (15:32 -0800)]
Add mode cost to sub8x8 block mode decision in rtc coding

This commit allows the encoder to properly account for the mode
cost in sub8x8 non-RD mode decision.

Change-Id: I2951960d20e37ed08e372ee0c7044935b2b9b899

9 years agoMerge "Account for inter prediction filter rate cost in rtc mode selection"
Jingning Han [Wed, 11 Feb 2015 22:42:44 +0000 (14:42 -0800)]
Merge "Account for inter prediction filter rate cost in rtc mode selection"

9 years agoMerge "Add ref frame rate cost to non-RD mode decision"
Jingning Han [Wed, 11 Feb 2015 22:36:48 +0000 (14:36 -0800)]
Merge "Add ref frame rate cost to non-RD mode decision"

9 years agoUpdate partition rate cost in rtc speed 5
Jingning Han [Wed, 11 Feb 2015 20:25:51 +0000 (12:25 -0800)]
Update partition rate cost in rtc speed 5

The block partition rate cost should be updated when recursive
partition search is needed.

Change-Id: I7bc5ad1fc2cbd3577dee7f7e8da111a2742bdeb9

9 years agoAccount for inter prediction filter rate cost in rtc mode selection
Jingning Han [Mon, 9 Feb 2015 23:29:58 +0000 (15:29 -0800)]
Account for inter prediction filter rate cost in rtc mode selection

Add the rate cost on inter prediction filter type to the overall
rate-distortion cost in vp9_pick_mode_inter.

Change-Id: I72c34017adf5220cadb3962694ee5404469fc673

9 years agoAdd ref frame rate cost to non-RD mode decision
Jingning Han [Wed, 11 Feb 2015 18:51:50 +0000 (10:51 -0800)]
Add ref frame rate cost to non-RD mode decision

This commit adds a heuristic rate cost of reference frame to the
non-RD mode decision. It improves the compression performance of
speed -6 by 0.31% and speed -5 by 0.69%.

Change-Id: If7f3b45519d49b2cb640bcb7316a254efc8be446

9 years agovp9_highbd_tm_predictor_16x16: fix win64
James Zern [Wed, 11 Feb 2015 03:30:58 +0000 (19:30 -0800)]
vp9_highbd_tm_predictor_16x16: fix win64

by saving xmm8; cglobal's xmm reg arg is 0-based

Change-Id: Ic8426ec9ac59ab4478716aa812452a6406794dcb

9 years agoAdd --color-space to vpxenc
Yaowu Xu [Tue, 10 Feb 2015 23:03:05 +0000 (15:03 -0800)]
Add --color-space to vpxenc

This enbale the encoder to set color space information for the input
video, so it is then coded in the output bitstream.

Change-Id: Ife03deab3c762425ccd27c4c190902c4d94a76f4

9 years agoMake vp9_print_modes_and_motion_vectors() work
Yunqing Wang [Wed, 11 Feb 2015 00:29:03 +0000 (16:29 -0800)]
Make vp9_print_modes_and_motion_vectors() work

MODE_INFO struct was modified, and vp9_print_modes_and_motion_vectors()
didn't work anymore. This patch modified vp9_debugmodes.c so that
this function works again for debug usage.

Change-Id: I293fae0295235deb2529a460a274caf7c045ac1a

9 years agoMove computation up to frame level
Yaowu Xu [Mon, 9 Feb 2015 18:21:17 +0000 (10:21 -0800)]
Move computation up to frame level

This is to avoid redo the same calculation repeatly, and also allow
easier adjustments for further experiments.

This commit shall have no effect on quality/compression.

Change-Id: I4460acf5c808ff5518da18d21e002c5da58af857

9 years agoRemove unnecessary border extension when frame size change.
hkuang [Tue, 10 Feb 2015 22:55:27 +0000 (14:55 -0800)]
Remove unnecessary border extension when frame size change.

This border extension is not needed with on-demond border extension.

Change-Id: I8501b37f5f756dc7e874cef4c1cfdbfa9a16112a

9 years agovp9_thread: prefer pthread.h if available
James Zern [Tue, 10 Feb 2015 20:47:14 +0000 (12:47 -0800)]
vp9_thread: prefer pthread.h if available

this avoids conflicts with recent versions of mingw-w64 (tested g++
4.8.2) and the unit tests

Change-Id: Ic41ea31eebe0e3e712ed5e657f37d8cad6712088

9 years agoMerge "Auto-adaptive encoder frame resizing logic"
Adrian Grange [Tue, 10 Feb 2015 20:16:55 +0000 (12:16 -0800)]
Merge "Auto-adaptive encoder frame resizing logic"

9 years agoMerge "Fix block partition size in fill_mode_info_sb"
Jingning Han [Tue, 10 Feb 2015 18:49:03 +0000 (10:49 -0800)]
Merge "Fix block partition size in fill_mode_info_sb"

9 years agoAuto-adaptive encoder frame resizing logic
Adrian Grange [Fri, 14 Nov 2014 23:29:18 +0000 (15:29 -0800)]
Auto-adaptive encoder frame resizing logic

Note: This feature is still in development.

Add an option for the encoder to decide the resolution
at which to encode each frame.

Each KF/GF/ARF goup is tested to see if it would be
better encoded at a lower resolution. At present, each
KF/GF/ARF is coded first at full-size and if the coded
size exceeds a threshold (twice target data rate) at
the maximum active Q then the entire group is encoded
at lower resolution.

This feature is enabled in vpxenc by setting:
  --resize-allowed=1

In addition, if the vpxenc command line also specifies
valid frame dimensions using:
  --resize-width=XXXX & --resize_height=YYYY
then *all* frames will be encoded at this resolution.

Change-Id: I13f341e0a82512f9e84e144e0f3b5aed8a65402b

9 years agoMerge "Make encoder and decoder share common thread function"
Yunqing Wang [Tue, 10 Feb 2015 17:06:41 +0000 (09:06 -0800)]
Merge "Make encoder and decoder share common thread function"

9 years agoMerge "Rename loopfilter_thread files to thread_common files"
Yunqing Wang [Tue, 10 Feb 2015 17:06:23 +0000 (09:06 -0800)]
Merge "Rename loopfilter_thread files to thread_common files"

9 years agoFix block partition size in fill_mode_info_sb
Jingning Han [Mon, 9 Feb 2015 17:48:44 +0000 (09:48 -0800)]
Fix block partition size in fill_mode_info_sb

This commit fixes the sub block partition size used in
fill_mode_info_sb. Previous implementation effectively disabled
the rectangular block sizes. This commit resolved this issue.

Change-Id: Ic1c383ab0a9a2e7d59e85b388093f1f1f94d1e7f

9 years agoMerge "configure: add --(disable|enable)-dependency-tracking"
James Zern [Tue, 10 Feb 2015 08:00:24 +0000 (00:00 -0800)]
Merge "configure: add --(disable|enable)-dependency-tracking"

9 years agoMerge "Add two constant definitions"
Yaowu Xu [Tue, 10 Feb 2015 01:00:55 +0000 (17:00 -0800)]
Merge "Add two constant definitions"

9 years agoconfigure: add --(disable|enable)-dependency-tracking
James Zern [Fri, 6 Feb 2015 03:31:38 +0000 (19:31 -0800)]
configure: add --(disable|enable)-dependency-tracking

defaults to enabled. when disabled skips dependency file (.d) generation
allowing for faster one-time builds.

Change-Id: I2d7d7f905f1663315b8eb2b2e81fffb6fcb15829

9 years agoAdd two constant definitions
Yaowu Xu [Tue, 10 Feb 2015 00:26:53 +0000 (16:26 -0800)]
Add two constant definitions

This fixes compiler errors for vs 2008.

Change-Id: Ifaabb1c5e74fe6ede6dacf66ec3f634fecb556fd

9 years agoMerge "Set the maximum decode threads to be 8."
hkuang [Tue, 10 Feb 2015 00:25:20 +0000 (16:25 -0800)]
Merge "Set the maximum decode threads to be 8."

9 years agoMerge "Fix high bit depth assembly function bugs"
Yunqing Wang [Mon, 9 Feb 2015 23:30:36 +0000 (15:30 -0800)]
Merge "Fix high bit depth assembly function bugs"

9 years agoSet the maximum decode threads to be 8.
hkuang [Thu, 5 Feb 2015 21:59:15 +0000 (13:59 -0800)]
Set the maximum decode threads to be 8.

This will fix the frame parallel decode hang on windows
due to not enough semaphores.

This will also make the frame parallel decode safer as
the number of frame buffers could only support maximum
8 threads.

Change-Id: Id9ef50692819dcbebbd74a0aabffbfb3f39a4309

9 years agoFix jenkins unit test failure due to "uninitialised value".
hkuang [Sat, 7 Feb 2015 23:13:45 +0000 (15:13 -0800)]
Fix jenkins unit test failure due to "uninitialised value".

Change-Id: Ief6b526486bc729dcb787358bc0b781f278bdc66

9 years agoPrevent VP8 encoding crash
Yaowu Xu [Sat, 7 Feb 2015 00:32:20 +0000 (16:32 -0800)]
Prevent VP8 encoding crash

This commit changes the value of highbitdepth flag to avoid conflict
with vp8 refresh_last_frame flag.

Change-Id: Idcff2cf44f0a200bd935b326f785c0cf32d7228a

9 years agoMerge "vpxdec: correct file op error messages"
James Zern [Fri, 6 Feb 2015 22:40:52 +0000 (14:40 -0800)]
Merge "vpxdec: correct file op error messages"

9 years agoMerge "Correct the miscalculation in uv dimensions"
Yaowu Xu [Fri, 6 Feb 2015 21:54:44 +0000 (13:54 -0800)]
Merge "Correct the miscalculation in uv dimensions"

9 years agoCorrect the miscalculation in uv dimensions
Yaowu Xu [Fri, 6 Feb 2015 20:19:32 +0000 (12:19 -0800)]
Correct the miscalculation in uv dimensions

The calculation of required extension used in HBD case was wrong due
to rounding for UV when y dimension is odd. This commit replace the
computation with correct version.

This fixes a crash caused by writting beyond buffer boundary.

Change-Id: Ic7c9afeb7388cd1341ec4974a611dacfb74ac6b6

9 years agoMake encoder and decoder share common thread function
Yunqing Wang [Fri, 6 Feb 2015 19:37:45 +0000 (11:37 -0800)]
Make encoder and decoder share common thread function

Moved vp9_accumulate_frame_counts to vp9_thread_common.c to
eliminate the duplicate code.

Change-Id: I9cf506d729603c8bf1494b4c86a3b7d47af1917a

9 years agoMerge "Re-arrange inter mode search order in RTC coding flow"
Jingning Han [Fri, 6 Feb 2015 18:11:33 +0000 (10:11 -0800)]
Merge "Re-arrange inter mode search order in RTC coding flow"

9 years agoRename loopfilter_thread files to thread_common files
Yunqing Wang [Fri, 6 Feb 2015 18:03:31 +0000 (10:03 -0800)]
Rename loopfilter_thread files to thread_common files

Renames the files to allow more common thread code to
be moved to vp9/common.

Change-Id: I7386e64e221086e3cdc087e79812f993c423413b

9 years agoMerge "Replace repeated check with single variable"
Yaowu Xu [Fri, 6 Feb 2015 17:17:59 +0000 (09:17 -0800)]
Merge "Replace repeated check with single variable"

9 years agoRe-arrange inter mode search order in RTC coding flow
Jingning Han [Fri, 6 Feb 2015 01:13:25 +0000 (17:13 -0800)]
Re-arrange inter mode search order in RTC coding flow

This commit makes the ZEROMV mode first in the search order to
ensure that the zero mv is always checked in the RTC coding mode.
It improves the average speed -6 compression performance by 0.3%
in both PSNR and SSIM at no visible speed change.

Change-Id: I465a7e59f4e20cd84fee3f02ced6f98036945949

9 years agoMerge "vp9: fix segfault w/corrupt data post frame-parallel merge"
James Zern [Fri, 6 Feb 2015 08:28:10 +0000 (00:28 -0800)]
Merge "vp9: fix segfault w/corrupt data post frame-parallel merge"

9 years agovpxdec: correct file op error messages
James Zern [Fri, 6 Feb 2015 05:06:29 +0000 (21:06 -0800)]
vpxdec: correct file op error messages

- use fatal() consistently
- correct wording in output file open failure message

Change-Id: I4dafe03c6eece6df53375f72adf0d5964e211c9a

9 years agoMerge "Revert "Add vp9_highbitdepth info in configure --help""
James Zern [Thu, 5 Feb 2015 22:09:01 +0000 (14:09 -0800)]
Merge "Revert "Add vp9_highbitdepth info in configure --help""

9 years agoMerge "Fix a thread lost bug in frame parallel decode."
hkuang [Thu, 5 Feb 2015 22:07:35 +0000 (14:07 -0800)]
Merge "Fix a thread lost bug in frame parallel decode."

9 years agoMerge "vpx_temporal_svc_encoder: change default setting for static threshold."
Marco [Thu, 5 Feb 2015 21:01:40 +0000 (13:01 -0800)]
Merge "vpx_temporal_svc_encoder: change default setting for static threshold."

9 years agoRevert "Add vp9_highbitdepth info in configure --help"
James Zern [Thu, 5 Feb 2015 20:53:44 +0000 (12:53 -0800)]
Revert "Add vp9_highbitdepth info in configure --help"

This reverts commit a6715a75589b418f9af5f44d93e0d7ecbaa77d48.

Removes a duplicate entry; this was previously added by:
14e37cf Add help info for --enable-vp9-highbitdepth

Change-Id: I61408e782232821ef6ed84775b5c79d172ba7f2d

9 years agoMerge "Mute the harmless tsan error in frame parallel decode."
hkuang [Thu, 5 Feb 2015 20:44:04 +0000 (12:44 -0800)]
Merge "Mute the harmless tsan error in frame parallel decode."

9 years agoMerge "configure: enable x86inc for all intel platforms"
James Zern [Thu, 5 Feb 2015 20:18:24 +0000 (12:18 -0800)]
Merge "configure: enable x86inc for all intel platforms"

9 years agovp9: fix segfault w/corrupt data post frame-parallel merge
James Zern [Wed, 4 Feb 2015 03:55:55 +0000 (19:55 -0800)]
vp9: fix segfault w/corrupt data post frame-parallel merge

cm->frame_bufs[].idx values were made consistent in:
61c5e94 Use -1 consistently as invalid buffer idx
update the initialization in swap_frame_buffers() to match.
additionally:
  - remove some shadowed variables in the former and marked them volatile

Change-Id: Ie3f9636c405bd822112bb56bd22d28024ae98909

9 years agovpx_temporal_svc_encoder: change default setting for static threshold.
Marco [Thu, 5 Feb 2015 20:05:49 +0000 (12:05 -0800)]
vpx_temporal_svc_encoder: change default setting for static threshold.

Change-Id: Ie45c8344df9415173eae7aa20384ea8ecb05d07a

9 years agoFix high bit depth assembly function bugs
Yunqing Wang [Wed, 4 Feb 2015 20:02:06 +0000 (12:02 -0800)]
Fix high bit depth assembly function bugs

The high bit depth build failed while building for 32bit target.
The bugs were in vp9_highbd_subpel_variance.asm and
vp9_highbd_sad4d_sse2.asm functions. This patch fixed the bugs,
and made 32bit build work.

Change-Id: Idc8e5e1b7965bb70d4afba140c6583c5d9666b75

9 years agoconfigure: enable x86inc for all intel platforms
James Zern [Thu, 5 Feb 2015 03:16:12 +0000 (19:16 -0800)]
configure: enable x86inc for all intel platforms

there are no known issues since:
10d5e09 Fix issues in 32bit PIC enabled build

related issues: #808, #924

Change-Id: I80454f95fe6b4ce630fdd434d740ce8b0d42951b

9 years agoMerge "Xcode: Fix includes in examples."
Tom Finegan [Thu, 5 Feb 2015 01:33:41 +0000 (17:33 -0800)]
Merge "Xcode: Fix includes in examples."

9 years agoXcode: Fix includes in examples.
Tom Finegan [Thu, 5 Feb 2015 00:11:57 +0000 (16:11 -0800)]
Xcode: Fix includes in examples.

The current file's directory, ".", is treated much more literally
when building libvpx examples with Xcode than it is with make, and
clang cannot find common include files included via "./" when those
files actually reside one directory up in the tree.

Change-Id: I5f66a026282e35d80248ca4052ebb882b859172e

9 years agoRemove unnecessary initialization
Yaowu Xu [Wed, 4 Feb 2015 02:03:51 +0000 (18:03 -0800)]
Remove unnecessary initialization

loop_filter_level is always reset in loop_filter_frame() later in
encoder.

Change-Id: I608e03d905a6b23e7d5025ca747e4784c665007e

9 years agoMove tx_mode decision logic into select_tx_mode()
Yaowu Xu [Wed, 4 Feb 2015 01:50:48 +0000 (17:50 -0800)]
Move tx_mode decision logic into select_tx_mode()

Change-Id: I7f8f78c33eb3f33344b029a27bda320f4d68c577