platform/upstream/libvpx.git
10 years agovpxenc.sh: Add 2-pass and lagged encode tests for VP8 and VP9.
Tom Finegan [Fri, 15 Aug 2014 22:56:58 +0000 (15:56 -0700)]
vpxenc.sh: Add 2-pass and lagged encode tests for VP8 and VP9.

- Fix nit: make test function definitions match test order.
- Fix nit: use elog instead of echo for env verification error.

Change-Id: I0eec078fc056a5bb2bd88d5833e43de48d77ec08

10 years agoMerge "examples.sh: Run all example tests."
Tom Finegan [Fri, 15 Aug 2014 20:53:05 +0000 (13:53 -0700)]
Merge "examples.sh: Run all example tests."

10 years agoMerge "Cleaning up vp9_encoder.c."
Dmitry Kovalev [Fri, 15 Aug 2014 19:52:44 +0000 (12:52 -0700)]
Merge "Cleaning up vp9_encoder.c."

10 years agoMerge "vp8cx_set_ref: Flush encoder."
Dmitry Kovalev [Fri, 15 Aug 2014 19:52:16 +0000 (12:52 -0700)]
Merge "vp8cx_set_ref: Flush encoder."

10 years agoMerge "Removing active_arnr_{strength, frames} from VP9_COMP."
Dmitry Kovalev [Fri, 15 Aug 2014 19:51:56 +0000 (12:51 -0700)]
Merge "Removing active_arnr_{strength, frames} from VP9_COMP."

10 years agoexamples.sh: Run all example tests.
Tom Finegan [Fri, 15 Aug 2014 18:31:30 +0000 (11:31 -0700)]
examples.sh: Run all example tests.

- Remove vpxdec and vpxenc from the exclude list.
- vpx{dec,enc}.sh: Updates to support finding their executable when
  LIBVPX_BIN_PATH is setup for the examples.
- tools_common.sh: New library function, vpx_tool_path(). Provides
  support for finding the exectuables in vpx{dec,enc}.sh.

Change-Id: I730f11cceb44646491a7a7ff58603a4a760129ef

10 years agoMerge "get_ref_frame: fix test for valid buffer."
Adrian Grange [Fri, 15 Aug 2014 17:41:28 +0000 (10:41 -0700)]
Merge "get_ref_frame: fix test for valid buffer."

10 years agovp8cx_set_ref: Flush encoder.
Dmitry Kovalev [Thu, 14 Aug 2014 17:28:00 +0000 (10:28 -0700)]
vp8cx_set_ref: 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: Ide0c531dc0d453df8ec1edb8acb894856d6cc22e

10 years agoCleaning up vp9_encoder.c.
Dmitry Kovalev [Thu, 14 Aug 2014 17:44:08 +0000 (10:44 -0700)]
Cleaning up vp9_encoder.c.

Change-Id: Ib06c59d1adefb841a6ff653619dffb7e23f3318d

10 years agoRemoving active_arnr_{strength, frames} from VP9_COMP.
Dmitry Kovalev [Fri, 15 Aug 2014 17:22:00 +0000 (10:22 -0700)]
Removing active_arnr_{strength, frames} from VP9_COMP.

Change-Id: I60472b71ca75ee0522ed2611f43e1207d44b66d0

10 years agoMerge "Add an adaptive denoising mode."
Marco Paniconi [Fri, 15 Aug 2014 15:51:08 +0000 (08:51 -0700)]
Merge "Add an adaptive denoising mode."

10 years agoMerge "vp8: Modify to use closest reference in zero_mv bias."
Marco [Fri, 15 Aug 2014 14:57:48 +0000 (07:57 -0700)]
Merge "vp8: Modify to use closest reference in zero_mv bias."

10 years agoMerge "vpxenc.sh: use --test-decode=fatal for vp9"
James Zern [Fri, 15 Aug 2014 03:27:12 +0000 (20:27 -0700)]
Merge "vpxenc.sh: use --test-decode=fatal for vp9"

10 years agovpxenc.sh: use --test-decode=fatal for vp9
James Zern [Fri, 15 Aug 2014 01:48:34 +0000 (18:48 -0700)]
vpxenc.sh: use --test-decode=fatal for vp9

