platform/upstream/libvpx.git
10 years agoClean out old CONFIG_MULTIPLE_ARF code.
Paul Wilkins [Tue, 17 Jun 2014 14:31:24 +0000 (15:31 +0100)]
Clean out old CONFIG_MULTIPLE_ARF code.

Remove the old experimental multi arf code that was under
the flag CONFIG_MULTIPLE_ARF.

Change-Id: Ib24865abc11691d6ac8cb0434ada1da674368a61

10 years agoExperiment for mid group second arf.
Paul Wilkins [Mon, 9 Jun 2014 15:25:31 +0000 (16:25 +0100)]
Experiment for mid group second arf.

This patch implements a mechanism for inserting a second
arf at the mid position of arf groups.

It is currently disabled by default using the flag multi_arf_enabled.

Results are currently down somewhat in initial testing if
multi-arf is enabled. Most of the loss is attributable to the
fact that code to preserve the previous golden frame
(in the arf buffer) in cases where we are coding an overlay
frame, is currently disabled in the multi-arf case.

Change-Id: I1d777318ca09f147db2e8c86d7315fe86168c865

10 years agoMerge "Switch active map implementation to segment based."
Alex Converse [Tue, 24 Jun 2014 01:25:51 +0000 (18:25 -0700)]
Merge "Switch active map implementation to segment based."

10 years agoMerge "Fork vp9_rd_pick_inter_mode_sb_seg_skip"
Alex Converse [Tue, 24 Jun 2014 01:25:46 +0000 (18:25 -0700)]
Merge "Fork vp9_rd_pick_inter_mode_sb_seg_skip"

10 years agoAllocate buffers based on correct chroma format
Adrian Grange [Mon, 16 Jun 2014 23:22:28 +0000 (16:22 -0700)]
Allocate buffers based on correct chroma format

The encoder currently allocates frame buffers before
it establishes what the chroma sub-sampling factor is,
always allocating based on the 4:4:4 format.

This patch detects the chroma format as early as
possible allowing the encoder to allocate buffers of
the correct size.

Future patches will change the encoder to allocate
frame buffers on demand to further reduce the memory
profile of the encoder and rationalize the buffer
management in the encoder and decoder.

Change-Id: Ifd41dd96e67d0011719ba40fada0bae74f3a0d57

10 years agoMerge "Add Check for Peek Stream validity to decoder test."
Jim Bankoski [Mon, 23 Jun 2014 18:21:07 +0000 (11:21 -0700)]
Merge "Add Check for Peek Stream validity to decoder test."

10 years agoMerge "Actually skip blocks in skip segments in non-rd encoder."
Alex Converse [Mon, 23 Jun 2014 17:23:20 +0000 (10:23 -0700)]
Merge "Actually skip blocks in skip segments in non-rd encoder."

10 years agoMerge "Remove unused vp9_init_quant_tables function"
Jingning Han [Mon, 23 Jun 2014 16:37:30 +0000 (09:37 -0700)]
Merge "Remove unused vp9_init_quant_tables function"

10 years agoMerge "error check vp9 superframe parsing"
Jim Bankoski [Mon, 23 Jun 2014 15:58:36 +0000 (08:58 -0700)]
Merge "error check vp9 superframe parsing"

10 years agoAdd Check for Peek Stream validity to decoder test.
Jim Bankoski [Mon, 23 Jun 2014 15:37:18 +0000 (08:37 -0700)]
Add Check for Peek Stream validity to decoder test.

Change-Id: I9b745670a9f842582c47e6001dc77480b31fb6a1

10 years agoerror check vp9 superframe parsing
Jim Bankoski [Mon, 23 Jun 2014 14:04:57 +0000 (07:04 -0700)]
error check vp9 superframe parsing

This patch insures that the last byte of a chunk that contains a
valid superframe marker byte,  actually has a proper superframe index.
If not it returns an error.

As part of doing that the file : vp90-2-15-fuzz-flicker.webm now fails
to decode properly and moves to the invalid file test from the test
vector suite.

Change-Id: I5f1da7eb37282ec0c6394df5c73251a2df9c1744

