]> granicus.if.org Git - libvpx/log
libvpx
8 years agovp9: Update to scene/content change detection.
Marco [Wed, 24 Feb 2016 01:49:34 +0000 (17:49 -0800)]
vp9: Update to scene/content change detection.

Update some parameters and put check on frame size change.
For 1 pass VBR mode, speed >= 5.

Change-Id: If24ed94a21e705ea57d40b9bf235ad079db786fc

8 years agovp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.
Marco [Fri, 12 Feb 2016 18:29:26 +0000 (10:29 -0800)]
vp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.

Change-Id: I630b8e33106c78382545d49da5fb4c75b1b0b528

8 years agoMerge "VPX: loopfilter_mmx.asm using x86inc"
Scott LaVarnway [Mon, 22 Feb 2016 13:47:32 +0000 (13:47 +0000)]
Merge "VPX: loopfilter_mmx.asm using x86inc"

8 years agoMerge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"
Scott LaVarnway [Mon, 22 Feb 2016 13:45:26 +0000 (13:45 +0000)]
Merge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"

8 years agoMerge "VP9: remove x_mis, y_mis calculations"
Scott LaVarnway [Mon, 22 Feb 2016 13:44:37 +0000 (13:44 +0000)]
Merge "VP9: remove x_mis, y_mis calculations"

8 years agovp9: 1 pass vbr real-time mode: Adjust gf refresh for scene change.
Marco [Thu, 18 Feb 2016 20:16:01 +0000 (12:16 -0800)]
vp9: 1 pass vbr real-time mode: Adjust gf refresh for scene change.

Use the existing scene/content change detection to better
update/adjust golden frame refresh.

Change only affects 1 pass real-time vbr mode, speed >=5.

Change-Id: I2963a5bb7ca4a19f8cf8511b0a925e502f60e014

8 years agoVP9: rename vpx_read_mode_info to vp9_read_mode_info
Scott LaVarnway [Fri, 19 Feb 2016 13:34:12 +0000 (05:34 -0800)]
VP9: rename vpx_read_mode_info to vp9_read_mode_info

Change-Id: I3cb3da864e33012ba68d61ee8bafa8c42f00313c

8 years agoVP9: remove x_mis, y_mis calculations
Scott LaVarnway [Fri, 19 Feb 2016 13:28:00 +0000 (05:28 -0800)]
VP9: remove x_mis, y_mis calculations

Passed as arguments instead.

Change-Id: I884a90baedf772692372e6e3520702c04a968f44

8 years agoVPX: loopfilter_mmx.asm using x86inc
Scott LaVarnway [Thu, 18 Feb 2016 23:34:58 +0000 (15:34 -0800)]
VPX: loopfilter_mmx.asm using x86inc

Change-Id: Idcf29281d617b275e3ca50f77e6d00c60992a36d

8 years agoMerge changes from topic 'vp10-missing-alloc-checks'
James Zern [Thu, 18 Feb 2016 18:56:03 +0000 (18:56 +0000)]
Merge changes from topic 'vp10-missing-alloc-checks'

* changes:
  vp10/resize: add missing alloc checks
  vp10/encoder: add missing alloc checks
  vp10/decoder,resize_mv_buffer: add missing alloc check
  vp10_cyclic_refresh_alloc: correct cleanup on error

8 years agoMerge changes from topic 'vp9-missing-alloc-checks'
James Zern [Thu, 18 Feb 2016 18:53:13 +0000 (18:53 +0000)]
Merge changes from topic 'vp9-missing-alloc-checks'

* changes:
  vp9_svc_layercontext: add missing alloc checks
  vp9_resize: add missing alloc checks
  vp9_encoder: add missing alloc checks
  vp9/decoder,resize_mv_buffer: add missing alloc check
  vp9_cyclic_refresh_alloc: correct cleanup on error

8 years agoMerge changes from topic 'vp8-missing-alloc-checks'
James Zern [Thu, 18 Feb 2016 18:50:58 +0000 (18:50 +0000)]
Merge changes from topic 'vp8-missing-alloc-checks'

* changes:
  vp8_dx_iface: add missing alloc checks
  vp8/onyx_if: add missing alloc checks
  vp8/denoising: add missing alloc check

8 years agoMerge changes from topic 'rm-loopfilter-count-param'
James Zern [Thu, 18 Feb 2016 18:47:48 +0000 (18:47 +0000)]
Merge changes from topic 'rm-loopfilter-count-param'

