]> granicus.if.org Git - libvpx/log
libvpx
9 years agoMerge "Remove mi_grid_base_array from VP9_COMMON (unused)"
Adrian Grange [Tue, 14 Oct 2014 14:50:17 +0000 (07:50 -0700)]
Merge "Remove mi_grid_base_array from VP9_COMMON (unused)"

9 years agoMerge "Clamp rate error estimate."
Paul Wilkins [Tue, 14 Oct 2014 09:40:12 +0000 (02:40 -0700)]
Merge "Clamp rate error estimate."

9 years agoMerge "Resolves some lint errors"
Deb Mukherjee [Tue, 14 Oct 2014 04:57:24 +0000 (21:57 -0700)]
Merge "Resolves some lint errors"

9 years agoMerge "Add a seg map preservation test vector."
Alex Converse [Tue, 14 Oct 2014 03:02:12 +0000 (20:02 -0700)]
Merge "Add a seg map preservation test vector."

9 years agoResolves some lint errors
Deb Mukherjee [Mon, 13 Oct 2014 21:27:53 +0000 (14:27 -0700)]
Resolves some lint errors

And also fixes some style consistency issues.

Change-Id: I3dc6d44e17d2d6075dc9b02c4255a7395046c5e0

9 years agoMerge "Use pre increment."
hkuang [Mon, 13 Oct 2014 22:24:57 +0000 (15:24 -0700)]
Merge "Use pre increment."

9 years agoUse pre increment.
hkuang [Mon, 13 Oct 2014 21:04:16 +0000 (14:04 -0700)]
Use pre increment.

Change-Id: I016b4e77d8268e189473f4c382603afe1ae1750f

9 years agoRemove mi_grid_base_array from VP9_COMMON (unused)
Adrian Grange [Mon, 13 Oct 2014 18:52:14 +0000 (11:52 -0700)]
Remove mi_grid_base_array from VP9_COMMON (unused)

Change-Id: I4b4764463f5a7cdc01ec004b882c6237466c74b0

9 years agoAdd a seg map preservation test vector.
Alex Converse [Mon, 13 Oct 2014 18:18:22 +0000 (11:18 -0700)]
Add a seg map preservation test vector.

Add a test vector to show the cases where segmentation map is preserved
from frome to frame as outlined in the inquiry in issue 761.

Change-Id: I630c6aba27d0d0b109cc7fd7c6fcd008222a0cf3

9 years agoClamp rate error estimate.
Paul Wilkins [Mon, 13 Oct 2014 17:03:54 +0000 (18:03 +0100)]
Clamp rate error estimate.

Add back clamp which ensures that the Q adaptation
is turned off when the over_shoot_pct and under_shoot_pct
parameters are set to 100.

Change-Id: Id0161b114d39a3029cd3eb28020caab0c3914922

9 years agoMerge "Add adaptation option for VBR."
Paul Wilkins [Mon, 13 Oct 2014 17:04:59 +0000 (10:04 -0700)]
Merge "Add adaptation option for VBR."

9 years agoMerge "args.h: add arg_parse_enum prototype"
James Zern [Mon, 13 Oct 2014 09:20:21 +0000 (02:20 -0700)]
Merge "args.h: add arg_parse_enum prototype"

9 years agoMerge "vp9_spatial_svc_encoder: fix -bit-depth arg parsing"
James Zern [Mon, 13 Oct 2014 09:20:16 +0000 (02:20 -0700)]
Merge "vp9_spatial_svc_encoder: fix -bit-depth arg parsing"

9 years agoMerge "yv12config: fix highbitdepth build"
James Zern [Mon, 13 Oct 2014 09:20:04 +0000 (02:20 -0700)]
Merge "yv12config: fix highbitdepth build"

9 years agoAdd adaptation option for VBR.
Paul Wilkins [Mon, 13 Oct 2014 09:12:12 +0000 (10:12 +0100)]
Add adaptation option for VBR.

Allow min and maxQ to creep when the undershoot
or overshoot exceeds thresholds controlled by the
command line under_shoot_pct and over_shoot_pct
values.

Default is 100%,100% which ~disables adaptation.

Derf results for example undershoot% / overshoot%:-

Head:- Mean abs (%rate error) = 14.4%