10 years agoRevert 3 patches from Hangyu to get Chrome to build:
Jim Bankoski [Sat, 21 Jun 2014 18:36:51 +0000 (11:36 -0700)]
Revert 3 patches from Hangyu to get Chrome to build:

Avoids failures:
MSE_ClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKeyDecryptOnly/EncryptedMediaTest.Playback_VP9Video_WebM/0
MSE_ExternalClearKeyDecryptOnly_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
SRC_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
SRC_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
SRC_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0

Patches are
This reverts commit 9bc040859b0ca6869d31bc0efa223e8684eef37a
This reverts commit 6f5aba069a2c7ffb293ddce70219a9ab4a037441
This reverts commit 9bc040859b0ca6869d31bc0efa223e8684eef37a

I1f250441 Revert "Refactor the vp9_get_frame code for frame parallel."
Ibfdddce5 Revert "Delay decreasing reference count in frame-parallel decoding."
I00ce6771 Revert "Introduce FrameWorker for decoding."

Need better testing in libvpx for these commits

Change-Id: Ifa1f279b0cabf4b47c051ec26018f9301c1e130e

10 years agoMerge "Fix bug in error handling that causes segfault"
Jim Bankoski [Fri, 20 Jun 2014 23:46:31 +0000 (16:46 -0700)]
Merge "Fix bug in error handling that causes segfault"

10 years agoMerge "fix peek_si to enable 1 byte show existing frames."
Jim Bankoski [Fri, 20 Jun 2014 23:28:07 +0000 (16:28 -0700)]
Merge "fix peek_si to enable 1 byte show existing frames."

10 years agoMerge "Added Test vector that tests more show existing frames."
Jim Bankoski [Fri, 20 Jun 2014 23:27:57 +0000 (16:27 -0700)]
Merge "Added Test vector that tests more show existing frames."

10 years agoAdd back libmkv ebml writer files.
Frank Galligan [Fri, 20 Jun 2014 22:00:08 +0000 (15:00 -0700)]
Add back libmkv ebml writer files.

Another project in ChromeOS is using these files. To make libvpx
rolls simpler, add these files back unitl the other project removes
the dependency.

crbug.com/387246 tracking bug to remove dependency.

Change-Id: If9c197081c845c4a4e5c5488d4e0190380bcb1e4

10 years agoMerge "Introduce FrameWorker for decoding."
hkuang [Fri, 20 Jun 2014 21:47:46 +0000 (14:47 -0700)]
Merge "Introduce FrameWorker for decoding."

10 years agoIntroduce FrameWorker for decoding.
hkuang [Tue, 17 Jun 2014 01:23:06 +0000 (18:23 -0700)]
Introduce FrameWorker for decoding.

When decoding in serial mode, there will be only
one FrameWorker doing decoding. When decoding in
parallel mode, there will be several FrameWorkers
doing decoding in parallel.

Change-Id: If53fc5c49c7a0bf5e773f1ce7008b8a62fdae257

10 years agoAdded Test vector that tests more show existing frames.
Jim Bankoski [Thu, 19 Jun 2014 14:00:39 +0000 (07:00 -0700)]
Added Test vector that tests more show existing frames.

Change-Id: I0ddd7dd55313ee62d231ed4b9040e08c3761b3fe

10 years agoFix bug in error handling that causes segfault
Jim Bankoski [Thu, 19 Jun 2014 19:10:05 +0000 (12:10 -0700)]
Fix bug in error handling that causes segfault

See: https://code.google.com/p/chromium/issues/detail?id=362697

The code properly catches an invalid stream but seg faults instead of
returning an error due to a buffer not having been initialized. This
code fixes that.

Change-Id: I695595e742cb08807e1dfb2f00bc097b3eae3a9b

10 years agoMerge "Validate error checking code in decoder."
Jim Bankoski [Fri, 20 Jun 2014 21:44:25 +0000 (14:44 -0700)]
Merge "Validate error checking code in decoder."

10 years agoValidate error checking code in decoder.
Jim Bankoski [Fri, 20 Jun 2014 20:52:06 +0000 (13:52 -0700)]
Validate error checking code in decoder.