* changes:
  lpf_8_test: remove unneeded function wrapper
  remove loopfilter 'count' param TODOs
  split vpx_highbd_lpf_horizontal_16 in two
  split vpx_lpf_horizontal_16 in two
  vpx_highbd_lpf_horizontal_4: remove unused count param
  vpx_highbd_lpf_horizontal_8: remove unused count param
  vpx_highbd_lpf_vertical_4: remove unused count param
  vpx_highbd_lpf_vertical_8: remove unused count param
  vpx_lpf_horizontal_4: remove unused count param
  vpx_lpf_horizontal_8: remove unused count param
  vpx_lpf_vertical_4: remove unused count param
  vpx_lpf_vertical_8: remove unused count param
  lpf_8_test: add missing dspr2 tests
  lpf_8_test: add missing vpx_lpf_horizontal_4 tests
  lpf_8_test: add missing vpx_lpf_vertical_4 tests
  lpf_8_test: simplify function wrapper generation

8 years agovp8_dx_iface: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:56:17 +0000 (14:56 -0800)]
vp8_dx_iface: add missing alloc checks

Change-Id: Id9f4022b0cb4b5d0b3dd8759fd491da4e2ba5cb1

8 years agovp8/onyx_if: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:55:50 +0000 (14:55 -0800)]
vp8/onyx_if: add missing alloc checks

Change-Id: I9b0aa340518f45e16fa9754afd87347aabf968d7

8 years agovp8/denoising: add missing alloc check
James Zern [Wed, 17 Feb 2016 22:54:57 +0000 (14:54 -0800)]
vp8/denoising: add missing alloc check

Change-Id: I51ede902cd9d7bafa41f7caa3f9adf77f9df5903

8 years agovp10/resize: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:27:51 +0000 (14:27 -0800)]
vp10/resize: add missing alloc checks

Change-Id: I96669ddbcdda508a295c68ecf103d10f364e0ad5

8 years agovp9_svc_layercontext: add missing alloc checks
James Zern [Wed, 17 Feb 2016 20:41:37 +0000 (12:41 -0800)]
vp9_svc_layercontext: add missing alloc checks

Change-Id: Ieb305c178c64b3864f0e8fc1a13c29799e1ae8f5

8 years agovp9_resize: add missing alloc checks
James Zern [Wed, 17 Feb 2016 20:41:08 +0000 (12:41 -0800)]
vp9_resize: add missing alloc checks

Change-Id: I87ef6dec7cd2e8f9a40135e5ca11b13520ebd6d7

8 years agoBetter workaround for Bug 1089.
Alex Converse [Wed, 17 Feb 2016 21:39:44 +0000 (13:39 -0800)]
Better workaround for Bug 1089.

Don't initialize first pass costs for a number of symbols where first
pass probabilities aren't initialized.

This brings a 1.22x first pass speedup.

https://bugs.chromium.org/p/webm/issues/detail?id=1089

Change-Id: I97438c357bd88f52f5a15c697031cf0c3cc8f510

8 years agovp10/encoder: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:27:23 +0000 (14:27 -0800)]
vp10/encoder: add missing alloc checks

Change-Id: I5f81250d054bfd1cc69308a491b8fd21b77e4ee1

8 years agovp10/decoder,resize_mv_buffer: add missing alloc check
James Zern [Wed, 17 Feb 2016 22:26:16 +0000 (14:26 -0800)]
vp10/decoder,resize_mv_buffer: add missing alloc check

Change-Id: I8eef989847fcf3c4b9a16b02db477e1007625145

8 years agovp10_cyclic_refresh_alloc: correct cleanup on error
James Zern [Wed, 17 Feb 2016 22:25:41 +0000 (14:25 -0800)]
vp10_cyclic_refresh_alloc: correct cleanup on error

previously only the CYCLIC_REFRESH allocation was being freed

Change-Id: I600eb496ec4b62accf1a6483c8170eabb046787d

8 years agovp9_encoder: add missing alloc checks
James Zern [Wed, 17 Feb 2016 20:39:39 +0000 (12:39 -0800)]
vp9_encoder: add missing alloc checks

Change-Id: I08939ab22446b86fae884daaebd1f14c49b21897

8 years agovp9/decoder,resize_mv_buffer: add missing alloc check
James Zern [Wed, 17 Feb 2016 20:38:40 +0000 (12:38 -0800)]
vp9/decoder,resize_mv_buffer: add missing alloc check

Change-Id: I3bc92175b07d5ef495bd75128638c340f3c2238f

8 years agovp9_cyclic_refresh_alloc: correct cleanup on error
James Zern [Wed, 17 Feb 2016 20:36:49 +0000 (12:36 -0800)]
vp9_cyclic_refresh_alloc: correct cleanup on error

previously only the CYCLIC_REFRESH allocation was being freed