This check in:-
25%/25% - Mean abs (%rate error) = 6.7%
                  PSNR hit -1% SSIM -0.1%

5% / 5%  - Mean abs (%rate error) = 2.2%
                 PSNR hit -3.3% SSIM - 1.1%

Most of the remaining error and most of the quality hit is
at extreme data rates. The adaptation code still has an
exception for material that is in effect static so that we
don't over adjust and over spend on YT slide show type
content.

(Rebase of If25a2449a415449c150acff23df713e9598d64c9
to resolve a auto-merge error)

Change-Id: Iec4e1613ef0d067454751d8220edb7058dfbd816

9 years agoFix ActiveMapTest valgrind warning
Jingning Han [Sun, 12 Oct 2014 05:34:02 +0000 (22:34 -0700)]
Fix ActiveMapTest valgrind warning

This fixes a valgrind warning in the ActiveMapTest unit test
reported in issue 870.

Change-Id: Idf172ab0244ebefe630c3577e649bc9ba7c43d10

9 years agoargs.h: add arg_parse_enum prototype
James Zern [Sat, 11 Oct 2014 09:27:23 +0000 (11:27 +0200)]
args.h: add arg_parse_enum prototype

Change-Id: I64d6e7c2d3f76528ab409ce381267fc5cef13ab1

9 years agovp9_spatial_svc_encoder: fix -bit-depth arg parsing
James Zern [Sat, 11 Oct 2014 09:24:52 +0000 (11:24 +0200)]
vp9_spatial_svc_encoder: fix -bit-depth arg parsing

use arg_parse_enum_or_int like vpxenc. this also fixes a warning as
arg_parse_enum is not currently declared in args.h.

Change-Id: If9ce258d6adb6286eb86f529083929d5fe2b3a56

9 years agoyv12config: fix highbitdepth build
James Zern [Sat, 11 Oct 2014 09:14:54 +0000 (11:14 +0200)]
yv12config: fix highbitdepth build

Change-Id: Ie8a4caae19fb514d5bd22e0ae35ca0edcd3484ae

9 years agoRevert "Add adaptation option for VBR."
Alex Converse [Fri, 10 Oct 2014 18:31:58 +0000 (11:31 -0700)]
Revert "Add adaptation option for VBR."

This reverts commit 869d4ca51957614dcf5093ebb9e322cc8a8405ca.

This breaks the build via conflict with
e18edd5eb651f9b7563cbd829744807402bfe0d8.

Change-Id: If544b99e367a449452834eb8cce600f58c34ec0d

9 years agoMerge "Optimize the code to set the refernce frame right after reading the header."
hkuang [Fri, 10 Oct 2014 17:40:21 +0000 (10:40 -0700)]
Merge "Optimize the code to set the refernce frame right after reading the header."

9 years agoMerge "Correct the code format."
hkuang [Fri, 10 Oct 2014 17:01:05 +0000 (10:01 -0700)]
Merge "Correct the code format."

9 years agoMerge "Add adaptation option for VBR."
Paul Wilkins [Fri, 10 Oct 2014 16:22:58 +0000 (09:22 -0700)]
Merge "Add adaptation option for VBR."

9 years agoMerge "vp9/choose_partitioning: add missing clear_system_state"
Yaowu Xu [Fri, 10 Oct 2014 16:16:19 +0000 (09:16 -0700)]
Merge "vp9/choose_partitioning: add missing clear_system_state"

9 years agovp9/choose_partitioning: add missing clear_system_state
James Zern [Fri, 10 Oct 2014 15:14:46 +0000 (08:14 -0700)]
vp9/choose_partitioning: add missing clear_system_state

set_vt_partitioning does double math

Change-Id: I8e9d73d5c89b937a5326abf04164d24d9d88c5ef

9 years agoMerge changes Ib5030373,Id614cfe6
James Zern [Fri, 10 Oct 2014 13:48:04 +0000 (06:48 -0700)]
Merge changes Ib5030373,Id614cfe6

* changes:
  test-data.mk: add some sectional comments
  add test-data.mk

9 years agoAdd adaptation option for VBR.
Paul Wilkins [Thu, 9 Oct 2014 13:49:41 +0000 (14:49 +0100)]
Add adaptation option for VBR.

Allow min and maxQ to creep when the undershoot
or overshoot exceeds thresholds controlled by the
command line under_shoot_pct and over_shoot_pct
values.