This patch adds a mechanism for insuring error checking on invalid files
by creating a unit test that runs the decoder and tests that the error
code matches what's expected on each frame in the decoder.

Disabled for now as this unit test will segfault with existing code.

Change-Id: I896f9686d9ebcbf027426933adfbea7b8c5d956e

10 years agoSwitch active map implementation to segment based.
Alex Converse [Fri, 20 Jun 2014 17:36:18 +0000 (10:36 -0700)]
Switch active map implementation to segment based.

Change-Id: Ibb841a1fa4d08d164cf5461246ec290f582b1f80

10 years agoFork vp9_rd_pick_inter_mode_sb_seg_skip
Alex Converse [Fri, 30 May 2014 23:02:46 +0000 (16:02 -0700)]
Fork vp9_rd_pick_inter_mode_sb_seg_skip

Change-Id: I549868725b789f0f4f89828005a65972c20df888

10 years agoActually skip blocks in skip segments in non-rd encoder.
Alex Converse [Fri, 20 Jun 2014 17:15:37 +0000 (10:15 -0700)]
Actually skip blocks in skip segments in non-rd encoder.

Copy split from macroblock to pick mode context so it doesn't get lost.

Change-Id: Ie37aa12558dbe65c4f8076cf808250fffb7f27a8

10 years agoMerge "Include type defines"
Johann [Fri, 20 Jun 2014 18:29:19 +0000 (11:29 -0700)]
Merge "Include type defines"

10 years agoDon't return value for void functions
Johann [Tue, 6 May 2014 16:28:12 +0000 (09:28 -0700)]
Don't return value for void functions

Clears "warning: 'return' with a value, in function returning void"

Change-Id: I93972610d67e243ec772a1021d2fdfcfc689c8c2

10 years agoInclude type defines
Johann [Tue, 6 May 2014 16:21:01 +0000 (09:21 -0700)]
Include type defines

Clears error: unknown type name 'uint8_t'

Change-Id: I9b6eff66a5c69bc24aeaeb5ade29255a164ef0e2

10 years agoMerge "VP9 denoiser bugfixes"
Tim Kopp [Fri, 20 Jun 2014 17:37:46 +0000 (10:37 -0700)]
Merge "VP9 denoiser bugfixes"

10 years agoMerge "Allow key frame more flexibility in mode search"
Jingning Han [Fri, 20 Jun 2014 16:38:02 +0000 (09:38 -0700)]
Merge "Allow key frame more flexibility in mode search"

10 years agoVP9 denoiser bugfixes
Tim Kopp [Fri, 13 Jun 2014 20:58:57 +0000 (13:58 -0700)]
VP9 denoiser bugfixes

s/stdint.h/vpx\/vpx_int.h

Added missing 'break;'s

Also included other minor changes, mostly cosmetic.

Change-Id: I852bba3e85e794f1d4af854c45c16a23a787e6a3

10 years agoMerge "Added CFLAG for outputting vp9 denoised signal"
Tim Kopp [Fri, 20 Jun 2014 14:16:08 +0000 (07:16 -0700)]
Merge "Added CFLAG for outputting vp9 denoised signal"

10 years agofix peek_si to enable 1 byte show existing frames.
Jim Bankoski [Thu, 19 Jun 2014 22:10:30 +0000 (15:10 -0700)]
fix peek_si to enable 1 byte show existing frames.

The test for this is in test vector code ( show existing frames will
fail ).  I can't check it in disabled as I'm changing the generic
test code to do this:

https://gerrit.chromium.org/gerrit/#/c/70569/

Change-Id: I5ab324f0cb7df06316a949af0f7fc089f4a3d466

10 years agoMerge "Remove labels from quantize"
Johann [Thu, 19 Jun 2014 22:14:19 +0000 (15:14 -0700)]
Merge "Remove labels from quantize"

10 years agoAllow key frame more flexibility in mode search
Jingning Han [Thu, 19 Jun 2014 16:24:09 +0000 (09:24 -0700)]
Allow key frame more flexibility in mode search

This commit allows the key frame to search through more prediction
modes and more flexible block sizes. No speed change observed. The
coding performance for rtc set is improved by 1.7% for speed -5 and
3.0% for speed -6.

