platform/upstream/libvpx.git
10 years agoMerge "vpx_codec_decode: check data size"
James Zern [Wed, 13 Aug 2014 04:11:11 +0000 (21:11 -0700)]
Merge "vpx_codec_decode: check data size"

10 years agoMerge "inline vpx functions in headers to avoid unused function warning"
James Zern [Wed, 13 Aug 2014 03:16:47 +0000 (20:16 -0700)]
Merge "inline vpx functions in headers to avoid unused function warning"

10 years agoMerge "fixes several -Wunused-function warnings"
James Zern [Wed, 13 Aug 2014 03:15:14 +0000 (20:15 -0700)]
Merge "fixes several -Wunused-function warnings"

10 years agoMerge "Fix a run-time integer overflow"
James Zern [Wed, 13 Aug 2014 02:21:20 +0000 (19:21 -0700)]
Merge "Fix a run-time integer overflow"

10 years agoMerge "Rework y4mwrite test to pass google3 tests"
Deb Mukherjee [Wed, 13 Aug 2014 01:06:21 +0000 (18:06 -0700)]
Merge "Rework y4mwrite test to pass google3 tests"

10 years agoinline vpx functions in headers to avoid unused function warning
Jim Bankoski [Tue, 12 Aug 2014 23:28:08 +0000 (16:28 -0700)]
inline vpx functions in headers to avoid unused function warning

Change-Id: I80284ae82915b9df56f7c5ef4953bd53e8cffd1f

10 years agofixes several -Wunused-function warnings
Jim Bankoski [Tue, 12 Aug 2014 23:51:07 +0000 (16:51 -0700)]
fixes several -Wunused-function warnings

Change-Id: I4dc2cb255f4fe30998b6ee61184895dee9f5da8e

10 years agoFix a run-time integer overflow
Yaowu Xu [Fri, 8 Aug 2014 15:56:24 +0000 (08:56 -0700)]
Fix a run-time integer overflow

Change-Id: I87255d8a25ef8c7d235cbf3c8887d7bed7892cfe

10 years agoRework y4mwrite test to pass google3 tests
Deb Mukherjee [Mon, 11 Aug 2014 20:44:27 +0000 (13:44 -0700)]
Rework y4mwrite test to pass google3 tests

Reverts to using tmpfile() for non-Windows platforms. On google3
the test directory does not have write permissions, and hence the
Y4mWriteTest fails. This patch fixes the issue.
On Windows, a temporary file is created in the temp directory
that has write permissions.

The tests pass on linux, mingw, and MS visual studio.

Change-Id: Ibada1d80e25d8b8e5b6a9d3d597533674bd9024c

10 years agoFix pickmode for intra DC blocks
Alex Converse [Mon, 11 Aug 2014 23:58:45 +0000 (16:58 -0700)]
Fix pickmode for intra DC blocks

Change-Id: I4906043ec1e3577ba37622a235c54adacb66125a

10 years agoMerge "remove unused fields from BOOL_CODER / vp9_writer"
James Zern [Tue, 12 Aug 2014 06:08:45 +0000 (23:08 -0700)]
Merge "remove unused fields from BOOL_CODER / vp9_writer"

10 years agoMerge "remove remaining references to XMA"
James Zern [Tue, 12 Aug 2014 06:02:45 +0000 (23:02 -0700)]
Merge "remove remaining references to XMA"

10 years agoremove remaining references to XMA
James Zern [Sun, 10 Aug 2014 02:16:18 +0000 (19:16 -0700)]
remove remaining references to XMA

the bulk of the functionality was removed in:
a42b5c2 Removing legacy XMA features from libvpx.

BUG=840

Change-Id: I8ca51d6aa76028f36d0eb1a15d2f2e3161e12ea4

10 years agoMerge "vp9_write_bit_buffer: fix function name typo"
James Zern [Tue, 12 Aug 2014 01:43:51 +0000 (18:43 -0700)]
Merge "vp9_write_bit_buffer: fix function name typo"

10 years agoMerge "Enable fast forward txfm and quant for rate-distortion search"
Jingning Han [Tue, 12 Aug 2014 00:56:48 +0000 (17:56 -0700)]
Merge "Enable fast forward txfm and quant for rate-distortion search"

