platform/upstream/libvpx.git
10 years agoMerge "Fixed handling of regularly placed keyframes"
Adrian Grange [Thu, 24 Apr 2014 14:44:41 +0000 (07:44 -0700)]
Merge "Fixed handling of regularly placed keyframes"

10 years agoMerge "Enable tests using WebM files only if webm_io is enabled"
Vignesh Venkatasubramanian [Thu, 24 Apr 2014 06:44:08 +0000 (23:44 -0700)]
Merge "Enable tests using WebM files only if webm_io is enabled"

10 years agoEnable tests using WebM files only if webm_io is enabled
Vignesh Venkatasubramanian [Fri, 18 Apr 2014 18:24:02 +0000 (11:24 -0700)]
Enable tests using WebM files only if webm_io is enabled

There are a few tests which read/write directly to/from WebM files. They should
be disabled when --disable-webm-io is passed.

Change-Id: Ibac4732e27c66da33082151ba6e6993eaa9a1efd

10 years agoFixed handling of regularly placed keyframes
Adrian Grange [Wed, 23 Apr 2014 17:08:31 +0000 (10:08 -0700)]
Fixed handling of regularly placed keyframes

The encoder was not handling requests to place keyframes at
fixed intervals, i.e. kf_min_dist == kf_max_dist, correctly.

In this case when looking to place the next keyframe it was
accumulating stats all the way up to the end of the firstpass
file. This patch corrects this behavior.

Change-Id: I948ad9f1d7faa0c05861df588136cce3bb61d7e7

10 years agoconfigure: quote some uses of source_path
James Zern [Wed, 23 Apr 2014 21:51:45 +0000 (14:51 -0700)]
configure: quote some uses of source_path

doesn't completely fix configure/build in directories with spaces, but
it's good practice

Change-Id: Ic7a5b3a0aa9e297b34061af07e099de8b1f003cd

10 years agoMerge changes I2f05a5d9,I674337a7
James Zern [Wed, 23 Apr 2014 20:04:15 +0000 (13:04 -0700)]
Merge changes I2f05a5d9,I674337a7

* changes:
  gen_msvs_vcxproj.sh: support cygwin style paths
  gen_msvs_proj.sh: support cygwin style paths

10 years agoMerge "Chessboard pattern prediction filter type search in non-RD coding"
Jingning Han [Wed, 23 Apr 2014 19:48:27 +0000 (12:48 -0700)]
Merge "Chessboard pattern prediction filter type search in non-RD coding"

10 years agogen_msvs_vcxproj.sh: support cygwin style paths
James Zern [Wed, 23 Apr 2014 06:03:19 +0000 (23:03 -0700)]
gen_msvs_vcxproj.sh: support cygwin style paths

Change-Id: I2f05a5d90b3ad6250d31f7b422af4c22527177d1

10 years agogen_msvs_proj.sh: support cygwin style paths
James Zern [Wed, 23 Apr 2014 03:47:39 +0000 (20:47 -0700)]
gen_msvs_proj.sh: support cygwin style paths

Change-Id: I674337a775651d7d9c9aa9fee755deaed11c104e

10 years agoMerge "Adding macro to define vp9_variance_WxH_c() functions."
Dmitry Kovalev [Wed, 23 Apr 2014 18:35:11 +0000 (11:35 -0700)]
Merge "Adding macro to define vp9_variance_WxH_c() functions."

10 years agoChessboard pattern prediction filter type search in non-RD coding
Jingning Han [Wed, 23 Apr 2014 17:33:41 +0000 (10:33 -0700)]
Chessboard pattern prediction filter type search in non-RD coding

This commit introduces a chessboard pattern search for the prediction
filter type search. It runs extensive search in alternate blocks and
allows the rest blocks to refer coding decisions of their nearby
neighbors.

For pedestrian 1080p at 4000 kbps, the runtime of speed -5 goes down
from 43990 ms to 42200 ms. The overall compression performance for
RTC set is changed by -1.37%.

Change-Id: Icfe220c49451cda796f0ca91d935c9ed01e56c9d