Change-Id: Ifd1bc28558017851b210b4004f2d80838938bcc5

10 years agoMerge "Fixes in VP9 alloc, free, and COPY_FRAME case"
Tim Kopp [Thu, 19 Jun 2014 19:43:00 +0000 (12:43 -0700)]
Merge "Fixes in VP9 alloc, free, and COPY_FRAME case"

10 years agoMerge "Add superframe support for frame parallel decoding."
hkuang [Thu, 19 Jun 2014 19:16:37 +0000 (12:16 -0700)]
Merge "Add superframe support for frame parallel decoding."

10 years agoMerge "Separate rate-distortion modeling for DC and AC coefficients"
Jingning Han [Thu, 19 Jun 2014 18:47:55 +0000 (11:47 -0700)]
Merge "Separate rate-distortion modeling for DC and AC coefficients"

10 years agoMerge "Improved vp9 denoiser running avg update."
Tim Kopp [Thu, 19 Jun 2014 18:22:50 +0000 (11:22 -0700)]
Merge "Improved vp9 denoiser running avg update."

10 years agoMerge "Implemented COPY_BLOCK case for vp9 denoiser"
Tim Kopp [Thu, 19 Jun 2014 18:02:46 +0000 (11:02 -0700)]
Merge "Implemented COPY_BLOCK case for vp9 denoiser"

10 years agoRemove labels from quantize
Johann [Thu, 19 Jun 2014 17:23:53 +0000 (10:23 -0700)]
Remove labels from quantize

Use break instead of goto for early exit. Unbreaks Visual Studio
builds.

Change-Id: I96dee43a3c82145d4abe0d6a99af6e6e1a3991b5

10 years agoAdd superframe support for frame parallel decoding.
hkuang [Fri, 13 Jun 2014 21:14:02 +0000 (14:14 -0700)]
Add superframe support for frame parallel decoding.

A superframe is a bunch of frames that bundled as one frame. It is mostly
used to combine one or more non-displayable frames and one displayable frame.

For frame parallel decoding, libvpx decoder will only support decoding one
normal frame or a super frame with superframe index.

If an application pass a superframe without superframe index or a chunk
of displayable frames without superframe index to libvpx decoder, libvpx
will not decode it in frame parallel mode. But libvpx decoder still could
decode it in serial mode.

Change-Id: I04c9f2c828373d64e880a8c7bcade5307015ce35

10 years agoMerge "Modify non-rd intra mode checking"
Yunqing Wang [Thu, 19 Jun 2014 16:30:04 +0000 (09:30 -0700)]
Merge "Modify non-rd intra mode checking"

10 years agoMerge "sse4 regular quantize"
Johann [Thu, 19 Jun 2014 15:45:07 +0000 (08:45 -0700)]
Merge "sse4 regular quantize"

10 years agoAdded CFLAG for outputting vp9 denoised signal
Tim Kopp [Fri, 13 Jun 2014 15:57:52 +0000 (08:57 -0700)]
Added CFLAG for outputting vp9 denoised signal

Change-Id: Iab9b4e11cad927f3282e486c203564e1a658f377

10 years agoFixes in VP9 alloc, free, and COPY_FRAME case
Tim Kopp [Fri, 13 Jun 2014 19:43:52 +0000 (12:43 -0700)]
Fixes in VP9 alloc, free, and COPY_FRAME case

Change-Id: I1216f17e2206ef521fe219b6d72d8e41d1ba1147

10 years agoImproved vp9 denoiser running avg update.
Tim Kopp [Thu, 12 Jun 2014 23:05:01 +0000 (16:05 -0700)]
Improved vp9 denoiser running avg update.

Change-Id: Ie0aa41fb7957755544321897b3bb2dd92f392027

10 years agoImplemented COPY_BLOCK case for vp9 denoiser
Tim Kopp [Thu, 12 Jun 2014 21:45:42 +0000 (14:45 -0700)]
Implemented COPY_BLOCK case for vp9 denoiser

Change-Id: Ie89ad1e3aebbd474e1a0db69c1961b4d1ddcd33e