Change-Id: I6e1783d077c5ca83c8d62ea9642f1fb03f2e5bf3

8 years agolpf_8_test: remove unneeded function wrapper
James Zern [Sat, 13 Feb 2016 19:05:24 +0000 (11:05 -0800)]
lpf_8_test: remove unneeded function wrapper

the count parameter has been removed from all loopfilter functions

Change-Id: I87ba72006b59c65c46ca40bcb1c29171dfe0598a

8 years agoremove loopfilter 'count' param TODOs
James Zern [Sat, 13 Feb 2016 02:17:54 +0000 (18:17 -0800)]
remove loopfilter 'count' param TODOs

Change-Id: I25ce7314372ce2f521526ea7864ffc4ab62e4519

8 years agosplit vpx_highbd_lpf_horizontal_16 in two
James Zern [Sat, 13 Feb 2016 02:12:57 +0000 (18:12 -0800)]
split vpx_highbd_lpf_horizontal_16 in two

replace with vpx_highbd_lpf_horizontal_edge_16 and
vpx_highbd_lpf_horizontal_edge_8 to avoid passing a count parameter

Change-Id: I551f8cec0fce57032cb2652584bb802e2248644d

8 years agosplit vpx_lpf_horizontal_16 in two
James Zern [Sat, 13 Feb 2016 01:42:34 +0000 (17:42 -0800)]
split vpx_lpf_horizontal_16 in two

replace with vpx_lpf_horizontal_edge_16 and vpx_lpf_horizontal_edge_8 to
avoid passing a count parameter

Change-Id: I848c95c02a3c6ebaa6c2bdf0983dce05cd645271

8 years agovpx_highbd_lpf_horizontal_4: remove unused count param
James Zern [Fri, 12 Feb 2016 04:59:39 +0000 (20:59 -0800)]
vpx_highbd_lpf_horizontal_4: remove unused count param

Change-Id: I655a771e1b1a8753be5669ef9348a312ba6cfdbc

8 years agovpx_highbd_lpf_horizontal_8: remove unused count param
James Zern [Fri, 12 Feb 2016 04:54:16 +0000 (20:54 -0800)]
vpx_highbd_lpf_horizontal_8: remove unused count param

Change-Id: Iaca71ea3796115d4c2d43563b4e6f3914e21f1bf

8 years agovpx_highbd_lpf_vertical_4: remove unused count param
James Zern [Fri, 12 Feb 2016 04:50:42 +0000 (20:50 -0800)]
vpx_highbd_lpf_vertical_4: remove unused count param

Change-Id: Ic6da723c5cf3cd8127db1f476c3e46ea134cb774

8 years agovpx_highbd_lpf_vertical_8: remove unused count param
James Zern [Fri, 12 Feb 2016 04:49:56 +0000 (20:49 -0800)]
vpx_highbd_lpf_vertical_8: remove unused count param

Change-Id: Id16f7259897654831d31642c2d5e0bbe5e13416c

8 years agovpx_lpf_horizontal_4: remove unused count param
James Zern [Fri, 12 Feb 2016 04:26:54 +0000 (20:26 -0800)]
vpx_lpf_horizontal_4: remove unused count param

Change-Id: Iec7d8eda343991f7d7d46931dca17af23c821d11

8 years agovpx_lpf_horizontal_8: remove unused count param
James Zern [Fri, 12 Feb 2016 04:02:53 +0000 (20:02 -0800)]
vpx_lpf_horizontal_8: remove unused count param

Change-Id: I48741e167a7b09b7c9ad3bfc1c4b88ef1029ae46

8 years agovp10,encoder: relocate setjmp
James Zern [Wed, 17 Feb 2016 03:33:16 +0000 (19:33 -0800)]
vp10,encoder: relocate setjmp

move to encoder_encode() as vp10_get_compressed_data() allocates data and
would require some modification to make its error return meaningful.

Change-Id: Ia5267c35d16ccd42b6da6d2136402b13e28f9159

8 years agovp9,encoder: relocate setjmp
James Zern [Wed, 17 Feb 2016 03:25:54 +0000 (19:25 -0800)]
vp9,encoder: relocate setjmp

move to encoder_encode() as vp9_get_compressed_data() allocates data and
would require some modification to make its error return meaningful.

Change-Id: I8ddc390a1441afd0ff937842fa4ad1053c956133

8 years agovp10_cx_iface,encode: remove redundant cpi check
James Zern [Wed, 17 Feb 2016 01:58:54 +0000 (17:58 -0800)]
vp10_cx_iface,encode: remove redundant cpi check

this is allocated in init(), a NULL pointer on encode() should be
treated as a failure.