Default is 100%,100% which ~disables adaptation.

Derf results for example undershoot% / overshoot%:-

Head:- Mean abs (%rate error) = 14.4%

This check in:-
25%/25% - Mean abs (%rate error) = 6.7%
                  PSNR hit -1% SSIM -0.1%

5% / 5%  - Mean abs (%rate error) = 2.2%
                 PSNR hit -3.3% SSIM - 1.1%

Most of the remaining error and most of the quality hit is
at extreme data rates. The adaptation code still has an
exception for material that is in effect static so that we
don't over adjust and over spend on YT slide show type
content.

Change-Id: If25a2449a415449c150acff23df713e9598d64c9

9 years agovp9_avg_intrin_sse2: correct intrinsics include
James Zern [Fri, 10 Oct 2014 08:05:47 +0000 (10:05 +0200)]
vp9_avg_intrin_sse2: correct intrinsics include

immintrin.h -> emmintrin.h
fixes build where newer intrinsics are unavailable

Change-Id: I79311b39bfa782fc2abeb45884ecb417050cb9f8

9 years agoCorrect the code format.
hkuang [Fri, 10 Oct 2014 00:57:45 +0000 (17:57 -0700)]
Correct the code format.

Change-Id: If2de420f8123a4e8bf635dd29205dd74ee174eee

9 years agoOptimize the code to set the refernce frame right after reading the header.
hkuang [Thu, 9 Oct 2014 23:32:36 +0000 (16:32 -0700)]
Optimize the code to set the refernce frame right after reading the header.

Change-Id: I495cf4a366e06e3220ed132500b1ba1c8448f708

9 years agoMerge "Remove unnecessary code."
hkuang [Thu, 9 Oct 2014 22:44:08 +0000 (15:44 -0700)]
Merge "Remove unnecessary code."

9 years agoMerge "Remove unnecessary scale check in set_ref."
hkuang [Thu, 9 Oct 2014 22:43:31 +0000 (15:43 -0700)]
Merge "Remove unnecessary scale check in set_ref."

9 years agoMerge "Rename highbitdepth functions to use highbd prefix"
Deb Mukherjee [Thu, 9 Oct 2014 22:39:56 +0000 (15:39 -0700)]
Merge "Rename highbitdepth functions to use highbd prefix"

9 years agoRemove unnecessary code.
hkuang [Thu, 9 Oct 2014 22:12:12 +0000 (15:12 -0700)]
Remove unnecessary code.

Function will jump to error handler when ref buffer is corrupted.
So "xd->corrupted |= ref_buffer->buf->corrupted;" is useless.

Change-Id: I35353a0637ad0dbb682454e040ef69fa68280bfa

9 years agoRename highbitdepth functions to use highbd prefix
Deb Mukherjee [Wed, 8 Oct 2014 19:43:22 +0000 (12:43 -0700)]
Rename highbitdepth functions to use highbd prefix

Uses highbd_ prefix convention consistently.

Change-Id: I58f7f799a7ff8e32701bcd71c955bcf1cdd4581e

9 years agoRemove unnecessary scale check in set_ref.
hkuang [Thu, 9 Oct 2014 18:58:39 +0000 (11:58 -0700)]
Remove unnecessary scale check in set_ref.

Scale check has been done in read_inter_block_mode_info.

Change-Id: I6c86f93bd579109ed30ff13a04a30e35f5ae6fc5

9 years agoMerge "Remove sub8x8 block index from rd_pick_partition argument"
Jingning Han [Thu, 9 Oct 2014 18:16:11 +0000 (11:16 -0700)]
Merge "Remove sub8x8 block index from rd_pick_partition argument"

9 years agoMerge "Subpel search cleanups and enhancements"
Deb Mukherjee [Thu, 9 Oct 2014 18:14:51 +0000 (11:14 -0700)]
Merge "Subpel search cleanups and enhancements"

9 years agoMerge "Move the high freq coeff check outside store_coding_context"
Alex Converse [Thu, 9 Oct 2014 18:12:02 +0000 (11:12 -0700)]
Merge "Move the high freq coeff check outside store_coding_context"

9 years agoRemove sub8x8 block index from rd_pick_partition argument
Jingning Han [Thu, 9 Oct 2014 02:34:00 +0000 (19:34 -0700)]
Remove sub8x8 block index from rd_pick_partition argument