10 years agoMerge "Changed buf_2ds in vp9 denoiser to YV12 buffers"
Tim Kopp [Thu, 19 Jun 2014 15:40:34 +0000 (08:40 -0700)]
Merge "Changed buf_2ds in vp9 denoiser to YV12 buffers"

10 years agoMerge "Update running avg for VP9 denoiser"
Tim Kopp [Thu, 19 Jun 2014 15:39:38 +0000 (08:39 -0700)]
Merge "Update running avg for VP9 denoiser"

10 years agoMerge "Implemented vp9_denoiser_{alloc,free}()"
Tim Kopp [Thu, 19 Jun 2014 15:38:41 +0000 (08:38 -0700)]
Merge "Implemented vp9_denoiser_{alloc,free}()"

10 years agoMerge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework."
Tom Finegan [Wed, 18 Jun 2014 23:57:36 +0000 (16:57 -0700)]
Merge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework."

10 years agoMerge "Removing decode_one_iter() function."
Dmitry Kovalev [Wed, 18 Jun 2014 23:42:29 +0000 (16:42 -0700)]
Merge "Removing decode_one_iter() function."

10 years agosse4 regular quantize
Johann [Tue, 5 Mar 2013 22:22:09 +0000 (14:22 -0800)]
sse4 regular quantize

Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b

10 years agoChanged buf_2ds in vp9 denoiser to YV12 buffers
Tim Kopp [Thu, 12 Jun 2014 20:53:49 +0000 (13:53 -0700)]
Changed buf_2ds in vp9 denoiser to YV12 buffers

Changed alloc, free, and running average code as necessary.

Change-Id: Ifc4d9ccca462164214019963b3768a457791b9c1

10 years agoUpdate running avg for VP9 denoiser
Tim Kopp [Wed, 11 Jun 2014 23:22:38 +0000 (16:22 -0700)]
Update running avg for VP9 denoiser

Change-Id: I9577d648542064052795bf5770428fbd5c276b7b

10 years agoImplemented vp9_denoiser_{alloc,free}()
Tim Kopp [Wed, 11 Jun 2014 23:12:21 +0000 (16:12 -0700)]
Implemented vp9_denoiser_{alloc,free}()

Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27

10 years agoMerge "Improve vp9_rb_bytes_read"
Adrian Grange [Wed, 18 Jun 2014 21:02:06 +0000 (14:02 -0700)]
Merge "Improve vp9_rb_bytes_read"

10 years agoiosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.
Tom Finegan [Wed, 18 Jun 2014 19:51:30 +0000 (12:51 -0700)]
iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.

- Rename build_targets to build_framework
- Add functions for creating the vpx_config shim and obtaining
  preproc symbols.

Change-Id: Ieca6938b9779077eefa26bf4cfee64286d1840b0

10 years agoRemove unused vp9_init_quant_tables function
Jingning Han [Wed, 18 Jun 2014 18:51:41 +0000 (11:51 -0700)]
Remove unused vp9_init_quant_tables function

This function is not effectively used, hence removed.

Change-Id: I2e8e48fa07c7518931690f3b04bae920cb360e49

10 years agoModify non-rd intra mode checking
Yunqing Wang [Tue, 17 Jun 2014 23:59:28 +0000 (16:59 -0700)]
Modify non-rd intra mode checking

Speed 6 uses small tx size, namely 8x8. max_intra_bsize needs to
be modified accordingly to ensure valid intra mode checking.
Borg test on RTC set showed an overall PSNR gain of 0.335% in speed
-6.

This also changes speed -5 encoding by allowing DC_PRED checking
for block32x32. Borg test on RTC set showed a slight PSNR gain of
0.145%, and no noticeable speed change.

Change-Id: I1502978d8fbe265b3bb235db0f9c35ba0703cd45

10 years agoSeparate rate-distortion modeling for DC and AC coefficients
Jingning Han [Wed, 18 Jun 2014 17:50:38 +0000 (10:50 -0700)]
Separate rate-distortion modeling for DC and AC coefficients

This is the first step to rework the rate-distortion modeling used
in rtc coding mode. The overall goal is to make the modeling
customized for the statistics encountered in the rtc coding.