vp8 is broken:
https://code.google.com/p/webm/issues/detail?id=841

Change-Id: If73afe0e2314279b560ad758cb04b1760dcc3605

10 years agoMerge "vp9_copy_reference_dec: check ref frame index before use"
James Zern [Fri, 15 Aug 2014 01:53:39 +0000 (18:53 -0700)]
Merge "vp9_copy_reference_dec: check ref frame index before use"

10 years agoMerge "Remove redundant vp9_init_plane_quantizers call"
Jingning Han [Fri, 15 Aug 2014 01:50:16 +0000 (18:50 -0700)]
Merge "Remove redundant vp9_init_plane_quantizers call"

10 years agoMerge "32 Align Load bug In the sub_pixel_avg_variance the parameter sec was also...
James Zern [Fri, 15 Aug 2014 01:42:34 +0000 (18:42 -0700)]
Merge "32 Align Load bug In the sub_pixel_avg_variance the parameter sec was also aligned load and changed to unaligned."

10 years agoMerge "Moving framerate from VP9EncoderConfig to VP9_COMP."
Dmitry Kovalev [Fri, 15 Aug 2014 01:26:35 +0000 (18:26 -0700)]
Merge "Moving framerate from VP9EncoderConfig to VP9_COMP."

10 years agoAdd an adaptive denoising mode.
Marco Paniconi [Thu, 7 Aug 2014 00:19:29 +0000 (17:19 -0700)]
Add an adaptive denoising mode.

On key frame, will always start with normal denoising mode,
but based on a computed noise metric (normalized mse on source diff)
may switch to aggressive mode (and back down again).

Change-Id: I20330b2dcf3056287be37223302b2cab5fc103eb

10 years agovp8: Modify to use closest reference in zero_mv bias.
Marco [Thu, 14 Aug 2014 16:18:38 +0000 (09:18 -0700)]
vp8: Modify to use closest reference in zero_mv bias.

Modify zero_mv bias condition to include check that "closest" reference is last_frame.
This is needed for temporal layers, where the last_frame is not always the closest reference.
Also, constain zeromv_count to be for last_frame reference.

Change-Id: I7af54a809ebf01ef43b9933c9d4095b6cb189390

10 years agoMerge "Mask out H_PRED and V_PRED for 32x32 blocks"
Yaowu Xu [Thu, 14 Aug 2014 22:25:34 +0000 (15:25 -0700)]
Merge "Mask out H_PRED and V_PRED for 32x32 blocks"

10 years agoMerge "Set max_intra_bsize to 32x32"
Yaowu Xu [Thu, 14 Aug 2014 22:25:30 +0000 (15:25 -0700)]
Merge "Set max_intra_bsize to 32x32"

10 years agovp9_copy_reference_dec: check ref frame index before use
James Zern [Thu, 14 Aug 2014 21:56:08 +0000 (14:56 -0700)]
vp9_copy_reference_dec: check ref frame index before use

use get_ref_frame() to ensure a valid frame is retrieved if one exists

Change-Id: I4b116d928e643ee62a991babd4b974037b6b3830

10 years agoMerge "Fix bug 837: realloc mode info buffers on resize"
Adrian Grange [Thu, 14 Aug 2014 21:53:33 +0000 (14:53 -0700)]
Merge "Fix bug 837: realloc mode info buffers on resize"

10 years agoRemove redundant vp9_init_plane_quantizers call
Jingning Han [Thu, 14 Aug 2014 16:55:31 +0000 (09:55 -0700)]
Remove redundant vp9_init_plane_quantizers call

When aq mode is on, the quantizer will be reset later in the same
function (line 571).

Change-Id: I20635db31261d136d04d5deeb881ad3957078bf1

10 years ago32 Align Load bug
levytamar82 [Thu, 24 Jul 2014 20:40:21 +0000 (13:40 -0700)]
32 Align Load bug
In the sub_pixel_avg_variance the parameter sec was also aligned load and
changed to unaligned.

Change-Id: I4d4966e0291059ea4d705baed1503dc58444fcb7

10 years agoget_ref_frame: fix test for valid buffer.
Adrian Grange [Thu, 14 Aug 2014 19:42:11 +0000 (12:42 -0700)]
get_ref_frame: fix test for valid buffer.