10 years agoMerge "Implementing right flushing for simple_encoder."
Dmitry Kovalev [Mon, 11 Aug 2014 23:32:51 +0000 (16:32 -0700)]
Merge "Implementing right flushing for simple_encoder."

10 years agoMerge "Add tune-content command line option"
Alex Converse [Mon, 11 Aug 2014 22:47:58 +0000 (15:47 -0700)]
Merge "Add tune-content command line option"

10 years agoImplementing right flushing for simple_encoder.
Dmitry Kovalev [Mon, 11 Aug 2014 21:10:33 +0000 (14:10 -0700)]
Implementing right flushing for simple_encoder.

simple_encoder: Flush encoder. According to the current API spec we need
to call vpx_codec_encode() until vpx_codec_get_cx_data() returns NULL.

Change-Id: Ibc37706e5257a3d51e5421ca17f77ab41249d9b5

10 years ago[spatial svc]Remove CONFIG_SPATIAL_SVC for ss_enable_auto_alt_ref in vpx_codec_enc_cf...
Minghai Shang [Mon, 11 Aug 2014 20:43:25 +0000 (13:43 -0700)]
[spatial svc]Remove CONFIG_SPATIAL_SVC for ss_enable_auto_alt_ref in vpx_codec_enc_cfg to fix heap-overflow issue in asan config

Change-Id: Icdf08501db5f416285f751d316941dfacd2c69ba

10 years agovpx_codec_decode: check data size
James Zern [Sun, 10 Aug 2014 01:35:40 +0000 (18:35 -0700)]
vpx_codec_decode: check data size

When a valid data pointer is given make sure the size is greater than
zero.
A previous check for vp9 was incorrectly removed in:
7050074 Make the api behavior conform to api spec.

No semantics for valid pointers + 0-sized frames are defined for VPx
codecs, so move the check to vpx_codec_decode(). This avoids an assert
in vp9.

+ add some basic invalid param testing for decoder init/decode/destroy

Change-Id: I99f9cef6076d15874fd72ac973f2685d8a2353c3

10 years agoMerge "Removing unised OUTPUT_YUV_SRC define."
Dmitry Kovalev [Mon, 11 Aug 2014 18:03:20 +0000 (11:03 -0700)]
Merge "Removing unised OUTPUT_YUV_SRC define."

10 years agoMerge "Integrate fast txfm and quant path into skip_recode system"
Jingning Han [Mon, 11 Aug 2014 15:53:34 +0000 (08:53 -0700)]
Merge "Integrate fast txfm and quant path into skip_recode system"

10 years agoMerge "Extend skip_txfm flag into array to cover YUV planes"
Jingning Han [Mon, 11 Aug 2014 15:53:25 +0000 (08:53 -0700)]
Merge "Extend skip_txfm flag into array to cover YUV planes"

10 years agoMerge "Adds spatial-svc macros to code to allow disabling"
Deb Mukherjee [Sun, 10 Aug 2014 17:08:42 +0000 (10:08 -0700)]
Merge "Adds spatial-svc macros to code to allow disabling"

10 years agoMerge "test/vpxenc.sh: Convert vpxenc() to a simple wrapper."
Tom Finegan [Sat, 9 Aug 2014 02:19:03 +0000 (19:19 -0700)]
Merge "test/vpxenc.sh: Convert vpxenc() to a simple wrapper."

10 years agoMerge "vp8: Code cleanup for control of denoiser mode."
Marco Paniconi [Sat, 9 Aug 2014 00:17:15 +0000 (17:17 -0700)]
Merge "vp8: Code cleanup for control of denoiser mode."

10 years agoRemoving unised OUTPUT_YUV_SRC define.
Dmitry Kovalev [Sat, 9 Aug 2014 00:14:01 +0000 (17:14 -0700)]
Removing unised OUTPUT_YUV_SRC define.

Change-Id: Ia88eebf10c8620dadaa66722543db291e44fe104

10 years agoEnable fast forward txfm and quant for rate-distortion search
Jingning Han [Thu, 7 Aug 2014 05:48:37 +0000 (22:48 -0700)]
Enable fast forward txfm and quant for rate-distortion search