This commit makes encoder to perform rate-distortion modeling for
DC and AC coefficients separately. No speed changes observed.
The coding performance for pedestrian_area_1080p is largely
improved:

speed -5, from 79558 b/f, 37.871 dB -> 79598 b/f, 38.600 dB
speed -6, from 79515 b/f, 37.822 dB -> 79544 b/f, 38.130 dB

Overall performance for rtc set at speed -6 is improved by 0.67%.

Change-Id: I9153444567e5f75ccdcaac043c2365992c005c0c

10 years agoImprove vp9_rb_bytes_read
Adrian Grange [Wed, 18 Jun 2014 15:31:45 +0000 (08:31 -0700)]
Improve vp9_rb_bytes_read

Change-Id: I69eba120eb3d8ec43b5552451c8a9bd009390795

10 years agoMerge "gen_msvs_proj: fix in tree configure under cygwin"
James Zern [Wed, 18 Jun 2014 02:35:03 +0000 (19:35 -0700)]
Merge "gen_msvs_proj: fix in tree configure under cygwin"

10 years agoMerge "Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h."
Dmitry Kovalev [Tue, 17 Jun 2014 21:20:17 +0000 (14:20 -0700)]
Merge "Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h."

10 years agoMerge "skip the un-necessary motion search in the first pass"
Pengchong Jin [Tue, 17 Jun 2014 19:08:42 +0000 (12:08 -0700)]
Merge "skip the un-necessary motion search in the first pass"

10 years agoMerge "iosbuild.sh: Add missing function comments."
Tom Finegan [Tue, 17 Jun 2014 17:34:36 +0000 (10:34 -0700)]
Merge "iosbuild.sh: Add missing function comments."

10 years agoMerge "vp8 denoising: add bias factor to zero_mv sse."
Marco Paniconi [Tue, 17 Jun 2014 15:34:30 +0000 (08:34 -0700)]
Merge "vp8 denoising: add bias factor to zero_mv sse."

10 years agoMerge "Fix C versions of DC calculation functions"
Jingning Han [Tue, 17 Jun 2014 01:33:21 +0000 (18:33 -0700)]
Merge "Fix C versions of DC calculation functions"

10 years agoMerge "vp9_rtcd: correct avx2 references"
James Zern [Tue, 17 Jun 2014 00:39:13 +0000 (17:39 -0700)]
Merge "vp9_rtcd: correct avx2 references"

10 years agoiosbuild.sh: Add missing function comments.
Tom Finegan [Tue, 17 Jun 2014 00:04:38 +0000 (17:04 -0700)]
iosbuild.sh: Add missing function comments.

Change-Id: Ib23a59475d566a7b7f44071614d730ceecfcfa60

10 years agoMerge "example tests: Make failures due to incorrect bin path easier to diagnose."
Tom Finegan [Mon, 16 Jun 2014 23:16:49 +0000 (16:16 -0700)]
Merge "example tests: Make failures due to incorrect bin path easier to diagnose."

10 years agovp8 denoising: add bias factor to zero_mv sse.
Marco Paniconi [Mon, 16 Jun 2014 18:29:02 +0000 (11:29 -0700)]
vp8 denoising: add bias factor to zero_mv sse.

Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a

10 years agogen_msvs_proj: fix in tree configure under cygwin
James Zern [Fri, 13 Jun 2014 03:51:39 +0000 (20:51 -0700)]
gen_msvs_proj: fix in tree configure under cygwin

strip trailing '/' from paths, this is later converted to '\' which
causes execution errors for obj_int_extract/yasm. vs10+ wasn't affected
by this issue, but make the same change for consistency.

gen_msvs_proj:
+ add missing '"' to obj_int_extract call
  unlike gen_msvs_vcproj, the block is duplicated
  missed in: 1e3d9b9 build/msvs: fix builds in source dirs with spaces

Change-Id: I76208e6cdc66dc5a0a7ffa8aa1edbefe31e4b130

10 years agoMerge "vp9_pickmode.c: fix vs12 compiler warnings"
Dmitry Kovalev [Mon, 16 Jun 2014 19:07:48 +0000 (12:07 -0700)]
Merge "vp9_pickmode.c: fix vs12 compiler warnings"