In the current implementation of the encoder,
frame buffers may come from the wider set of
12 such buffers, and is not restricted to the
8 allowed as reference frames. This is only
an implementation detail and does not affect
the constraint of having a total of 8 reference
buffers overall.

Change-Id: I075f777146c2df49c275d89232933f8127235175

10 years agoMask out H_PRED and V_PRED for 32x32 blocks
Yaowu Xu [Thu, 14 Aug 2014 00:05:57 +0000 (17:05 -0700)]
Mask out H_PRED and V_PRED for 32x32 blocks

Change-Id: I2847af5062b5fa320629fcabb9fa6b23ba3e5513

10 years agoSet max_intra_bsize to 32x32
Yaowu Xu [Wed, 13 Aug 2014 22:07:16 +0000 (15:07 -0700)]
Set max_intra_bsize to 32x32

At --good and speed 3 or above for resolution less than 720p. This
disables the tests for 64x64 intra prediction modes. Encoding time
reduction is about 1%.

Change-Id: Ib396e3d1417fece416e3f0fee929b128acbb130f

10 years agoMerge "Replace current_video_frame with better alternatives"
Yaowu Xu [Thu, 14 Aug 2014 16:06:38 +0000 (09:06 -0700)]
Merge "Replace current_video_frame with better alternatives"

10 years agoFix bug 837: realloc mode info buffers on resize
Adrian Grange [Tue, 12 Aug 2014 18:24:24 +0000 (11:24 -0700)]
Fix bug 837: realloc mode info buffers on resize

The test to determine if the mode info buffers need
to be resized when the frame size changes was
incorrect, as per bug 837.

By storing the size of the allocated data structure,
a simple test determines whether to allocate more
memory when the frame size changes.

Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd

10 years agoMerge "vpx_codec_internal.h : clean out unused function warning"
Jim Bankoski [Thu, 14 Aug 2014 13:22:00 +0000 (06:22 -0700)]
Merge "vpx_codec_internal.h : clean out unused function warning"

10 years agoMerge "Simplify select_tx_mode()"
Adam Xu [Thu, 14 Aug 2014 02:50:01 +0000 (19:50 -0700)]
Merge "Simplify select_tx_mode()"

10 years agoMerge "cq_test: allow test cases to be run out of order"
James Zern [Thu, 14 Aug 2014 02:39:43 +0000 (19:39 -0700)]
Merge "cq_test: allow test cases to be run out of order"

10 years agovpx_codec_internal.h : clean out unused function warning
Jim Bankoski [Thu, 14 Aug 2014 01:09:05 +0000 (18:09 -0700)]
vpx_codec_internal.h : clean out unused function warning

Change-Id: I53659e3ff8ba1b70d89d152e0580ac7a412b89b2

10 years agoReplace current_video_frame with better alternatives
Yaowu Xu [Thu, 14 Aug 2014 00:19:34 +0000 (17:19 -0700)]
Replace current_video_frame with better alternatives

In the encoder, current_video_frame is used in a couple of places to
decide encoding strategy, this commit replaces with more appropriate
variables.

Change-Id: I3d3d8d8e2ea02c489e4639b9d4c446a63e357d29

10 years agoAllow full coeff probability model and cost update
Jingning Han [Wed, 13 Aug 2014 17:38:21 +0000 (10:38 -0700)]
Allow full coeff probability model and cost update

This commit moves the simplified coefficient probability model
and costing update to speed 4, and turns on chessboard pattern
mode search for sub 720p sequences. The overall coding performance
of speed 3 is improved:
derf  0.889%
stdhd 1.744%

The speed 3 runtime for test sequences are improved:
bus cif at 1000 kbps 9823 ms -> 9642 ms
pedestrian 1080p 2000 kbps 189559 ms -> 183284 ms

Change-Id: Iecbc7496a68f31fd49fb09f8dfd97c028d675a5d

10 years agoSkip mode search based on reference frame consistency
Jingning Han [Tue, 12 Aug 2014 01:02:18 +0000 (18:02 -0700)]
Skip mode search based on reference frame consistency