This parameter is deprecated. Its function is replaced with
other explicit condition check.

Change-Id: I61337e350ba8ca9eb50382db8b4d4acbf45cb7eb

9 years agoMerge "vp8: Suppress denoising with respect to old reference frames."
Marco [Thu, 9 Oct 2014 15:41:49 +0000 (08:41 -0700)]
Merge "vp8: Suppress denoising with respect to old reference frames."

9 years agoMerge "Fix src frame buffer copy and extend"
Yaowu Xu [Thu, 9 Oct 2014 14:08:48 +0000 (07:08 -0700)]
Merge "Fix src frame buffer copy and extend"

9 years agotest-data.mk: add some sectional comments
James Zern [Fri, 3 Oct 2014 23:41:56 +0000 (16:41 -0700)]
test-data.mk: add some sectional comments

+ sort

Change-Id: Ib503037376368cec0cf57cbedeb215ab0eac8304

9 years agoadd test-data.mk
James Zern [Fri, 3 Oct 2014 23:18:58 +0000 (16:18 -0700)]
add test-data.mk

splits the test sources (test.mk) and the test data.

Change-Id: Id614cfe68bfbc09b0e429a37a21ec7a9dcdfadc6

9 years agoMerge "set_vt_partitioning: fix type conversion warning"
James Zern [Thu, 9 Oct 2014 10:53:01 +0000 (03:53 -0700)]
Merge "set_vt_partitioning: fix type conversion warning"

9 years agoset_vt_partitioning: fix type conversion warning
James Zern [Thu, 9 Oct 2014 09:41:36 +0000 (11:41 +0200)]
set_vt_partitioning: fix type conversion warning

double -> int64
+ make threshold_multiplier an int

Change-Id: I6d3607fdf13d670f57c9d9b04a80acb2be1346a0

9 years agovp9_rtcd_defs: fix vp9_avg_8x8 declaration
James Zern [Thu, 9 Oct 2014 08:44:42 +0000 (10:44 +0200)]
vp9_rtcd_defs: fix vp9_avg_8x8 declaration

vp9_avg_8x8 does not depend on x86inc, fixes 32-bit OS X build

Change-Id: I709b874ea84bf57c8cdb5ac7d43eecc6b8c1a2dd

9 years agoSubpel search cleanups and enhancements
Deb Mukherjee [Tue, 7 Oct 2014 09:48:08 +0000 (02:48 -0700)]
Subpel search cleanups and enhancements

- Some fixes to surface fit.
- Returns variance function as cost rather than sad in the
  pattern search and diamond search functions. Only
  vp9_pattern_search_sad function used in bigdia search
  uses sad as integer 1-away costs.
- Deploys SUBPEL_TREE_PRUNED_MORE for speed 4+.

Results:
derf [Speed 3]: About +0.036% in coding efficiency without any
discernible speed loss.
derf [Speed 4]: About 2-3% faster at -0.199% loss in coding efficiency.
derf [Speed 5]: About 3-4% faster at -0.149% loss in coding efficiency.

Change-Id: I8462f94f6adb46966ca964f2bd0400977357fd63

9 years agoMerge "Allow mode search breakout at very low prediction errors"
Yunqing Wang [Thu, 9 Oct 2014 02:58:18 +0000 (19:58 -0700)]
Merge "Allow mode search breakout at very low prediction errors"

9 years agoAllow mode search breakout at very low prediction errors
Yunqing Wang [Thu, 2 Oct 2014 23:25:52 +0000 (16:25 -0700)]
Allow mode search breakout at very low prediction errors

In model_rd_for_sb function, the spatial domain SSE and variance
are checked to see if transform coefficients are quantized to 0.
Besides that, this patch adds another set of thresholds that are
much more strict. These thresholds are used to conduct a partition
block level check to measure if all its TX blocks are skippable
for YUV planes. If it is true, x->skip is set for this partition
block, and thus its mode search is terminated.

This speeds up the encoding at very low prediction error case,
such as screen sharing application. This patch covers what
rd_encode_breakout_test() does, so that function is removed.

Borg test at speed 3 shows:
For stdhd set, psnr: +0.008%, ssim: +0.014%;
For derf set, psnr: +0.018%, ssim: +0.025%.
No noticeable speed change.