This commit enables encoder to select fast forward transform and
quantization path according to the prediction residual sse/variance,
in the rate-distortion optimization scheme.

Change-Id: Ief9fc3844fd4107166d401970e800c6e5ce2b5fe

10 years agovp8: Code cleanup for control of denoiser mode.
Marco Paniconi [Tue, 29 Jul 2014 22:06:57 +0000 (15:06 -0700)]
vp8: Code cleanup for control of denoiser mode.

Change-Id: Icb9918dd38d15061d62852e6a2d905e8ceb2c1ac

10 years agoAdds spatial-svc macros to code to allow disabling
Deb Mukherjee [Fri, 8 Aug 2014 23:11:02 +0000 (16:11 -0700)]
Adds spatial-svc macros to code to allow disabling

Adds a couple of CONFIG_SPATIAL_SVC macros to allow compilation
when spatial-svc is disabled.

Change-Id: I67f84406d1d3fa26f225d9c6518161a0841f2d29

10 years agoMerge "Moving pass from VP9_COMP to VP9EncoderConfig."
Dmitry Kovalev [Fri, 8 Aug 2014 23:07:47 +0000 (16:07 -0700)]
Merge "Moving pass from VP9_COMP to VP9EncoderConfig."

10 years agoMerge "Common encode/decode function to get reference frame"
Adrian Grange [Fri, 8 Aug 2014 22:56:18 +0000 (15:56 -0700)]
Merge "Common encode/decode function to get reference frame"

10 years agotest/vpxenc.sh: Convert vpxenc() to a simple wrapper.
Tom Finegan [Fri, 8 Aug 2014 03:08:28 +0000 (20:08 -0700)]
test/vpxenc.sh: Convert vpxenc() to a simple wrapper.

- Split vpxenc() into vpxenc() and vpxenc_pipe().
- Drop all but one positional param (the input file) in favor
  of passing args directly to vpxenc.
- Add an extra lossless test that explicitly sets min-q and
  max-q to 0.

Change-Id: I7d5f7b495f8b9447388c5f459bc9f6de2214caf2

10 years agoMerge "Removing legacy XMA features from libvpx."
Dmitry Kovalev [Fri, 8 Aug 2014 21:58:23 +0000 (14:58 -0700)]
Merge "Removing legacy XMA features from libvpx."

10 years agoMoving pass from VP9_COMP to VP9EncoderConfig.
Dmitry Kovalev [Fri, 8 Aug 2014 21:27:34 +0000 (14:27 -0700)]
Moving pass from VP9_COMP to VP9EncoderConfig.

We had a very complicated way to initialize cpi->pass from
cfg->g_pass:
switch (cfg->g_pass) {
  case VPX_RC_ONE_PASS:
    oxcf->mode = ONE_PASS_GOOD;
    break;
  case VPX_RC_FIRST_PASS:
    oxcf->mode = TWO_PASS_FIRST;
    break;
  case VPX_RC_LAST_PASS:
    oxcf->mode = TWO_PASS_SECOND_BEST;
    break;
}

cpi->pass = get_pass(oxcf->mode).

Now pass is moved to VP9EncoderConfig and initialization is simple:
switch (cfg->g_pass) {
  case VPX_RC_ONE_PASS:
    oxcf->pass = 0;
    break;
  case VPX_RC_FIRST_PASS:
    oxcf->pass = 1;
    break;
  case VPX_RC_LAST_PASS:
    oxcf->pass = 2;
    break;
}

Change-Id: I8f582203a4575f5e39b071598484a8ad2b72e0d9

10 years agoMerge "Cleaning up vp9_encodeframe.c."
Dmitry Kovalev [Fri, 8 Aug 2014 20:55:34 +0000 (13:55 -0700)]
Merge "Cleaning up vp9_encodeframe.c."

10 years agoCommon encode/decode function to get reference frame
Adrian Grange [Fri, 8 Aug 2014 15:59:05 +0000 (08:59 -0700)]
Common encode/decode function to get reference frame