10 years agoexample tests: Make failures due to incorrect bin path easier to diagnose.
Tom Finegan [Mon, 16 Jun 2014 17:57:00 +0000 (10:57 -0700)]
example tests: Make failures due to incorrect bin path easier to diagnose.

Add elog() to tools_common, and checks for the executable in each test.

Change-Id: I3c6334eca62c0b56040d91145abbe1bf5f9c763c

10 years agoMerge "Add non420 support to vp9_extend_frame_borders."
Alex Converse [Mon, 16 Jun 2014 17:33:31 +0000 (10:33 -0700)]
Merge "Add non420 support to vp9_extend_frame_borders."

10 years agoMerge "Fix out of boundary memory read in fuzz test on vpxdec"
Jingning Han [Mon, 16 Jun 2014 17:27:30 +0000 (10:27 -0700)]
Merge "Fix out of boundary memory read in fuzz test on vpxdec"

10 years agoskip the un-necessary motion search in the first pass
Pengchong Jin [Mon, 16 Jun 2014 16:17:45 +0000 (09:17 -0700)]
skip the un-necessary motion search in the first pass

This patch allows the VP9 encoder to skip the un-necessary
motion search in the first pass. It computes the motion error
of 0,0 motion using the last source frame as the reference,
and skips the further motion search if this error is small.

Borg test shows overall the patch gives PSNR gain (derf -0.001%,
yt 0.341%, hd 0.282%). Individual clips may have PSNR gain or
loss. The best PSNR performance is 7.347% and the worst is -0.662%.
The first pass encoding speedup for slideshow clips is over 30%.

Change-Id: I4cac4dbd911f277ee858e161f3ca652c771344fe

10 years agovp9_pickmode.c: fix vs12 compiler warnings
unknown [Sun, 15 Jun 2014 19:40:16 +0000 (12:40 -0700)]
vp9_pickmode.c: fix vs12 compiler warnings

Change-Id: I5042b76a7050c121bf960ecb20c79d35adcc4cd5

10 years agoMerge "iosbuild.sh: Move to build/make and tidy up a bit."
Tom Finegan [Fri, 13 Jun 2014 23:31:56 +0000 (16:31 -0700)]
Merge "iosbuild.sh: Move to build/make and tidy up a bit."

10 years agoMerge "test/tools_common.sh: Log all shared variables in verbose mode."
Tom Finegan [Fri, 13 Jun 2014 23:31:49 +0000 (16:31 -0700)]
Merge "test/tools_common.sh: Log all shared variables in verbose mode."

10 years agoFix C versions of DC calculation functions
Jingning Han [Fri, 13 Jun 2014 23:04:21 +0000 (16:04 -0700)]
Fix C versions of DC calculation functions

This commit fixes the scaling factors used in the C versions of the
DC calculation functions.

Change-Id: Iab41108c2bb93c2f2e78667214f3a772a2b707b5

10 years agoMerge "Delay decreasing reference count in frame-parallel decoding."
hkuang [Fri, 13 Jun 2014 22:28:24 +0000 (15:28 -0700)]
Merge "Delay decreasing reference count in frame-parallel decoding."

10 years agoMerge "Revert "skip un-neccessary motion search in the first pass""
Yunqing Wang [Fri, 13 Jun 2014 22:21:26 +0000 (15:21 -0700)]
Merge "Revert "skip un-neccessary motion search in the first pass""

10 years agoMerge "Allow for deblocking temporal-denoised signal."
Marco Paniconi [Fri, 13 Jun 2014 21:51:59 +0000 (14:51 -0700)]
Merge "Allow for deblocking temporal-denoised signal."

10 years agoAllow for deblocking temporal-denoised signal.
Marco Paniconi [Fri, 13 Jun 2014 17:08:09 +0000 (10:08 -0700)]
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

10 years agoMoving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.
Dmitry Kovalev [Fri, 13 Jun 2014 19:34:40 +0000 (12:34 -0700)]
Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.

Change-Id: I8fab776c8801e19d3f5027ed55a6aa69eee951de

10 years agoReplacing RC_MODE with vpx_rc_mode.
Dmitry Kovalev [Fri, 13 Jun 2014 19:22:35 +0000 (12:22 -0700)]
Replacing RC_MODE with vpx_rc_mode.