Change-Id: I4e5f15cf10016a282a68e35175ff854b28195944

9 years agoMove the high freq coeff check outside store_coding_context
Jingning Han [Wed, 8 Oct 2014 22:02:37 +0000 (15:02 -0700)]
Move the high freq coeff check outside store_coding_context

This fixes valgrind message issue 870.

Change-Id: Ibbc2481923a2995029ab05de30c9e8a6e9f0f9a8

9 years agoUse local variable in vp9_rd_pick_inter_mode_sb
Jingning Han [Wed, 8 Oct 2014 00:10:38 +0000 (17:10 -0700)]
Use local variable in vp9_rd_pick_inter_mode_sb

Change-Id: Ie35a965a6b8de536ccaf61ff61498620d22db205

9 years agoMerge "Clean up header files in vp9_blockd.h and related files"
Jingning Han [Wed, 8 Oct 2014 22:25:09 +0000 (15:25 -0700)]
Merge "Clean up header files in vp9_blockd.h and related files"

9 years agoMerge "Use #define statement for MAX_MB_PLANE"
Jingning Han [Wed, 8 Oct 2014 22:24:56 +0000 (15:24 -0700)]
Merge "Use #define statement for MAX_MB_PLANE"

9 years agovp8: Suppress denoising with respect to old reference frames.
Marco [Tue, 7 Oct 2014 23:15:32 +0000 (16:15 -0700)]
vp8: Suppress denoising with respect to old reference frames.

If the GOLDEN or ALTREF frame was last updated > x frames in the past,
don't use them for denoising (only consider LAST). Using an old reference
frame for denoising, e.g., if it is a long-term reference or the last key frame,
can cause some visible artifacts, in particular in the aggressive denoising mode.

Change-Id: I239c9fbb092c36cba7e95328f1fa67a58d6a7ed9

9 years agoFixes naming bug from previous highbitdepth patch
Deb Mukherjee [Wed, 8 Oct 2014 19:46:37 +0000 (12:46 -0700)]
Fixes naming bug from previous highbitdepth patch

Change-Id: Ife939930309ceea730dd5df594b8f36e6644bf36

9 years agoMerge "Refactoring of highbitdepth bitshift operations"
Deb Mukherjee [Wed, 8 Oct 2014 18:44:50 +0000 (11:44 -0700)]
Merge "Refactoring of highbitdepth bitshift operations"

9 years agoMerge "Add unit test for VP8 denoiser."
JackyChen [Wed, 8 Oct 2014 18:41:14 +0000 (11:41 -0700)]
Merge "Add unit test for VP8 denoiser."

9 years agoFix src frame buffer copy and extend
Yaowu Xu [Wed, 8 Oct 2014 16:06:36 +0000 (09:06 -0700)]
Fix src frame buffer copy and extend

For input source with size that is not multiple of 8, the size is
rounded to 8 and saved in width or height, the original source sizes
are saved in crop_width and crop_height. This commit corrects the
computation of bottom and right extension amounts to use the orignal
sizes, hence crop_width and crop_height.

In addition, this commit also adds the missed initialization for
uv_crop_width and uv_crop_height.

This addresses issue #834

Change-Id: I084543ca7645a4964b88f7cf8ff668f517d3a39b

9 years agoRefactoring of highbitdepth bitshift operations
Deb Mukherjee [Tue, 7 Oct 2014 03:46:11 +0000 (20:46 -0700)]
Refactoring of highbitdepth bitshift operations

Moves the high bitdepth bit-shift operations to tools_common.c

Change-Id: Ifab91574362609cd224d2d6bae5fde00652eb3e4

9 years agoAdd unit test for VP8 denoiser.
JackyChen [Tue, 7 Oct 2014 22:30:23 +0000 (15:30 -0700)]
Add unit test for VP8 denoiser.

The unit test is to check the bitexactness of SSE2 code with C code.

Change-Id: I13cc08a557b02357e5d6c2db7a49e93ce0d8e16f

9 years agoMerge "experimental : partition using 1/8 x 1/8 image"
Jim Bankoski [Wed, 8 Oct 2014 16:04:26 +0000 (09:04 -0700)]
Merge "experimental : partition using 1/8 x 1/8 image"