Replaced encoder and decoder functions to get a pointer
to a reference frame with a common function, vp9_get_ref_frame,
and simplified it.

Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee

10 years agoRemove coding_use_prev_mi member from VP9_COMMON
Adrian Grange [Thu, 31 Jul 2014 19:21:17 +0000 (12:21 -0700)]
Remove coding_use_prev_mi member from VP9_COMMON

This was shadowing the use of error_resilient_mode, but with
the opposite sense.

Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8

10 years agoMerge "Fix active_map speed 6."
Alex Converse [Fri, 8 Aug 2014 16:30:47 +0000 (09:30 -0700)]
Merge "Fix active_map speed 6."

10 years agoMerge "Cleanup SEG_LVL_SKIP handling in encode_superblock."
Alex Converse [Fri, 8 Aug 2014 16:30:44 +0000 (09:30 -0700)]
Merge "Cleanup SEG_LVL_SKIP handling in encode_superblock."

10 years agoMerge "Fix bug 807"
James Zern [Fri, 8 Aug 2014 02:54:53 +0000 (19:54 -0700)]
Merge "Fix bug 807"

10 years agoFix bug 807
levytamar82 [Thu, 24 Jul 2014 07:20:19 +0000 (00:20 -0700)]
Fix bug 807

in the sub_pixel_*variance* function the dst is aligned to 16 bytes and not
to 32 bytes - now load unaligned data

Change-Id: I2e0b9745543697efc56fefa32857ea10117af135

10 years agotest/vpxenc.sh: Enable the VP9 lossless test.
Tom Finegan [Fri, 8 Aug 2014 01:08:02 +0000 (18:08 -0700)]
test/vpxenc.sh: Enable the VP9 lossless test.

Change-Id: Iff403dfb4c8face0494f0dba840ce91f51e9ca04

10 years agoMerge "vp9 ssvc test: Remove disabled tests."
James Zern [Thu, 7 Aug 2014 23:47:12 +0000 (16:47 -0700)]
Merge "vp9 ssvc test: Remove disabled tests."

10 years agoMerge "vpxenc tests: Relocate vpxenc wrapper."
Tom Finegan [Thu, 7 Aug 2014 23:46:43 +0000 (16:46 -0700)]
Merge "vpxenc tests: Relocate vpxenc wrapper."

10 years agoMerge "Fix bug 806"
James Zern [Thu, 7 Aug 2014 23:11:19 +0000 (16:11 -0700)]
Merge "Fix bug 806"

10 years agoFix active_map speed 6.
Alex Converse [Thu, 7 Aug 2014 22:54:26 +0000 (15:54 -0700)]
Fix active_map speed 6.

Fix the interaction between active map and reuse_inter_pred_sby. The
reuse_inter_pred_sby feature expects inter predictors to already be
built, but blocks with active map on skip this step.

Change-Id: Ibb2bf0d228f678935d82a0ede9cb0919ab7c8878

10 years agoCleanup SEG_LVL_SKIP handling in encode_superblock.
Alex Converse [Thu, 7 Aug 2014 22:52:34 +0000 (15:52 -0700)]
Cleanup SEG_LVL_SKIP handling in encode_superblock.

Change-Id: Ib7497ba08696765cbc1b2cc4218d37f4298f278c

10 years agovp9 ssvc test: Remove disabled tests.
Tom Finegan [Thu, 7 Aug 2014 17:53:52 +0000 (10:53 -0700)]
vp9 ssvc test: Remove disabled tests.

The disabled tests require a mode parameter that has been removed
from the ssvc example.

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

Change-Id: I1a5d67628ed769cc5372c4a864f33d5569b6eb13

10 years agoMerge "tools_common.c: unsigned signed mismatch addressed"
Jim Bankoski [Thu, 7 Aug 2014 22:10:25 +0000 (15:10 -0700)]
Merge "tools_common.c: unsigned signed mismatch addressed"

10 years agoCleaning up vp9_encodeframe.c.
Dmitry Kovalev [Thu, 7 Aug 2014 21:55:54 +0000 (14:55 -0700)]
Cleaning up vp9_encodeframe.c.

Change-Id: Ia3001ae5c44faee3978fc3eb7a027cd9712a0373