This commit enables the encoder to skip NEARMV and ZEROMV if the
above and left blocks have identical reference frame, and the
current reference is different from that. It reduces the runtime
of speed 3 for test sequences:
bus cif at 1000 kbps 10064 ms -> 9823 ms
pedestrian 1080p at 2000 kbps 193078 ms -> 189559 ms

The compression performance is changed by
derf  -0.085%
stdhd -0.103%

Change-Id: If304f26d42e6412152a84c3dd7b02635c38444f4

10 years agoMerge "Enable motion field based mode seach skip"
Jingning Han [Wed, 13 Aug 2014 21:13:19 +0000 (14:13 -0700)]
Merge "Enable motion field based mode seach skip"

10 years agoEnable motion field based mode seach skip
Jingning Han [Tue, 12 Aug 2014 00:48:14 +0000 (17:48 -0700)]
Enable motion field based mode seach skip

This commit allows the encoder to check the above and left neighbor
blocks' reference frames and motion vectors. If they are all
consistent, skip checking the NEARMV and ZEROMV modes. This is
enabled in speed 3. The coding performance is improved:

pedestrian area 1080p at 2000 kbps,
from  74773 b/f, 41.101 dB, 198064 ms
to    74795 b/f, 41.099 dB, 193078 ms

park joy 1080p at 15000 kbps,
from 290727 b/f, 30.640 dB, 609113 ms
to   290558 b/f, 30.630 dB, 592815 ms

Overall compression performance of speed 3 is changed
derf  -0.171%
stdhd -0.168%

Change-Id: I8d47dd543a5f90d7a1c583f74035b926b6704b95

10 years agoSimplify select_tx_mode()
Yaowu Xu [Wed, 13 Aug 2014 17:43:43 +0000 (10:43 -0700)]
Simplify select_tx_mode()

The function is called only once, right after all stats counters are
reset to 0. Therefore all the computations have zero effect on return
values. This commmit to removed those effectless code.

Change-Id: I50d27c0802547921fa36c60aa4bd92d76247f595

10 years agoMerge "vpx_internal_error -> fix -Wunused-function issues"
Jim Bankoski [Wed, 13 Aug 2014 17:54:33 +0000 (10:54 -0700)]
Merge "vpx_internal_error -> fix -Wunused-function issues"

10 years agocq_test: allow test cases to be run out of order
James Zern [Wed, 13 Aug 2014 02:26:49 +0000 (19:26 -0700)]
cq_test: allow test cases to be run out of order

check that bitrates increase with cqlevel at global test case teardown,
rather than after each individual test case. this allows the tests to be
run out of order with --gtest_shuffle.

Change-Id: I9e0d4e6a2d920a1f2fe9aee7b7876a3e7eb5d297

10 years agoMerge "Initialization to prevent asan failure on google3"
Deb Mukherjee [Wed, 13 Aug 2014 16:55:39 +0000 (09:55 -0700)]
Merge "Initialization to prevent asan failure on google3"

10 years agoInitialization to prevent asan failure on google3
Deb Mukherjee [Wed, 13 Aug 2014 15:41:40 +0000 (08:41 -0700)]
Initialization to prevent asan failure on google3

Reinstates an assignment to prevent an asan failurere on google3.
Not sure why the failure happens. This was removed in a recent patch
https://gerrit.chromium.org/gerrit/#/c/71068/.

Change-Id: Ifd9ccffd4c2164f4de38b21821ffb28bd779b0f3

10 years agoMerge "intra blocks disallowed inadvertently"
Jim Bankoski [Wed, 13 Aug 2014 15:40:14 +0000 (08:40 -0700)]
Merge "intra blocks disallowed inadvertently"

10 years agoMerge "Update PATENTS to reflect s/VP8/WebM/g"
Jim Bankoski [Wed, 13 Aug 2014 15:11:22 +0000 (08:11 -0700)]
Merge "Update PATENTS to reflect s/VP8/WebM/g"

10 years agovpx_internal_error -> fix -Wunused-function issues
Jim Bankoski [Wed, 13 Aug 2014 14:58:01 +0000 (07:58 -0700)]
vpx_internal_error -> fix -Wunused-function issues

Moved to global function to avoid unused function warnings...

Change-Id: I4e9002dcb20748f6d8d84cbbe6ef2de0bd9a8018