9 years agoMerge "Force better lower quantizer keyframe in case of high quantizer."
Jim Bankoski [Wed, 8 Oct 2014 16:04:01 +0000 (09:04 -0700)]
Merge "Force better lower quantizer keyframe in case of high quantizer."

9 years agoRevert "Change the y4m buffer allocation size"
Yaowu Xu [Wed, 8 Oct 2014 15:38:15 +0000 (08:38 -0700)]
Revert "Change the y4m buffer allocation size"

This reverts commit 72ef1949388c4c0d82769ef06c6db0195b124b13.

Change-Id: Ic1906bcc6da05d2e6529152b92df809c8e5a2406

9 years agoMerge "Improve two pass VBR accuracy."
Paul Wilkins [Wed, 8 Oct 2014 11:23:30 +0000 (04:23 -0700)]
Merge "Improve two pass VBR accuracy."

9 years agoMerge "Two pass rc changes."
Paul Wilkins [Wed, 8 Oct 2014 11:23:20 +0000 (04:23 -0700)]
Merge "Two pass rc changes."

10 years agoexperimental : partition using 1/8 x 1/8 image
Jim Bankoski [Tue, 7 Oct 2014 23:36:14 +0000 (16:36 -0700)]
experimental : partition using 1/8 x 1/8 image

The concept:

There's too much noise in source pixels for variance and at low bitrate
the reconstructed looks nothing like the source so we have problems
getting good partitionings with either.   This skirts the issue by using
a box blur scaled down version for variance calculations.  To compare
against source_var_ moved keyframe to be rd based like source_var.

Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624

10 years agoForce better lower quantizer keyframe in case of high quantizer.
Jim Bankoski [Mon, 22 Sep 2014 20:58:09 +0000 (13:58 -0700)]
Force better lower quantizer keyframe in case of high quantizer.

Change-Id: Ie69a164bc166b6a8819777038d65a7d9f9c3361f

10 years agoMerge "Remove extra empty line"
Jingning Han [Tue, 7 Oct 2014 22:34:19 +0000 (15:34 -0700)]
Merge "Remove extra empty line"

10 years agoMerge "Remove vp9_blockd.h from vp9_common_data.c"
Jingning Han [Tue, 7 Oct 2014 22:34:07 +0000 (15:34 -0700)]
Merge "Remove vp9_blockd.h from vp9_common_data.c"

10 years agoMerge "Replace mi_width_log2() with mi_width_log2_lookup table"
Jingning Han [Tue, 7 Oct 2014 22:33:52 +0000 (15:33 -0700)]
Merge "Replace mi_width_log2() with mi_width_log2_lookup table"

10 years agoMerge "Take out repeated block width/height lookup functions"
Jingning Han [Tue, 7 Oct 2014 22:33:45 +0000 (15:33 -0700)]
Merge "Take out repeated block width/height lookup functions"

10 years agoClean up header files in vp9_blockd.h and related files
Jingning Han [Tue, 7 Oct 2014 22:12:05 +0000 (15:12 -0700)]
Clean up header files in vp9_blockd.h and related files

This commit breaks the overly broad header files into more
targeted and smaller ones, to help better structure the system
layout.

Change-Id: I7b24559d3ea6e582cf5d9bbe8f71459f9824d71b

10 years agoMerge "Fix skip_txfm issue in rdopt code"
Yunqing Wang [Tue, 7 Oct 2014 22:13:44 +0000 (15:13 -0700)]
Merge "Fix skip_txfm issue in rdopt code"

10 years agoUse #define statement for MAX_MB_PLANE
Jingning Han [Tue, 7 Oct 2014 22:00:22 +0000 (15:00 -0700)]
Use #define statement for MAX_MB_PLANE

Change-Id: I3a7f83ab1dbfcedc8a82fe798c2fa30dd9c7d696

10 years agoRemove extra empty line
Jingning Han [Tue, 7 Oct 2014 21:06:37 +0000 (14:06 -0700)]
Remove extra empty line

Change-Id: I6f2865bb8ba9295f5c45a4cad065aecbe1e63c32

10 years agoMerge "Move inter filter defs to vp9_filter.h"
Jingning Han [Tue, 7 Oct 2014 20:42:26 +0000 (13:42 -0700)]
Merge "Move inter filter defs to vp9_filter.h"