10 years agoMerge "vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp."
Marco Paniconi [Thu, 7 Aug 2014 21:40:22 +0000 (14:40 -0700)]
Merge "vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp."

10 years agoFix bug 806
levytamar82 [Thu, 24 Jul 2014 07:54:59 +0000 (00:54 -0700)]
Fix bug 806

in the function sad32x32x4d and sad64x64x4d the source is aligned to 16 bytes
and not to 32 bytes - the load is now unaligned.

Change-Id: I922fdba56d0936b5cf72e4503519f185645a168c

10 years agoMerge "Removing direct references to VP9_COMP."
Dmitry Kovalev [Thu, 7 Aug 2014 21:12:32 +0000 (14:12 -0700)]
Merge "Removing direct references to VP9_COMP."

10 years agovp8: for spatial resize, reallocate denoiser in vp8_allocate_comp.
Marco Paniconi [Thu, 7 Aug 2014 20:53:50 +0000 (13:53 -0700)]
vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp.

Change-Id: I1827efe2126501a4a5637ee3ae85233d7526bc0e

10 years agoMerge "vp9_bitstream: make some function params const"
James Zern [Thu, 7 Aug 2014 19:34:11 +0000 (12:34 -0700)]
Merge "vp9_bitstream: make some function params const"

10 years agovpxenc tests: Relocate vpxenc wrapper.
Tom Finegan [Thu, 7 Aug 2014 18:15:40 +0000 (11:15 -0700)]
vpxenc tests: Relocate vpxenc wrapper.

Move vpxenc() from tools_common.sh to vpxenc.sh.

Change-Id: If3bc1e8616f7e0334d39b560946e467482fe5cf4

10 years agoMerge "Changes hdr for profiles > 1 for intraonly frames"
Deb Mukherjee [Thu, 7 Aug 2014 18:15:38 +0000 (11:15 -0700)]
Merge "Changes hdr for profiles > 1 for intraonly frames"

10 years agovp9_bitstream: make some function params const
James Zern [Sat, 2 Aug 2014 20:46:27 +0000 (13:46 -0700)]
vp9_bitstream: make some function params const

Change-Id: Ic49e290c7c88c55e730a0b2b0eb16ee3d0f120e7

10 years agoMerge "vp9_cx_iface.c: warning missing default"
Alex Converse [Thu, 7 Aug 2014 17:53:01 +0000 (10:53 -0700)]
Merge "vp9_cx_iface.c: warning missing default"

10 years agoMerge "Adding ticks <-> timebase units conversion functions."
Dmitry Kovalev [Thu, 7 Aug 2014 17:18:08 +0000 (10:18 -0700)]
Merge "Adding ticks <-> timebase units conversion functions."

10 years agoChanges hdr for profiles > 1 for intraonly frames
Deb Mukherjee [Tue, 5 Aug 2014 20:00:43 +0000 (13:00 -0700)]
Changes hdr for profiles > 1 for intraonly frames

Specifies the bit-depth, color sampling and colorspace
for intra only frames for profiles > 0

Also adds checks to ensure that profile 1 and 3 are
exclusively used for non 420 streams.

Change-Id: Icfb15fa1acccbce8f757c78fa8a2f60591360745

10 years agoMerge "configure: add --enable-coefficient-range-checking"
Yaowu Xu [Thu, 7 Aug 2014 14:16:39 +0000 (07:16 -0700)]
Merge "configure: add --enable-coefficient-range-checking"

10 years agotools_common.c: unsigned signed mismatch addressed
Jim Bankoski [Thu, 7 Aug 2014 13:58:13 +0000 (06:58 -0700)]
tools_common.c: unsigned signed mismatch addressed

Change-Id: I919ca42794f13751ca099868e73892d9df64e45f

10 years agovp9_cx_iface.c: warning missing default
Jim Bankoski [Thu, 7 Aug 2014 13:53:24 +0000 (06:53 -0700)]
vp9_cx_iface.c: warning missing default

Change-Id: I18cbdad6031d14d4c1a818c0ab33bbedf7b33e19