10 years agoMerge "Minor Two pass rate control adjustments."
Paul Wilkins [Wed, 13 Aug 2014 09:56:19 +0000 (02:56 -0700)]
Merge "Minor Two pass rate control adjustments."

10 years agoMerge "decode_api_test: fix type conversion warning"
James Zern [Wed, 13 Aug 2014 07:24:31 +0000 (00:24 -0700)]
Merge "decode_api_test: fix type conversion warning"

10 years agoMerge "libyuv: update to r1041"
James Zern [Wed, 13 Aug 2014 06:40:48 +0000 (23:40 -0700)]
Merge "libyuv: update to r1041"

10 years agodecode_api_test: fix type conversion warning
James Zern [Wed, 13 Aug 2014 06:11:38 +0000 (23:11 -0700)]
decode_api_test: fix type conversion warning

size_t -> uint32 in the call to vpx_codec_decode()

Change-Id: Ibf39d3749321c97292b35ac0631fa22211cff800

10 years agolibyuv: update to r1041
James Zern [Sun, 10 Aug 2014 23:15:18 +0000 (16:15 -0700)]
libyuv: update to r1041

Change-Id: I38dad398844ee424a7a92a745ab703645018d02b

10 years agoMerge "get_ref_frame: check ref_frame_map value"
James Zern [Wed, 13 Aug 2014 05:48:27 +0000 (22:48 -0700)]
Merge "get_ref_frame: check ref_frame_map value"

10 years agoMerge "VP8D_GET_FRAME_CORRUPTED: check frame pointer"
James Zern [Wed, 13 Aug 2014 04:11:36 +0000 (21:11 -0700)]
Merge "VP8D_GET_FRAME_CORRUPTED: check frame pointer"

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 agoget_ref_frame: check ref_frame_map value
James Zern [Sun, 10 Aug 2014 01:54:28 +0000 (18:54 -0700)]
get_ref_frame: check ref_frame_map value

'ref_frame_map' is initialized to -1. avoids using an invalid index  if
VP9_GET_REFERENCE/VP8_COPY_REFERENCE controls are issued after a decode
error.

Change-Id: I4599762c4d0b07a5943a72bf4a86ccb596cc062a

10 years agoVP8D_GET_FRAME_CORRUPTED: check frame pointer
James Zern [Sun, 10 Aug 2014 01:47:58 +0000 (18:47 -0700)]
VP8D_GET_FRAME_CORRUPTED: check frame pointer

if the decode of the first frame fails, frame_to_show may not be set.
fixes a crash in vpxdec with corrupt data.

Change-Id: I5ab9476d005778a13fd42a39d05876bb6c90a93c

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 agointra blocks disallowed inadvertently
Jim Bankoski [Tue, 12 Aug 2014 23:22:32 +0000 (16:22 -0700)]
intra blocks disallowed inadvertently

At speed 6 the smallest partitioning was 16x16 and biggest
intra block was 8x8, essentially disallowing all intra blocks
which produces ugly artifacts when revealing new video.

Change-Id: I364042d4c64e09be0666ade64aac94d0a1b586cf

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 agoMinor Two pass rate control adjustments.
Paul Wilkins [Fri, 25 Jul 2014 09:19:19 +0000 (10:19 +0100)]
Minor Two pass rate control adjustments.

Alter way in which we identify static scenes.
Remove some redundant code.

Change-Id: I883c2ea2e341770648a8663d8881f720ed099b61

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 agoUpdate PATENTS to reflect s/VP8/WebM/g
Lou Quillio [Mon, 11 Aug 2014 19:14:07 +0000 (12:14 -0700)]
Update PATENTS to reflect s/VP8/WebM/g

Sync with http://www.webmproject.org/license/additional/

modified:   PATENTS
modified:   third_party/libwebm/PATENTS.TXT

Change-Id: I97fc588589654c83c6cb7e2e2b909f23a370db8a

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 agoMoving framerate from VP9EncoderConfig to VP9_COMP.
Dmitry Kovalev [Fri, 8 Aug 2014 22:29:37 +0000 (15:29 -0700)]
Moving framerate from VP9EncoderConfig to VP9_COMP.

Framerate changes over time, VP9EncoderConfig supposed to have static
read-only data.

Change-Id: I36580a7ee71243c1eabb57691089691731d03e67

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."