10 years agoMerge "tools_common.sh: Add run messages."
Tom Finegan [Wed, 23 Apr 2014 17:11:29 +0000 (10:11 -0700)]
Merge "tools_common.sh: Add run messages."

10 years agoMerge "Rename FilterMode for compatibility with libyuv"
Deb Mukherjee [Wed, 23 Apr 2014 16:05:55 +0000 (09:05 -0700)]
Merge "Rename FilterMode for compatibility with libyuv"

10 years agoMerge "Renaming MB_PREDICTION_MODE to PREDICTION_MODE."
Dmitry Kovalev [Wed, 23 Apr 2014 07:02:00 +0000 (00:02 -0700)]
Merge "Renaming MB_PREDICTION_MODE to PREDICTION_MODE."

10 years agotools_common.sh: Add run messages.
Tom Finegan [Wed, 23 Apr 2014 05:54:20 +0000 (22:54 -0700)]
tools_common.sh: Add run messages.

Echo "Run test_name" before running each test in verbose mode.

Change-Id: Idb2a736b3af13b9bbf2fbc137f2fa7da3662a2c6

10 years agoMerge "tools_common.sh: Set VPX_TEST_EXE_SUFFIX for windows targets."
Tom Finegan [Wed, 23 Apr 2014 03:39:49 +0000 (20:39 -0700)]
Merge "tools_common.sh: Set VPX_TEST_EXE_SUFFIX for windows targets."

10 years agotools_common.sh: Set VPX_TEST_EXE_SUFFIX for windows targets.
Tom Finegan [Wed, 23 Apr 2014 02:36:40 +0000 (19:36 -0700)]
tools_common.sh: Set VPX_TEST_EXE_SUFFIX for windows targets.

Change-Id: Ic3c792bcb76917c4d4b829d0377a9c36e06dd77d

10 years agoRenaming MB_PREDICTION_MODE to PREDICTION_MODE.
Dmitry Kovalev [Fri, 11 Apr 2014 22:26:24 +0000 (15:26 -0700)]
Renaming MB_PREDICTION_MODE to PREDICTION_MODE.

Actually, it would be great to have two separate enums INTRA_MODES and
INTER_MODES in future.

Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8

10 years agoAdding macro to define vp9_variance_WxH_c() functions.
Dmitry Kovalev [Wed, 23 Apr 2014 00:45:30 +0000 (17:45 -0700)]
Adding macro to define vp9_variance_WxH_c() functions.

Change-Id: I983e3831938d4ae055de20b8d257d223e7916b1f

10 years agoMerge "Fix dr memory VP8 encode/decode errors"
Yunqing Wang [Tue, 22 Apr 2014 23:09:43 +0000 (16:09 -0700)]
Merge "Fix dr memory VP8 encode/decode errors"

10 years agoMerge "Renaming "onyx" to "encoder"."
Dmitry Kovalev [Tue, 22 Apr 2014 23:00:05 +0000 (16:00 -0700)]
Merge "Renaming "onyx" to "encoder"."

10 years agoMerge "Reusing vp9_get_interp_kernel() function in unit tests."
Dmitry Kovalev [Tue, 22 Apr 2014 22:59:52 +0000 (15:59 -0700)]
Merge "Reusing vp9_get_interp_kernel() function in unit tests."

10 years agoRenaming "onyx" to "encoder".
Dmitry Kovalev [Sat, 19 Apr 2014 01:27:47 +0000 (18:27 -0700)]
Renaming "onyx" to "encoder".

Actual renames:
  vp9_onyx_if.c -> vp9_encoder.c
  vp9_onyx_int.h -> vp9_encoder.h

Change-Id: I80532a80b118d0060518e6c6a0d640e3f411783c

10 years agoMerge "Add utiltest target to Makefile."
Tom Finegan [Tue, 22 Apr 2014 21:12:01 +0000 (14:12 -0700)]
Merge "Add utiltest target to Makefile."

10 years agoMerge "Fix the CONFIG_ALPHA build."
Alex Converse [Tue, 22 Apr 2014 19:49:28 +0000 (12:49 -0700)]
Merge "Fix the CONFIG_ALPHA build."

10 years agoMerge "Template macros to generate subpix variance functions."
Dmitry Kovalev [Tue, 22 Apr 2014 18:42:42 +0000 (11:42 -0700)]
Merge "Template macros to generate subpix variance functions."