10 years agoMerge "vp9_rd.c: cleanup ugly expression"
Jim Bankoski [Thu, 7 Aug 2014 13:24:17 +0000 (06:24 -0700)]
Merge "vp9_rd.c: cleanup ugly expression"

10 years agoMerge "Make the api behavior conform to api spec."
Hangyu Kuang [Thu, 7 Aug 2014 00:44:53 +0000 (17:44 -0700)]
Merge "Make the api behavior conform to api spec."

10 years agoconfigure: add --enable-coefficient-range-checking
Yaowu Xu [Tue, 29 Jul 2014 20:40:55 +0000 (13:40 -0700)]
configure: add --enable-coefficient-range-checking

This commit adds a configure time option used to enable strict error
checking in decoder to make sure intermediate stage cofficients of
inverse transforms are within valid range of signed 16 bit integer.

For valid VP9 input streams, intermediate stage coefficients should
always stay within the range of a signed 16 bit integer. Coefficients
can go out of this range for invalid/corrupt VP9 streams. However,
strictly checking this range for every intermediate coefficient can
be a burden for decoder, therefore such validation is only enabled
with configure option --enable-coefficient-range-checking.

Change-Id: I47d47c8c4e48a922c3d223ca59064f51b3f0f5ed

10 years agovp9_rd.c: cleanup ugly expression
Jim Bankoski [Wed, 6 Aug 2014 23:34:47 +0000 (16:34 -0700)]
vp9_rd.c: cleanup ugly expression

Change-Id: I066763c2e3ae69ab772bb986da97af9b504f0329

10 years agoMerge "[spatial svc]Add is_spatial_svc() helper function."
Minghai Shang [Wed, 6 Aug 2014 23:18:21 +0000 (16:18 -0700)]
Merge "[spatial svc]Add is_spatial_svc() helper function."

10 years agoIntegrate fast txfm and quant path into skip_recode system
Jingning Han [Wed, 6 Aug 2014 23:11:22 +0000 (16:11 -0700)]
Integrate fast txfm and quant path into skip_recode system

This commit integrates the fast transform and quantization process
into skip_recode scheme in the rate-distortion optimization loop.
Previously the fast transform and quantization process was only
enabled for non-RD coding flow.

Change-Id: Ib7db4d39b7033f1495c75897271f769799198ba8

10 years agoMerge "vp8 bugfix: Reallocate denoiser when spatially resizing."
Marco Paniconi [Wed, 6 Aug 2014 23:09:21 +0000 (16:09 -0700)]
Merge "vp8 bugfix: Reallocate denoiser when spatially resizing."

10 years ago[spatial svc]Add is_spatial_svc() helper function.
Minghai Shang [Wed, 6 Aug 2014 22:20:51 +0000 (15:20 -0700)]
[spatial svc]Add is_spatial_svc() helper function.

Change-Id: Ice5376100d8e27cbdaddfd3cd06898cedd2720fe

10 years agoAdding ticks <-> timebase units conversion functions.
Dmitry Kovalev [Wed, 6 Aug 2014 21:58:53 +0000 (14:58 -0700)]
Adding ticks <-> timebase units conversion functions.

Change-Id: I75abd57367a7974a9fab8a727b2bbc54dea428c3

10 years agovp8 bugfix: Reallocate denoiser when spatially resizing.
Marco Paniconi [Wed, 6 Aug 2014 18:14:51 +0000 (11:14 -0700)]
vp8 bugfix: Reallocate denoiser when spatially resizing.

This is needed to update the width/height and stride parameters
for the reference buffers that the denoiser uses.

Change-Id: Id51b3bdcb56bbbc8187865544ccd3d872a0d51fe

10 years agoMerge "Create function vp9_preserve_existing_gf"
Adrian Grange [Wed, 6 Aug 2014 21:50:51 +0000 (14:50 -0700)]
Merge "Create function vp9_preserve_existing_gf"

10 years agoRemoving direct references to VP9_COMP.
Dmitry Kovalev [Wed, 6 Aug 2014 19:59:02 +0000 (12:59 -0700)]
Removing direct references to VP9_COMP.

Change-Id: Ic37624d807884e71f08b50fd04892f03f2708ba7