Change-Id: I09c206f088982716fd5acc39949ceb25576313fc

8 years agovp9_cx_iface,encode: remove redundant cpi check
James Zern [Wed, 17 Feb 2016 01:56:13 +0000 (17:56 -0800)]
vp9_cx_iface,encode: remove redundant cpi check

this is allocated in init(), a NULL pointer on encode() should be
treated as a failure.

Change-Id: I3f55ea4a98be616bb5ab74d95ce4a3d6262e734a

8 years agovpx_lpf_vertical_4: remove unused count param
James Zern [Fri, 12 Feb 2016 03:54:51 +0000 (19:54 -0800)]
vpx_lpf_vertical_4: remove unused count param

Change-Id: I43a191cb3d42e51e7bca266adfa11c6239a8064c

8 years agovpx_lpf_vertical_8: remove unused count param
James Zern [Fri, 12 Feb 2016 03:43:36 +0000 (19:43 -0800)]
vpx_lpf_vertical_8: remove unused count param

Change-Id: Ic69406da00afb0f06588e8c0deb2b043952b078c

8 years agolpf_8_test: add missing dspr2 tests
James Zern [Sat, 13 Feb 2016 18:24:26 +0000 (10:24 -0800)]
lpf_8_test: add missing dspr2 tests

Change-Id: I3954ff86ec1965cd6d4eec570c2d1993538d9c11

8 years agolpf_8_test: add missing vpx_lpf_horizontal_4 tests
James Zern [Sat, 13 Feb 2016 04:25:15 +0000 (20:25 -0800)]
lpf_8_test: add missing vpx_lpf_horizontal_4 tests

mmx, msa

Change-Id: Ia9604adcdcc77411f383e081e01a18d232c9d992

8 years agolpf_8_test: add missing vpx_lpf_vertical_4 tests
James Zern [Sat, 13 Feb 2016 04:23:41 +0000 (20:23 -0800)]
lpf_8_test: add missing vpx_lpf_vertical_4 tests

mmx, msa

Change-Id: I113ce0ec144ee673d5dcde4c03fe7670f9f4c369

8 years agolpf_8_test: simplify function wrapper generation
James Zern [Sat, 13 Feb 2016 03:32:05 +0000 (19:32 -0800)]
lpf_8_test: simplify function wrapper generation

Change-Id: Ie4d3e80a4e43dd4ada78d073e308e10db4ea3239

8 years agovp9-real-time mode: Fix condition for allowing reference masking.
Marco [Tue, 16 Feb 2016 16:40:23 +0000 (08:40 -0800)]
vp9-real-time mode: Fix condition for allowing reference masking.

Add frame-level condition for reference masking: under external or
internal dynamic resize, allow for reference masking if none of
the references have been scaled.
Peviously, reference masking was turned off for the stream if dynamic
resize feature was enabled or an external resize event occurred.

reference_masking gives speed up with little/no loss in compression.
For speed 7 on rtc set: encoding time decreases by about 5-7%,
avgPSNR/SSIM goes down ~0.2%.

Change-Id: Ie4444577451ef954414d8fb4b2c99d65cadf1746

8 years agoMerge "Fix tsan error in VP9 sub8x8 intra mode search"
James Zern [Tue, 16 Feb 2016 20:26:41 +0000 (20:26 +0000)]
Merge "Fix tsan error in VP9 sub8x8 intra mode search"

8 years agoFix tsan error in VP9 sub8x8 intra mode search
Jingning Han [Thu, 11 Feb 2016 20:36:49 +0000 (12:36 -0800)]
Fix tsan error in VP9 sub8x8 intra mode search

This commit fixes issue 1141. The issue was triggered in multi-tile
encoding. The change properly saves and restores the block context
information in the real-time mode selection process. It removes
several redundant memcpy operations in sub8x8 intra block mode search.

Change-Id: I35c9ad197f4bd500ec39b5fc833f052f19eee010

8 years agoMerge "vp9-resize: Fix an issue with external dynamic resize."
Marco Paniconi [Tue, 16 Feb 2016 16:18:42 +0000 (16:18 +0000)]
Merge "vp9-resize: Fix an issue with external dynamic resize."

8 years agoMerge changes from topic 'unused-params'
James Zern [Sat, 13 Feb 2016 01:03:45 +0000 (01:03 +0000)]
Merge changes from topic 'unused-params'

* changes:
  tests: quiet some unused parameter warnings
  vp9_error_block_test: prefer EXPECT over assert()
  vp9_encoder_parms_get_to_decoder: add missing initializers
  vpxenc: quiet unused param warning
  vpx_ve_predictor_4x4_c: quiet unused param warning