10 years agoMerge "Inlining vp9_set_segmentation_map() function."
Dmitry Kovalev [Tue, 22 Apr 2014 18:42:07 +0000 (11:42 -0700)]
Merge "Inlining vp9_set_segmentation_map() function."

10 years agoFix the CONFIG_ALPHA build.
Alex Converse [Wed, 16 Apr 2014 17:08:30 +0000 (10:08 -0700)]
Fix the CONFIG_ALPHA build.

Change-Id: Ib89fe34812c17cd6294ce3c38f87d43a79abb16f

10 years agoRename FilterMode for compatibility with libyuv
Deb Mukherjee [Tue, 22 Apr 2014 18:15:19 +0000 (11:15 -0700)]
Rename FilterMode for compatibility with libyuv

Renames FilterMode to FilterModeEnum for compatibility
with google3 libyuv

Change-Id: Iec845e6a6aeac4171790c87ce3dd9000ab840a36

10 years agoMerge "Bug fix for svc first pass rate control."
Minghai Shang [Tue, 22 Apr 2014 17:59:55 +0000 (10:59 -0700)]
Merge "Bug fix for svc first pass rate control."

10 years agoMerge "Force ARNR filtering to be centered on the ARF frame"
Adrian Grange [Tue, 22 Apr 2014 17:39:02 +0000 (10:39 -0700)]
Merge "Force ARNR filtering to be centered on the ARF frame"

10 years agoAdd utiltest target to Makefile.
Tom Finegan [Tue, 22 Apr 2014 17:38:43 +0000 (10:38 -0700)]
Add utiltest target to Makefile.

Add target for running tests via make. Runs vpxdec.sh and vpxenc.sh.

Change-Id: I5fddb7356b6ac37e284b4f15b47310f108ae3da3

10 years agoForce ARNR filtering to be centered on the ARF frame
Adrian Grange [Fri, 18 Apr 2014 17:15:32 +0000 (10:15 -0700)]
Force ARNR filtering to be centered on the ARF frame

ARNR filtering is now forced to be centered on the ARF
frame and the other two options have been removed.

The other modes of constructing the ARNR frame were
not used and there does not seem to be any good
reason to maintain them.

This is purely an encoder-side change.

Change-Id: Ic772636d23f280752973852b9740083532a49de2

10 years agoMerge "Adds test code for supplemental superframe data"
Deb Mukherjee [Tue, 22 Apr 2014 13:53:18 +0000 (06:53 -0700)]
Merge "Adds test code for supplemental superframe data"

10 years agoInlining vp9_set_segmentation_map() function.
Dmitry Kovalev [Tue, 22 Apr 2014 03:22:36 +0000 (20:22 -0700)]
Inlining vp9_set_segmentation_map() function.

Change-Id: I82f23f0f91a0be8329e20fcd2a5918c6a096dacc

10 years agoTemplate macros to generate subpix variance functions.
Dmitry Kovalev [Tue, 22 Apr 2014 02:57:25 +0000 (19:57 -0700)]
Template macros to generate subpix variance functions.

Change-Id: I931fde6013aa18294b49a361f75f177ab1262574

10 years agoMerge "Allow full RD TX size search for GF/ALT at speed 2"
Yaowu Xu [Tue, 22 Apr 2014 01:32:36 +0000 (18:32 -0700)]
Merge "Allow full RD TX size search for GF/ALT at speed 2"

10 years agoMerge "Change naming of end_usage parameter."
Paul Wilkins [Tue, 22 Apr 2014 01:29:22 +0000 (18:29 -0700)]
Merge "Change naming of end_usage parameter."

10 years agoMerge "Remove an unused function"
Yaowu Xu [Tue, 22 Apr 2014 00:46:06 +0000 (17:46 -0700)]
Merge "Remove an unused function"

10 years agoFix dr memory VP8 encode/decode errors
Yunqing Wang [Mon, 21 Apr 2014 23:49:22 +0000 (16:49 -0700)]
Fix dr memory VP8 encode/decode errors