10 years agoMerge "Write VP9E_SET_TUNE_CONTENT to the correct location."
James Zern [Wed, 6 Aug 2014 19:25:06 +0000 (12:25 -0700)]
Merge "Write VP9E_SET_TUNE_CONTENT to the correct location."

10 years agoMerge "vp9_subexp: remove vp9_compute_update_table()"
James Zern [Wed, 6 Aug 2014 19:15:36 +0000 (12:15 -0700)]
Merge "vp9_subexp: remove vp9_compute_update_table()"

10 years agoMake the api behavior conform to api spec.
Hangyu Kuang [Fri, 1 Aug 2014 02:04:35 +0000 (19:04 -0700)]
Make the api behavior conform to api spec.

When no more data is available, vpx_codec_decode should
be called with NULL as data and 0 as data_sz.

vpx_codec_get_frame iterates over a list of the frames
available for display. The iterator storage should be initialized
to NULL to start the iteration. Iteration is complete when this
function returns NULL.

Also change the unit test to conform to the api spec.

Change-Id: I4b258b309f5df3d37d10c82f01492c0394181c2a

10 years agoAdd tune-content command line option
Alex Converse [Wed, 6 Aug 2014 18:01:18 +0000 (11:01 -0700)]
Add tune-content command line option

Change-Id: I3793b54ad432e46bcdb2dcc7adc0e15fa6deec47

10 years agoWrite VP9E_SET_TUNE_CONTENT to the correct location.
Alex Converse [Wed, 6 Aug 2014 17:59:16 +0000 (10:59 -0700)]
Write VP9E_SET_TUNE_CONTENT to the correct location.

Change-Id: Ie8c976ececc79fd58c6eb16b7add053dc58e3bb8

10 years agoMerge "Use INTER_ALL for VAR based partitions for screencast material."
Alex Converse [Wed, 6 Aug 2014 17:31:03 +0000 (10:31 -0700)]
Merge "Use INTER_ALL for VAR based partitions for screencast material."

10 years agoMerge "Add a codec control option to tune for screen content."
Alex Converse [Wed, 6 Aug 2014 17:30:40 +0000 (10:30 -0700)]
Merge "Add a codec control option to tune for screen content."

10 years agoMerge "Remove vp9_postproc_x86.h"
Johann [Wed, 6 Aug 2014 15:46:14 +0000 (08:46 -0700)]
Merge "Remove vp9_postproc_x86.h"

10 years agoMerge "Directly split the block in partition search"
Pengchong Jin [Wed, 6 Aug 2014 15:38:56 +0000 (08:38 -0700)]
Merge "Directly split the block in partition search"

10 years agoremove unused fields from BOOL_CODER / vp9_writer
James Zern [Sat, 2 Aug 2014 21:42:48 +0000 (14:42 -0700)]
remove unused fields from BOOL_CODER / vp9_writer

measure_cost, bit_counter, value

Change-Id: I8f93444ddddbee4ece7db6076a922ad96786044c

10 years agovp9_write_bit_buffer: fix function name typo
James Zern [Sat, 2 Aug 2014 21:14:22 +0000 (14:14 -0700)]
vp9_write_bit_buffer: fix function name typo

vp9_rb_bytes_written -> vp9_wb_bytes_written
+ move limits.h from the header to the source file where it's needed

Change-Id: Ifcdc856b4d4dcc2fff555ef11f86c86a0d83dab3

10 years agoRemoving legacy XMA features from libvpx.
Dmitry Kovalev [Fri, 11 Apr 2014 21:58:32 +0000 (14:58 -0700)]
Removing legacy XMA features from libvpx.

Change-Id: I60ffee7cf78e748792fa6d109322ec32f92e40a9

10 years agoDirectly split the block in partition search
Pengchong Jin [Tue, 5 Aug 2014 21:39:06 +0000 (14:39 -0700)]
Directly split the block in partition search

This patch allows the encoder to directly split the block
in partition search, therefore skip searching NONE. It
computes a score which measures whether 16x16 motion vectors
from the first pass in the current block are consistent with
each others. If they are inconsistent and we have enough Q
to encode, split the block directly, and skip searching NONE.