8 years agovp9-resize: Fix an issue with external dynamic resize.
Marco [Wed, 10 Feb 2016 19:39:04 +0000 (11:39 -0800)]
vp9-resize: Fix an issue with external dynamic resize.

External dynamic resize with swapping width and height was
not handled properly.
Fix is to re-init loop-filter under certain condtions.

Modify unittest to test this case.
Without this change test will fail.

Relates to: https://bugs.chromium.org/p/webm/issues/detail?id=1140

Change-Id: I7d81ca7fe0783b3bc103a52a7b7cf073a96be26e

8 years agotests: quiet some unused parameter warnings
James Zern [Fri, 12 Feb 2016 02:27:00 +0000 (18:27 -0800)]
tests: quiet some unused parameter warnings

Change-Id: Iff8b0d77234f78bf407676891bccad92825bfcc6

8 years agovp9_error_block_test: prefer EXPECT over assert()
James Zern [Fri, 12 Feb 2016 03:07:25 +0000 (19:07 -0800)]
vp9_error_block_test: prefer EXPECT over assert()

Change-Id: Id523448bac903999934370f7b06a5c316f11a966

8 years agovp9_encoder_parms_get_to_decoder: add missing initializers
James Zern [Fri, 12 Feb 2016 02:52:45 +0000 (18:52 -0800)]
vp9_encoder_parms_get_to_decoder: add missing initializers

+ quiet an unused parameter warning

Change-Id: I65f69172febb4e0701d3e440b7e1fb31829cda57

8 years agovpxenc: quiet unused param warning
James Zern [Fri, 12 Feb 2016 02:53:50 +0000 (18:53 -0800)]
vpxenc: quiet unused param warning

Change-Id: Ib6ed1b8c03f6c269f8d667b21b895b35363cee9e

8 years agovpx_ve_predictor_4x4_c: quiet unused param warning
James Zern [Fri, 12 Feb 2016 02:31:40 +0000 (18:31 -0800)]
vpx_ve_predictor_4x4_c: quiet unused param warning

Change-Id: I62234260e2d2de94d602c6d8095c8f8124334052

8 years agovp10_receive_raw_frame: add missing setjmp
James Zern [Fri, 12 Feb 2016 02:09:33 +0000 (18:09 -0800)]
vp10_receive_raw_frame: add missing setjmp

allocations done within this function are protected with
vpx_internal_error; adding the setjmp fixes a crash in
vp10_lookahead_push() under low memory conditions.

Change-Id: I5515017cd71b218840c506791b3a517da7ffc93e

8 years agovp9_receive_raw_frame: add missing setjmp
James Zern [Fri, 12 Feb 2016 02:05:31 +0000 (18:05 -0800)]
vp9_receive_raw_frame: add missing setjmp

allocations done within this function are protected with
vpx_internal_error; adding the setjmp fixes a crash in
vp9_lookahead_push() under low memory conditions.

Change-Id: I4b79dca37cc7fadc4b7633f0db44c0e406799bc6

8 years agovp9-resize: Force reference masking off for external dynamic-resizing.
Marco [Thu, 11 Feb 2016 00:59:09 +0000 (16:59 -0800)]
vp9-resize: Force reference masking off for external dynamic-resizing.

An issue exists with reference_masking in non-rd pickmode for spatial
scaling. It was kept off for internal dynamic resizing and svc, this
change is to keep it off also for external dynamic resizing.

Update to external resize test, and update TODO to re-enable this
at frame level when references have same scale as source.

Change-Id: If880a643572127def703ee5b2d16fd41bdbf256c

8 years agovp9 resize_test: Enable resize_allowed in real-time ExternalResize test.
Marco [Wed, 10 Feb 2016 23:18:26 +0000 (15:18 -0800)]
vp9 resize_test: Enable resize_allowed in real-time ExternalResize test.

For dynamic resizing (whether the new codec size is determined internally
or externally set by user), we should for now keep rc.resize_allowed enabled.
This prevent the use of referene_masking for real-time mode
(in set_rt_speed_feature()).

Change-Id: Ibb7c3ff35be88afdf1a3c6db6693521766f177a3

8 years agoVP9: Pass NULL scale_factors ptr when not scaling
Scott LaVarnway [Wed, 10 Feb 2016 19:43:23 +0000 (11:43 -0800)]
VP9: Pass NULL scale_factors ptr when not scaling

to vp9_setup_pre_planes(), preventing the function
unscaled_value() from being called.  unscaled_value()
returns the same value that was passed in.  See
scaled_buffer_offset() in vp9_reconinter.h.