10 years agoMerge "Reduce the scope of the header file used in vp9_context_tree.h"
Jingning Han [Tue, 7 Oct 2014 20:42:17 +0000 (13:42 -0700)]
Merge "Reduce the scope of the header file used in vp9_context_tree.h"

10 years agoMerge "Remove redundant header file from vp9_encoder.h"
Jingning Han [Tue, 7 Oct 2014 20:42:13 +0000 (13:42 -0700)]
Merge "Remove redundant header file from vp9_encoder.h"

10 years agoRemove vp9_blockd.h from vp9_common_data.c
Jingning Han [Tue, 7 Oct 2014 20:02:54 +0000 (13:02 -0700)]
Remove vp9_blockd.h from vp9_common_data.c

The basic data defs should be above block operation level.

Change-Id: I7dd9836d01120ab75e0c472baac9f15495ed0db5

10 years agoFix skip_txfm issue in rdopt code
Yunqing Wang [Tue, 7 Oct 2014 19:30:33 +0000 (12:30 -0700)]
Fix skip_txfm issue in rdopt code

Fixed an encoder crash. Set skip_txfm to 0 for cases that skip_txfm
isn't calculated. Put memcpy of skip_txfm at right place.

Change-Id: Ib3b6afc1b251a85b2a853c8138fb3393f48cfef6

10 years agoReplace mi_width_log2() with mi_width_log2_lookup table
Jingning Han [Tue, 7 Oct 2014 19:45:25 +0000 (12:45 -0700)]
Replace mi_width_log2() with mi_width_log2_lookup table

Change-Id: If0ea98aa139d14d40cd924114e18396aff36b5a5

10 years agoMerge "Add range checking for decoded coefficients."
Yaowu Xu [Tue, 7 Oct 2014 19:36:56 +0000 (12:36 -0700)]
Merge "Add range checking for decoded coefficients."

10 years agoTake out repeated block width/height lookup functions
Jingning Han [Tue, 7 Oct 2014 19:30:33 +0000 (12:30 -0700)]
Take out repeated block width/height lookup functions

The functions b_width_log2 and b_height_log2 only do direct
table fetch. This commit unifies such use cases by using the
table directly and removes these functions.

Change-Id: I3103fc6ba959c1182886a2799d21b8b77c8a7b6b

10 years agoMove inter filter defs to vp9_filter.h
Jingning Han [Tue, 7 Oct 2014 19:13:33 +0000 (12:13 -0700)]
Move inter filter defs to vp9_filter.h

Add comments on the use case of these definitions. Further reduce
the scope of header file in vp9_context_tree.h.

Change-Id: Ic4a7638e838d0ac441b64abfc56e57354c059d75

10 years agoMerge "Resolves some static analysis / undefined warnings"
Deb Mukherjee [Tue, 7 Oct 2014 19:15:26 +0000 (12:15 -0700)]
Merge "Resolves some static analysis / undefined warnings"

10 years agoAdd range checking for decoded coefficients.
Yaowu Xu [Tue, 7 Oct 2014 18:22:09 +0000 (11:22 -0700)]
Add range checking for decoded coefficients.

The coefficient range checking is enabled when configured with
--enable-debug --enable-coefficient-range-checking
for vpxdec to detect ill-formed input stream. This addresses the
problem raised by issue #792.

Change-Id: I3f9ea541de4dc742dd64389d6c5f543fb1c4f052

10 years agoResolves some static analysis / undefined warnings
Deb Mukherjee [Mon, 6 Oct 2014 21:30:01 +0000 (14:30 -0700)]
Resolves some static analysis / undefined warnings

Also fixes a case of distortion becoming negative and messing
up the RDCOST computation.

Change-Id: Id345af9e8dfff31ade622be5756e51f2cdface53

10 years agoReduce the scope of the header file used in vp9_context_tree.h
Jingning Han [Tue, 7 Oct 2014 18:01:05 +0000 (11:01 -0700)]
Reduce the scope of the header file used in vp9_context_tree.h

Change-Id: I264ee35044a5973c7725daba7af870968353a3c1

10 years agoMerge "Add SSE2 code and unit test for VP9 denoiser."
JackyChen [Tue, 7 Oct 2014 17:51:55 +0000 (10:51 -0700)]
Merge "Add SSE2 code and unit test for VP9 denoiser."