This patch fixed errors reported in Issue 746: "dr memory VP8
encode errors" and Issue 745: "dr memory VP8 decode errors".
The "UNINITIALIZED READ" errors were fixed in x86 assembly
code. The list of files fixed is
vp8_intra_pred_uv_tm_sse2
vp8_intra_pred_uv_tm_ssse3

vp8_intra_pred_uv_ho_mmx2
vp8_intra_pred_uv_ho_ssse3

vp8_intra_pred_y_tm_sse2
vp8_intra_pred_y_tm_ssse3

vp8_intra_pred_y_ho_sse2

Change-Id: Ib6df7bf1d442077fe534edfd90e50ad16fadacdd

10 years agoReusing vp9_get_interp_kernel() function in unit tests.
Dmitry Kovalev [Mon, 21 Apr 2014 21:15:35 +0000 (14:15 -0700)]
Reusing vp9_get_interp_kernel() function in unit tests.

Change-Id: Ic24a371817c9dd5c4035a6fe01111bd9ab63f552

10 years agoAllow full RD TX size search for GF/ALT at speed 2
Yaowu Xu [Mon, 21 Apr 2014 19:04:59 +0000 (12:04 -0700)]
Allow full RD TX size search for GF/ALT at speed 2

For speed 3 and above, such search is only allowed at speed 3.
The change helped cif and stdhd set by 1.2% and .7% in compression,
but increased the encoding time by around 5%.

Change-Id: Ifa4832327f1c1bef3decb032ceb769cbf50e059f

10 years agoMerge "Inlining and removing encoder_common_init()."
Dmitry Kovalev [Mon, 21 Apr 2014 19:21:06 +0000 (12:21 -0700)]
Merge "Inlining and removing encoder_common_init()."

10 years agoAdds test code for supplemental superframe data
Deb Mukherjee [Fri, 4 Apr 2014 21:38:29 +0000 (14:38 -0700)]
Adds test code for supplemental superframe data

Adds test code to verify that supplemental superframe information
that precedes the normal superframe information will not break
decoding.

Change-Id: Ia252b887d7ee138f51dc9a778376ff739402c455

10 years agoChange naming of end_usage parameter.
Paul Wilkins [Thu, 17 Apr 2014 23:09:24 +0000 (16:09 -0700)]
Change naming of end_usage parameter.

The end_useage parameter  is confusingly named since it
now actually defines the rate control method used.

Change-Id: I98912caabfe556b7af0b939a645d1336409e4d71

10 years agoMerge "Adding setup_frame() function."
Dmitry Kovalev [Mon, 21 Apr 2014 17:44:08 +0000 (10:44 -0700)]
Merge "Adding setup_frame() function."

10 years agoMerge "Cleaning up vp9_rdopt.c."
Dmitry Kovalev [Mon, 21 Apr 2014 17:41:04 +0000 (10:41 -0700)]
Merge "Cleaning up vp9_rdopt.c."

10 years agoMerge "Don't set loop filter sharpness in vp9_change_config()."
Dmitry Kovalev [Mon, 21 Apr 2014 17:40:30 +0000 (10:40 -0700)]
Merge "Don't set loop filter sharpness in vp9_change_config()."

10 years agoMerge "Cleaning vp9_variance.{c, h}."
Dmitry Kovalev [Mon, 21 Apr 2014 17:40:05 +0000 (10:40 -0700)]
Merge "Cleaning vp9_variance.{c, h}."

10 years agoMerge "Enable background detection for adaptive quantizer control"
Jingning Han [Mon, 21 Apr 2014 16:36:11 +0000 (09:36 -0700)]
Merge "Enable background detection for adaptive quantizer control"

10 years agoMerge "Merge two new VBR adjustment schemes."
Yaowu Xu [Mon, 21 Apr 2014 16:11:24 +0000 (09:11 -0700)]
Merge "Merge two new VBR adjustment schemes."

10 years agoMerge "Add experimental VBR adaptation method."
Yaowu Xu [Mon, 21 Apr 2014 16:11:19 +0000 (09:11 -0700)]
Merge "Add experimental VBR adaptation method."