Change-Id: I2a6fbaf07972c2f212834929d29a2cbe72e399c3

8 years agoMerge "VP9: Refactor read_inter_block_mode_info() -- 2"
Scott LaVarnway [Wed, 10 Feb 2016 12:59:41 +0000 (12:59 +0000)]
Merge "VP9: Refactor read_inter_block_mode_info() -- 2"

8 years agoMerge "intrapred/d135: flatten border results before storing"
James Zern [Wed, 10 Feb 2016 02:41:31 +0000 (02:41 +0000)]
Merge "intrapred/d135: flatten border results before storing"

8 years agoMerge "vp8: fix build with mingw+pthreads"
James Zern [Wed, 10 Feb 2016 02:40:12 +0000 (02:40 +0000)]
Merge "vp8: fix build with mingw+pthreads"

8 years agoMerge "Restore previous motion search bit-error scale."
Alex Converse [Wed, 10 Feb 2016 01:21:01 +0000 (01:21 +0000)]
Merge "Restore previous motion search bit-error scale."

8 years agoVP9: Refactor read_inter_block_mode_info() -- 2
Scott LaVarnway [Tue, 9 Feb 2016 23:36:01 +0000 (15:36 -0800)]
VP9: Refactor read_inter_block_mode_info() -- 2

Change-Id: I96d4764523b8d634eafb4cb3ed6eb3aee4052573

8 years agoRestore previous motion search bit-error scale.
Alex Converse [Mon, 1 Feb 2016 18:02:54 +0000 (10:02 -0800)]
Restore previous motion search bit-error scale.

The bit to error transformation got doubled as a result of going from
8-bit to 9-bit costs (change d13385c).

Use defines to derive the scale numbers and comment some of the fields.

derf: -0.023 BDRATE
hevcmr: +0.067 BDRATE
stdhd: +0.098 BDRATE
(These are substantially smaller than than the original gains from 8 to
9 bit costing.)

Change-Id: I6a2b3b029b2f1415e4f90a05709b2333ec0eea9b

8 years agovp9-dynamic resize: Fix bug on releasing scaled reference.
Marco [Mon, 8 Feb 2016 18:41:13 +0000 (10:41 -0800)]
vp9-dynamic resize: Fix bug on releasing scaled reference.

When the codec frame size is the same as the reference frame size,
release the scaled reference before assigning it a new buf_idx.
Only affects 1 pass non-svc mode, where the scaled references are
release only under certain conditions (to prevent un-needed scaling
of the references every frame).

Modified a unittest that can trigger this bug without this change.

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

Change-Id: I9a884e36ebd7608b1641ec2a469e20a4f829cf43

8 years agovp9-aq-mode=3: Reset cyclic refresh under config/external size change.
Marco [Mon, 8 Feb 2016 22:28:41 +0000 (14:28 -0800)]
vp9-aq-mode=3: Reset cyclic refresh under config/external size change.

If the application changes frame size (external size changes),
and aq-mode=3 is on, reset the cyclic refresh.

Modify the TestExternalResize unittest (longer run with more resize
actions). Without this change an assert would be triggered on this
longer test.

Change-Id: I0eefd2cd7ffa0c557cca96ae30d607034a2599ce

8 years agoMerge "Set use_highbitdepth flag to either 1 or 0"
Yaowu Xu [Tue, 9 Feb 2016 16:57:28 +0000 (16:57 +0000)]
Merge "Set use_highbitdepth flag to either 1 or 0"

8 years agoMerge "BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'"
Scott LaVarnway [Tue, 9 Feb 2016 14:52:03 +0000 (14:52 +0000)]
Merge "BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'"

8 years agoSet use_highbitdepth flag to either 1 or 0
Yaowu Xu [Tue, 9 Feb 2016 04:13:19 +0000 (20:13 -0800)]
Set use_highbitdepth flag to either 1 or 0

This reduces the buffer allocation size for high bit depth buffers by
more than 70%.

Change-Id: Iab9007d9684e8ac30ce7fa94e61f038f01792fc5

8 years agoExplicitly set tx_type for sub8x8 blocks
Debargha Mukherjee [Mon, 8 Feb 2016 23:59:17 +0000 (15:59 -0800)]
Explicitly set tx_type for sub8x8 blocks

Fixes an issue where the tx_type was not set correctly for
sub8x8 inter and intra blocks. In the current syntax, for
sub8x8 blocks, there is still a single tx_type that is
transmitted. Ideally, this should be searched for the best
rd performance, albeit at the expense of encode speed.
For now, we just set it to DCT_DCT. Previously it was left
incorrectly as what was used for the previous non sub8x8
block.

derflr: BDRATE -0.277%