10 years agoRemove redundant header file from vp9_encoder.h
Jingning Han [Tue, 7 Oct 2014 17:49:43 +0000 (10:49 -0700)]
Remove redundant header file from vp9_encoder.h

Change-Id: Ia212390cf8d36db5436bb0f0e1b696f70066341a

10 years agoFix eobs buffer pointer mis-use
Jingning Han [Mon, 6 Oct 2014 22:53:27 +0000 (15:53 -0700)]
Fix eobs buffer pointer mis-use

This commit fixes a buffer pointer mis-use in store_coding_context.
The compression performance for stdhd set of speed 3 is improved by
0.097%. It fixes issue 869.

Change-Id: Idc59e22035eaf39f7133ca04174894374d647ff7

10 years agoAdd SSE2 code and unit test for VP9 denoiser.
JackyChen [Thu, 18 Sep 2014 23:45:53 +0000 (16:45 -0700)]
Add SSE2 code and unit test for VP9 denoiser.

This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are
only 16x16 blocks in denoiser, while in VP9, there are 13 different
block sizes.

By adding this SSE2 code, the improvement of encoder speed is around
20%(using C code vs using SSE2 code), vary for different clips.

The unit test for VP9 denoiser is to confirm that the SSE2 code is
bit-exact with the C code. The unit test covers all block size.

Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d

10 years agoAdd range check in inverse ADST 16x16
Jingning Han [Mon, 6 Oct 2014 17:18:17 +0000 (10:18 -0700)]
Add range check in inverse ADST 16x16

Bit-stream clarification related to Issue 868.

Change-Id: I92a7bc5b7782c9ea5c3f6cceec761742183c9514

10 years agoMerge "Change the y4m buffer allocation size"
Yaowu Xu [Mon, 6 Oct 2014 16:40:15 +0000 (09:40 -0700)]
Merge "Change the y4m buffer allocation size"

10 years agoMerge "Fix an IOC issue in vp9_rd_pick_inter_mode_sb"
Jingning Han [Mon, 6 Oct 2014 16:29:29 +0000 (09:29 -0700)]
Merge "Fix an IOC issue in vp9_rd_pick_inter_mode_sb"

10 years agoMerge "Properly initialize segmentID in nonrd coding path"
Yaowu Xu [Mon, 6 Oct 2014 14:57:36 +0000 (07:57 -0700)]
Merge "Properly initialize segmentID in nonrd coding path"

10 years agoImprove two pass VBR accuracy.
Paul Wilkins [Fri, 26 Sep 2014 16:20:01 +0000 (17:20 +0100)]
Improve two pass VBR accuracy.

Adjustments to the GF interval choice and minimum boost.
Adjustment to the calculation of 2 pass worst q.
Compared to 09/29 head there is metrics hit on derf of
(-0.123%,-0.191%)

Compared to the September 29 head and a baseline on
September 18 baseline the accuracy of the VBR rate control
measured on the derf set is as follows:-

Mean error %  / Mean abs(error %)
Sept 18 baseline (-7.0% / 14.76%)
Sept 29 head (-15.7%, 19.8%)
This check in (-1.5% / 14.4%)

The mean undershoot is reduced slightly but the
worst case overshoot on e.g. harbour/highway is
increased. This will be addressed in a later patch.

Change-Id: Iffd9b0ab7432a131c98fbaaa82d1e5b40be72b58

10 years agoFix an IOC issue in vp9_rd_pick_inter_mode_sb
Jingning Han [Sun, 5 Oct 2014 19:05:14 +0000 (12:05 -0700)]
Fix an IOC issue in vp9_rd_pick_inter_mode_sb

It is possible that the GOLDEN reference frame is not avaiable, in
which setting the predicted mv will be associated with a residual
value of INT_MAX. This commit checks this condition before
left shift and comparison with that of ALTREF frame, to avoid
overflow issue.

Change-Id: Ib98c3149dbdd016f2fe5beaafb13f67d469dd07c

10 years agoSome data type changes in vp9_idct.c
Deb Mukherjee [Sat, 4 Oct 2014 15:50:30 +0000 (08:50 -0700)]
Some data type changes in vp9_idct.c

Resolves a visual studio warning, and includes some cleanups.

Change-Id: I6a7576ef323c475b7d1c659800cd82c6cb1fd18d