10 years agoEnable background detection for adaptive quantizer control
Jingning Han [Thu, 17 Apr 2014 16:58:17 +0000 (09:58 -0700)]
Enable background detection for adaptive quantizer control

This commit enables a background detection approach for adaptive
quantizer control. It combines the cyclic refresh pattern and the
background information to determine the segment id for adaptive
quantizer selection, prior to the non-RD mode decision process.
It hence allows proper quantization information update for a more
precise rate-distortion modeling in the non-RD mode decision.

The compression performance of speed -5 for rtc set is improved
by 2.5%, at no speed change.

Change-Id: Ic3713e8ed9185b403b5b1679d19dabd57506d452

10 years agoRemove an unused function
Yaowu Xu [Sun, 20 Apr 2014 21:04:53 +0000 (14:04 -0700)]
Remove an unused function

Change-Id: I0f2592ecfc5197dfb94975260cb2f862315e7895

10 years agotest/WebMVideoSource: fix WebMInputContext leak
James Zern [Sat, 19 Apr 2014 16:29:26 +0000 (09:29 -0700)]
test/WebMVideoSource: fix WebMInputContext leak

lost in the shuffle of:
4fd6317 Remove duplicate code in test/webm_video_source.h

Change-Id: I89792fa17f03920616c55486bbdaf56c6461c9eb

10 years agoMerge "Moving set_rd_speed_thresholds{,_sub8x8} to vp9_rdopt.{h, c}."
Dmitry Kovalev [Sat, 19 Apr 2014 01:18:08 +0000 (18:18 -0700)]
Merge "Moving set_rd_speed_thresholds{,_sub8x8} to vp9_rdopt.{h, c}."

10 years agoInlining and removing encoder_common_init().
Dmitry Kovalev [Sat, 19 Apr 2014 01:17:43 +0000 (18:17 -0700)]
Inlining and removing encoder_common_init().

Change-Id: I35f948fe1ac107950c8d8e4ba06e5a95ac4ec30e

10 years agoCleaning vp9_variance.{c, h}.
Dmitry Kovalev [Sat, 19 Apr 2014 00:05:28 +0000 (17:05 -0700)]
Cleaning vp9_variance.{c, h}.

Change-Id: I802308de4817e48a627bb44a744d32010fe7818f

10 years agoCleaning up vp9_rdopt.c.
Dmitry Kovalev [Fri, 18 Apr 2014 23:56:43 +0000 (16:56 -0700)]
Cleaning up vp9_rdopt.c.

Change-Id: Ifd008968326e61ab492162351e358bf0ac0dac0a

10 years agoMerge "Remove ALT_REF_MC_ENABLED and tidy-up ARNR code."
Adrian Grange [Fri, 18 Apr 2014 23:34:57 +0000 (16:34 -0700)]
Merge "Remove ALT_REF_MC_ENABLED and tidy-up ARNR code."

10 years agoMoving set_rd_speed_thresholds{,_sub8x8} to vp9_rdopt.{h, c}.
Dmitry Kovalev [Tue, 15 Apr 2014 23:52:28 +0000 (16:52 -0700)]
Moving set_rd_speed_thresholds{,_sub8x8} to vp9_rdopt.{h, c}.

Change-Id: I983364b33e8f103b43a0448821e890989176f1cc

10 years agoDon't set loop filter sharpness in vp9_change_config().
Dmitry Kovalev [Fri, 18 Apr 2014 20:59:30 +0000 (13:59 -0700)]
Don't set loop filter sharpness in vp9_change_config().

The right value is calculated and set in vp9_pick_filter_level().

Change-Id: I5f725ac21f90dc9b80181a09a2040970bf6671d4

10 years agoBug fix for svc first pass rate control.
Minghai Shang [Fri, 18 Apr 2014 17:59:15 +0000 (10:59 -0700)]
Bug fix for svc first pass rate control.

1. We didn't scale source image in lower layers so that
the stats are incorrect.
2. We didn't extend borders for re-constructed image.

Change-Id: Ia8d7bafbdb695ffa7f504e171f9449812e7bb0a3

10 years agoRenaming VP9_CONFIG to VP9EncoderConfig.
Dmitry Kovalev [Fri, 18 Apr 2014 18:01:36 +0000 (11:01 -0700)]
Renaming VP9_CONFIG to VP9EncoderConfig.