Change-Id: If76ba903bfbfd4d374cf1ac7d1daee50e92f0edd

8 years agoBUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'
Scott LaVarnway [Mon, 8 Feb 2016 21:42:56 +0000 (13:42 -0800)]
BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'

See https://bugs.chromium.org/p/webm/issues/detail?id=1145

Change-Id: I778ee07dc39a524e3f729bef47a7abeed51e0cee

8 years agovp9-denoiser: Allow for checking skin for bsize <=32x32.
Marco [Mon, 8 Feb 2016 20:59:54 +0000 (12:59 -0800)]
vp9-denoiser: Allow for checking skin for bsize <=32x32.

Change-Id: I6c99ac6fd3735e24cf668479c55bff313c0b4970

8 years agoMerge "Account for sub8x8 block skip mode cost in RD decision"
Jingning Han [Mon, 8 Feb 2016 19:40:01 +0000 (19:40 +0000)]
Merge "Account for sub8x8 block skip mode cost in RD decision"

8 years agoAccount for sub8x8 block skip mode cost in RD decision
Jingning Han [Mon, 8 Feb 2016 17:56:34 +0000 (09:56 -0800)]
Account for sub8x8 block skip mode cost in RD decision

Make this consistent with regular block size rate-distortion
optimization. It improves the compression performance:
derf    0.055%
hevcmr  0.129%

Change-Id: I112fe734f592c21bc7aa6efb7e3f269c4214ee7b

8 years agoClean up in vp9_rd_pick_inter_mode_sb
Jingning Han [Mon, 8 Feb 2016 17:30:50 +0000 (09:30 -0800)]
Clean up in vp9_rd_pick_inter_mode_sb

Use local variable.

Change-Id: I0d3df36cf4536958a0cda422f6c30da50f0e0bbf

8 years agovp8: fix build with mingw+pthreads
James Zern [Sat, 6 Feb 2016 05:08:45 +0000 (21:08 -0800)]
vp8: fix build with mingw+pthreads

Change-Id: Icc34a00759c95b7b8ac356cdcc4adae848b61431

8 years agovp9-dynamic resize: On a resize trigger frame refresh alt_ref.
Marco [Fri, 5 Feb 2016 23:43:42 +0000 (15:43 -0800)]
vp9-dynamic resize: On a resize trigger frame refresh alt_ref.

For 1 pass real-time mode. No change in behavior as only last
and golden are used as references in 1 pass real-time mode.

Change-Id: Ie4655014eee1a8b271542f29d74b2c6f7fed54c9

8 years agointrapred/d135: flatten border results before storing
James Zern [Fri, 5 Feb 2016 20:31:48 +0000 (12:31 -0800)]
intrapred/d135: flatten border results before storing

the results along the top and left border are then stored with a moving
window into the vector.
~40-67% faster on ARM, ~40-77+% on x86 depending on the block size.

Change-Id: Iab369aa2946a3ae4eb7290d512868fe5db92dbc8

8 years agoFix an uninitialized warning.
Alex Converse [Fri, 5 Feb 2016 17:52:53 +0000 (09:52 -0800)]
Fix an uninitialized warning.

Change-Id: I3ac1070df2948f6d8637ade7192400be53a7675c

8 years agovp9_aq_cyclicrefresh: fix unused-function warning
James Zern [Fri, 5 Feb 2016 19:44:57 +0000 (11:44 -0800)]
vp9_aq_cyclicrefresh: fix unused-function warning

delete apply_cyclic_refresh_bitrate(). unused since:
3472cbb vp9 aq-mode=3: Keep it on even at low bitrates.

Change-Id: I0fac9a31b59504e31000ac3a8f0b68e8d4320113

8 years agoMerge "vp9 aq-mode=3: Keep it on even at low bitrates."
Marco Paniconi [Fri, 5 Feb 2016 16:38:41 +0000 (16:38 +0000)]
Merge "vp9 aq-mode=3: Keep it on even at low bitrates."

8 years agoMerge "configure: enable -Wunused-function by default"
James Zern [Fri, 5 Feb 2016 02:45:56 +0000 (02:45 +0000)]
Merge "configure: enable -Wunused-function by default"

8 years agoMerge "Vidyo patch: Optimization for 1-to-2 downsampling and upsampling."
James Zern [Fri, 5 Feb 2016 02:36:03 +0000 (02:36 +0000)]
Merge "Vidyo patch: Optimization for 1-to-2 downsampling and upsampling."

8 years agovp9 aq-mode=3: Keep it on even at low bitrates.
Marco [Fri, 5 Feb 2016 01:10:25 +0000 (17:10 -0800)]
vp9 aq-mode=3: Keep it on even at low bitrates.