Both enums are identical.
Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f

10 years agotest/tools_common.sh: Log all shared variables in verbose mode.
Tom Finegan [Fri, 13 Jun 2014 18:18:43 +0000 (11:18 -0700)]
test/tools_common.sh: Log all shared variables in verbose mode.

Several variables were not being logged.

Change-Id: I2f2ded19470a73c4551bbb1abbd6e4d27bd59fac

10 years agoFix out of boundary memory read in fuzz test on vpxdec
Jingning Han [Thu, 12 Jun 2014 19:23:06 +0000 (12:23 -0700)]
Fix out of boundary memory read in fuzz test on vpxdec

This commit fixes frame header decoding for superframe index, to
prevent out of boundary memory read triggered by fuzz test
vector. It resolves a chromium security violation issue
crbug.com/376802.

The issue was introduced in the change:

Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48

where the buffer was read before validation check on index offset
applied.

A test vector is added accordingly.

Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99

10 years agoiosbuild.sh: Move to build/make and tidy up a bit.
Tom Finegan [Fri, 13 Jun 2014 18:03:56 +0000 (11:03 -0700)]
iosbuild.sh: Move to build/make and tidy up a bit.

Change-Id: I625beea9db4b5f6db8f177c580a3adeac760a662

10 years agoRevert "skip un-neccessary motion search in the first pass"
Paul Wilkins [Fri, 13 Jun 2014 17:52:19 +0000 (18:52 +0100)]
Revert "skip un-neccessary motion search in the first pass"

This patch appears to have introduced non-determinism and/or
mismatch from debug vs release.

This reverts commit 5daef90efc4613efd7e7ee80ba4e1ecf9a57a966.

Change-Id: I80081e55cfeaaa821b510b58a4e6e6328003c7da

10 years agoDelay decreasing reference count in frame-parallel decoding.
hkuang [Tue, 10 Jun 2014 21:48:16 +0000 (14:48 -0700)]
Delay decreasing reference count in frame-parallel decoding.

The current decoding scheme will decrease the reference count
of the output frame when finish decoding. Then the application
could copy the frame from the decoder buffer to application buffer.
In frame-parallel decoding, a decoded frame will not be outputted
until several frames later which depends on thread numbers. So
the decoded frame's reference count should be decreased only
after application finish copying the frame out. But due to the
limitation of vpx_codec_get_frame, decoder could not know when
application finish decoding. So use a index last_show_frame to
release the last output frame's reference count.

Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63

10 years agoMerge "Use lrand48 on Android"
Johann [Fri, 13 Jun 2014 17:51:49 +0000 (10:51 -0700)]
Merge "Use lrand48 on Android"

10 years agoMerge "Add VPX.framework built script."
Tom Finegan [Fri, 13 Jun 2014 17:36:49 +0000 (10:36 -0700)]
Merge "Add VPX.framework built script."

10 years agoMerge "Added skeleton for VP9 denoiser"
Tim Kopp [Fri, 13 Jun 2014 16:44:39 +0000 (09:44 -0700)]
Merge "Added skeleton for VP9 denoiser"

10 years agoMerge "Cleaning up accumulate_frame_motion_stats()."
Paul Wilkins [Fri, 13 Jun 2014 09:27:03 +0000 (02:27 -0700)]
Merge "Cleaning up accumulate_frame_motion_stats()."

10 years agoAdd VPX.framework built script.
Tom Finegan [Fri, 13 Jun 2014 03:44:44 +0000 (20:44 -0700)]
Add VPX.framework built script.

Builds a framework for use on iOS targets.

Change-Id: I2e42d77d1d83e15dc7e84232255da26809ee31bb

10 years agoUse lrand48 on Android
Johann [Fri, 13 Jun 2014 02:16:59 +0000 (19:16 -0700)]
Use lrand48 on Android

When building x86 assembly use lrand48 instead of the
undocumented inlined _rand function.

Android now supports rand()
https://android-review.googlesource.com/97731
but only for new versions. Original workaround:
https://gerrit.chromium.org/gerrit/15744

Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a