Change-Id: Id48edd12c6f649c82113128491ef6ea7410e93b2

10 years agoMerge "Adding get_pass() function."
Dmitry Kovalev [Fri, 18 Apr 2014 17:38:20 +0000 (10:38 -0700)]
Merge "Adding get_pass() function."

10 years agoMerge "Remove duplicate code in test/webm_video_source.h"
James Zern [Fri, 18 Apr 2014 17:32:11 +0000 (10:32 -0700)]
Merge "Remove duplicate code in test/webm_video_source.h"

10 years agoRemove ALT_REF_MC_ENABLED and tidy-up ARNR code.
Adrian Grange [Mon, 14 Apr 2014 23:56:40 +0000 (16:56 -0700)]
Remove ALT_REF_MC_ENABLED and tidy-up ARNR code.

Change-Id: I922d988486b47f413d11a8eeb38532a484d15c80

10 years agoMerge "Fix broken encoding process at sub8x8 block size"
Jingning Han [Fri, 18 Apr 2014 15:46:53 +0000 (08:46 -0700)]
Merge "Fix broken encoding process at sub8x8 block size"

10 years agoRemove duplicate code in test/webm_video_source.h
Vignesh Venkatasubramanian [Mon, 14 Apr 2014 21:19:50 +0000 (14:19 -0700)]
Remove duplicate code in test/webm_video_source.h

Remove duplicate WebM parsing code in test/webm_video_source.h and linking it
against webmdec.c which does the exact same thing.

Change-Id: Ib7152eecde890fca58be42028cab18c9cb54221c

10 years agoRemove warn() call in webmdec.c
Vignesh Venkatasubramanian [Fri, 18 Apr 2014 06:41:24 +0000 (23:41 -0700)]
Remove warn() call in webmdec.c

Remove call to warn() in webmdec.c so that it does not depend on
tools_common.c for compilation.

Change-Id: I2790e837985ce1d84b35f5a20c783d0e6020a9f5

10 years agoMerge "Removing cq_target_quality from VP9_COMP."
Dmitry Kovalev [Fri, 18 Apr 2014 01:27:19 +0000 (18:27 -0700)]
Merge "Removing cq_target_quality from VP9_COMP."

10 years agoMerge "Adding is_best_mode() function."
Dmitry Kovalev [Fri, 18 Apr 2014 01:26:54 +0000 (18:26 -0700)]
Merge "Adding is_best_mode() function."

10 years agoMerge "rename labels2mode because it was a terrible name."
Jim Bankoski [Thu, 17 Apr 2014 22:42:41 +0000 (15:42 -0700)]
Merge "rename labels2mode because it was a terrible name."

10 years agoMerge "renamed pick_best_mbsegmentation and remove rd_check_segment_txsize"
Jim Bankoski [Thu, 17 Apr 2014 22:42:36 +0000 (15:42 -0700)]
Merge "renamed pick_best_mbsegmentation and remove rd_check_segment_txsize"

10 years agoMerge "rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8"
Jim Bankoski [Thu, 17 Apr 2014 22:42:27 +0000 (15:42 -0700)]
Merge "rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8"

10 years agoFix broken encoding process at sub8x8 block size
Jingning Han [Thu, 17 Apr 2014 21:44:02 +0000 (14:44 -0700)]
Fix broken encoding process at sub8x8 block size

Use the correct buffer to update the coding mode decision for
sub8x8 blocks.

Change-Id: I091ef27d2047eeb8b73ceb7c2c7c45b38ba8c6d5

10 years agoAdding get_pass() function.
Dmitry Kovalev [Thu, 17 Apr 2014 22:25:20 +0000 (15:25 -0700)]
Adding get_pass() function.

Change-Id: I43de248615b79828d5164b670e7358b8a520d075

10 years agoMerge "Skip fetching original frame pointers for UV in background check"
Jingning Han [Thu, 17 Apr 2014 22:22:41 +0000 (15:22 -0700)]
Merge "Skip fetching original frame pointers for UV in background check"