This feature is under flag CONFIG_FP_MB_STATS. In speed 2,
it further gives a speedup of 3-8% on sample yt clips as
compared to the previous version under the same flag. Overall,
the features under the flag will give 7-15% on typical yt
clips at up to 6000kbps data rate. The speedup at very high
data rate is not significant.

For hard stdhd clips:
park_joy_1080p @ 15000kbps:       504541ms -> 506293ms (-0.35%)
pedestrian_area_1080p @ 2000kbps: 326610ms -> 290090ms (+11.2%)

The compression performance using the features under the flag:
derf: -0.068%
yt:   -0.189%
hd:   -0.318%
stdhd:-0.183%

To use the feature, set CONFIG_FP_MB_STATS and turn on
cpi->use_fp_mb_stats.

Change-Id: Iad58a2966515c8861aa9eb211565b1864048d47f

10 years agoRemove vp9_postproc_x86.h
Johann [Tue, 5 Aug 2014 22:46:13 +0000 (15:46 -0700)]
Remove vp9_postproc_x86.h

This configuration has moved to vp9_rtcd_defs.pl

Change-Id: I71a31dbb8d79df226b60dd834324a5af69956c51

10 years agoExtend skip_txfm flag into array to cover YUV planes
Jingning Han [Tue, 5 Aug 2014 22:42:12 +0000 (15:42 -0700)]
Extend skip_txfm flag into array to cover YUV planes

Change-Id: Ieae182d72d625d0d3fd4ed7c7d24cb521a0f21b0

10 years agoCreate function vp9_preserve_existing_gf
Adrian Grange [Tue, 5 Aug 2014 22:25:21 +0000 (15:25 -0700)]
Create function vp9_preserve_existing_gf

This code was being called from two places and
difficult to parse. I rationalized it in to a
function to improve readability.

Change-Id: I154b8fe0b84e6c01e69601e78e67bd47c954d8b6

10 years agoUse INTER_ALL for VAR based partitions for screencast material.
Alex Converse [Fri, 18 Jul 2014 22:10:56 +0000 (15:10 -0700)]
Use INTER_ALL for VAR based partitions for screencast material.

This offers 25% more compression on my HD screencast testset.

Change-Id: I85eaef95fd8f2e03e326443e9514482b2ee35cef

10 years agoAdd a codec control option to tune for screen content.
Alex Converse [Thu, 31 Jul 2014 15:27:32 +0000 (08:27 -0700)]
Add a codec control option to tune for screen content.

Change-Id: I12b0b0a06750cb9a5f1bdc3368deb44137acc9a3

10 years agovp9_subexp: remove vp9_compute_update_table()
James Zern [Sun, 27 Jul 2014 21:57:50 +0000 (14:57 -0700)]
vp9_subexp: remove vp9_compute_update_table()

makes update_bits[] a constant table

Change-Id: If105bf0522487f54a31e12a7cc73aa24671b19d4

10 years agoMerge "[spatial svc]Enabl golden frame for base layer and fix wrong ref_frame_flag...
Minghai Shang [Tue, 5 Aug 2014 17:40:04 +0000 (10:40 -0700)]
Merge "[spatial svc]Enabl golden frame for base layer and fix wrong ref_frame_flag for upper layers in first frame"

10 years agoMerge changes I4e2aeaef,Ie3e478ef
Jim Bankoski [Tue, 5 Aug 2014 15:57:34 +0000 (08:57 -0700)]
Merge changes I4e2aeaef,Ie3e478ef

* changes:
  vpxdec warning errors addressed
  cast enums to int to avoid gcc warning in pred_common

10 years agoMerge "Store first pass motion vector directions"
Pengchong Jin [Tue, 5 Aug 2014 00:35:42 +0000 (17:35 -0700)]
Merge "Store first pass motion vector directions"

10 years agoStore first pass motion vector directions
Pengchong Jin [Thu, 31 Jul 2014 16:01:06 +0000 (09:01 -0700)]
Store first pass motion vector directions

Re-organize the one-byte structure for 16x16 first pass
block. Add bits to indicate motion vector directions.

Change-Id: Id10754ba343dfc712c7fed5bcc85c67fa0bbcb89