Change-Id: I6a27db6b9dbe3d8cb3d47ef30fbd52557171cadd

8 years agoVidyo patch: Optimization for 1-to-2 downsampling and upsampling.
Scott LaVarnway [Thu, 4 Feb 2016 22:50:26 +0000 (14:50 -0800)]
Vidyo patch: Optimization for 1-to-2 downsampling and upsampling.

Change-Id: I9cc9780f506e025aea57485a9e21f0835faf173c

8 years agoDefine a macro to replace hardcoded values
Zoe Liu [Thu, 4 Feb 2016 13:33:22 +0000 (05:33 -0800)]
Define a macro to replace hardcoded values

The definition is for the number of frames to check to determine the
recent decay rate, further to determine the next key frame in the
first pass of the encoder.

Change-Id: Ic696d6eb518a86fa296842273cf8767ef0b0e27a

8 years agoconfigure: enable -Wunused-function by default
James Zern [Tue, 2 Feb 2016 04:52:16 +0000 (20:52 -0800)]
configure: enable -Wunused-function by default

when INLINE is defined and mips is not being targeted. otherwise keep
the old --enable-extra-warnings behavior

Change-Id: Iba576edbe5fca03efa56ce99eee11f9cafc573ad

8 years agofdct8x8_test:: quiet unused-function warning
James Zern [Thu, 4 Feb 2016 07:04:42 +0000 (23:04 -0800)]
fdct8x8_test:: quiet unused-function warning

in non-x86 builds

Change-Id: I9f6fa40d27f95a4afe92444f71c23dc9a15db466

8 years agoMerge changes from topic 'dead-code'
James Zern [Thu, 4 Feb 2016 06:25:44 +0000 (06:25 +0000)]
Merge changes from topic 'dead-code'

* changes:
  yv12config.c: remove dead CONFIG_ALPHA code
  vp9_encoder.c: remove unused macro
  vpx_mem.c: remove unused macro
  vp9_svc_layercontext.c: relocate a macro definition
  vp9_encoder.c: protect SNPRINT* macros w/CONFIG check
  vp9_aq_360.c: remove some unused macros
  vp9_diamond_search_sad_avx.c: rename (un)likely macros
  vp9_resize.c: add missing include
  vp9_aq_complexity.c: remove unused macros
  vp9_detokenize.c: remove unused macros

8 years agoMerge changes I1171e9c7,I77292e11,I1678ab48,Id7a2c345
James Zern [Thu, 4 Feb 2016 03:43:49 +0000 (03:43 +0000)]
Merge changes I1171e9c7,I77292e11,I1678ab48,Id7a2c345

* changes:
  dct16x16_test: quiet unused-function warning
  intrapred: protect functions w/CONFIG check x2
  dct32x32_test: remove unused function
  tests: quiet some warnings w/--disable-webm-io

8 years agoMerge "vp9-skinmap. Some adjustments for model=1."
Marco Paniconi [Wed, 3 Feb 2016 23:34:07 +0000 (23:34 +0000)]
Merge "vp9-skinmap. Some adjustments for model=1."

8 years agovp9-skinmap. Some adjustments for model=1.
Marco [Wed, 3 Feb 2016 22:21:59 +0000 (14:21 -0800)]
vp9-skinmap. Some adjustments for model=1.

-use larger threshold on y (as in vp8).
-add distance threshold for each cluster
-use larger skin distance threshold for first cluster
-add some early exist checks.

Keep default setting to model=0.

Change-Id: I1044b99ade4bb1f215a860a019a4d84cee2f7715

8 years agoMerge "Use precise rate cost estimate for skip block mode"
Jingning Han [Wed, 3 Feb 2016 20:40:10 +0000 (20:40 +0000)]
Merge "Use precise rate cost estimate for skip block mode"

8 years agoUse precise rate cost estimate for skip block mode
Jingning Han [Wed, 3 Feb 2016 19:07:43 +0000 (11:07 -0800)]
Use precise rate cost estimate for skip block mode

It improves the compression performance of VP9 by 0.1% across all
test sets. No speed change is observed.

Change-Id: I59338c5c9e67bae22188f35fc3afbfe2a6bba6b0

8 years agoMerge "Fix some interger overflow errors"
Hui Su [Wed, 3 Feb 2016 18:12:26 +0000 (18:12 +0000)]
Merge "Fix some interger overflow errors"

8 years agoMerge "Add high bit depth args to arg list"
Hui Su [Wed, 3 Feb 2016 05:49:35 +0000 (05:49 +0000)]
Merge "Add high bit depth args to arg list"