10 years agoAdding is_best_mode() function.
Dmitry Kovalev [Thu, 17 Apr 2014 22:09:55 +0000 (15:09 -0700)]
Adding is_best_mode() function.

Change-Id: Idca7c1cd8a12df465c58b6ba064a99404b3b4bce

10 years agoMerge "examples: remove off_t overrides"
James Zern [Thu, 17 Apr 2014 21:58:55 +0000 (14:58 -0700)]
Merge "examples: remove off_t overrides"

10 years agoRemoving cq_target_quality from VP9_COMP.
Dmitry Kovalev [Thu, 17 Apr 2014 21:57:43 +0000 (14:57 -0700)]
Removing cq_target_quality from VP9_COMP.

Use cq_level (which is identical) from VP9_CONFIG instead.

Change-Id: I1aaf2fcef3d2dbd4577f613d27693ff8a68989fd

10 years agoMerge "Replacing cpu_used with speed in VP9_CONFIG."
Dmitry Kovalev [Thu, 17 Apr 2014 21:34:26 +0000 (14:34 -0700)]
Merge "Replacing cpu_used with speed in VP9_CONFIG."

10 years agorename labels2mode because it was a terrible name.
Jim Bankoski [Thu, 17 Apr 2014 20:48:54 +0000 (13:48 -0700)]
rename labels2mode because it was a terrible name.

Change-Id: I2d577d11966fcc5ffaaf0896bf51d18078ad1e9c

10 years agoMerge "Relax the threshold for datarate test by 5%"
Yaowu Xu [Thu, 17 Apr 2014 20:47:47 +0000 (13:47 -0700)]
Merge "Relax the threshold for datarate test by 5%"

10 years agoMerge two new VBR adjustment schemes.
Paul Wilkins [Wed, 16 Apr 2014 23:53:55 +0000 (16:53 -0700)]
Merge two new VBR adjustment schemes.

To make direct side by side testing this patch combines two
VBR corrections schemes to allow more direct side by side testing.
(The other patch was by Debargha chg id I0cd1f7...)

Change-Id: I271c45e5c4ccf8de8305589000218b80d9dc3a25

10 years agoSkip fetching original frame pointers for UV in background check
Jingning Han [Wed, 16 Apr 2014 22:43:38 +0000 (15:43 -0700)]
Skip fetching original frame pointers for UV in background check

The background detection only tracks luma component. This commits
removes the frame buffer pointer retrieval for chroma components.

Change-Id: I098bd2950f5e5829ed5dc2b48568167248da7fad

10 years agoexamples: remove off_t overrides
James Zern [Thu, 17 Apr 2014 17:47:08 +0000 (10:47 -0700)]
examples: remove off_t overrides

this is error prone, int64 will suffice for all cases

Change-Id: I94883f93518cfc356ed57b14dc39d79aebccf47d

10 years agoMerge "Remove redundant buffer initialization and mode_info assignments"
Jingning Han [Thu, 17 Apr 2014 16:36:30 +0000 (09:36 -0700)]
Merge "Remove redundant buffer initialization and mode_info assignments"

10 years agorenamed pick_best_mbsegmentation and remove rd_check_segment_txsize
Jim Bankoski [Thu, 17 Apr 2014 16:11:23 +0000 (09:11 -0700)]
renamed pick_best_mbsegmentation and remove rd_check_segment_txsize

Change-Id: Ia7d33bc3eb595965bccf4b2231df1e3b2a0243c6

10 years agoRelax the threshold for datarate test by 5%
Yaowu Xu [Thu, 17 Apr 2014 15:45:00 +0000 (08:45 -0700)]
Relax the threshold for datarate test by 5%

Change-Id: Ibc770df77939a68f9f0d1d78c0edd737b0d398ad

10 years agorename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8
Jim Bankoski [Thu, 17 Apr 2014 15:40:47 +0000 (08:40 -0700)]
rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8

Change-Id: I00bceb9de2009963c91e5102564c05c31ac1ad78

10 years agoadd a context tree structure to encoder
Jim Bankoski [Thu, 17 Apr 2014 14:30:55 +0000 (07:30 -0700)]
add a context tree structure to encoder

This patch sets up a quad_tree structure (pc_tree) for holding all of
pick_mode_context data we use at any square block size during encoding
or picking modes.  That includes contexts for 2 horizontal and 2 vertical
splits, one none, and pointers to 4 sub pc_tree nodes corresponding
to split.  It also includes a pointer to the current chosen partitioning.

This replaces code that held an index for every level in the pick
modes array including:  sb_index, mb_index,
b_index, ab_index.

These were used as stateful indexes that pointed to the current pick mode
contexts you had at each level stored in the following arrays

array ab4x4_context[][][],
sb8x4_context[][][], sb4x8_context[][][], sb8x8_context[][][],
sb8x16_context[][][], sb16x8_context[][][], mb_context[][], sb32x16[][],
sb16x32[],  sb32_context[], sb32x64_context[], sb64x32_context[],
sb64_context

and the partitioning that had been stored in the following:
b_partitioning, mb_partitioning, sb_partitioning, and sb64_partitioning.

Prior to this patch before doing an encode you had to set the appropriate
index for your block size ( switch statement),  update it ( up to 3
lookups for the index array value) and then make your call into a recursive
function at which point you'd have to call get_context which then
had to do a switch statement based on the blocksize,  and then up to 3
lookups based upon the block size to find the context to use.

With the new code the context for the block size is passed around directly
avoiding the extraneous switch statements and multi dimensional array
look ups that were listed above.   At any level in the search all of the
contexts are local to the pc_tree you are working on (in?).

In addition in most places code that used to call sub functions and
then check if the block size was 4x4 and index was > 0 and return
now don't preferring instead to call the right none function on the inside.

Change-Id: I06e39318269d9af2ce37961b3f95e181b57f5ed9

10 years agoMerge "Cleaning up vp9_init_second_pass()."
Dmitry Kovalev [Thu, 17 Apr 2014 02:27:49 +0000 (19:27 -0700)]
Merge "Cleaning up vp9_init_second_pass()."

10 years agoReplacing cpu_used with speed in VP9_CONFIG.
Dmitry Kovalev [Thu, 17 Apr 2014 01:31:42 +0000 (18:31 -0700)]
Replacing cpu_used with speed in VP9_CONFIG.

Change-Id: I86b85b5c11388e84a48f8936330c0d920df5d1f0

10 years agoRemove redundant buffer initialization and mode_info assignments
Jingning Han [Wed, 16 Apr 2014 17:39:23 +0000 (10:39 -0700)]
Remove redundant buffer initialization and mode_info assignments

There is no need to initialize source/dst frame buffers at frame
level. These will be done at block coding stage. This commit hence
removes the redundant operations.

Change-Id: I11d9f2556058c6205c8e58ed53e31f78622c41b7

10 years agoMerge "Enable more precise background detection for partition decision"
Jingning Han [Thu, 17 Apr 2014 00:00:13 +0000 (17:00 -0700)]
Merge "Enable more precise background detection for partition decision"

10 years agoAdd experimental VBR adaptation method.
Paul Wilkins [Tue, 15 Apr 2014 01:06:52 +0000 (18:06 -0700)]
Add experimental VBR adaptation method.

Add code to monitor over and under spend and
apply limited correction to the data rate of subsequent
frames. To prevent the problem of starvation or overspend
on individual frames (especially near the end of a clip) the
maximum adjustment on a single frame is limited to a %
of its un-modified allocation.

Change-Id: I6e1ca035ab8afb0c98eac4392115d0752d9cbd7f

10 years agoMerge "Prevent reading of uninitialized value"
Yaowu Xu [Wed, 16 Apr 2014 22:41:04 +0000 (15:41 -0700)]
Merge "Prevent reading of uninitialized value"

10 years agoCleaning up vp9_init_second_pass().
Dmitry Kovalev [Wed, 16 Apr 2014 22:17:53 +0000 (15:17 -0700)]
Cleaning up vp9_init_second_pass().

Change-Id: Ibf360fe0728e07de448e77e3841c49eb25d3ba2d

10 years agoMerge "Remove old activity masking code."
Paul Wilkins [Wed, 16 Apr 2014 21:24:25 +0000 (14:24 -0700)]
Merge "Remove old activity masking code."