platform/upstream/libvpx.git
8 years agoAdd a test for the interaction between active map and cyclic referesh.
Alex Converse [Wed, 16 Sep 2015 04:18:32 +0000 (21:18 -0700)]
Add a test for the interaction between active map and cyclic referesh.

Fails with Icac63051bf37c7355e661837b57c257d58c764fc reverted.

Change-Id: I460d7a5a74faa4daace25f911f8dc5f68e16c951

8 years agoMerge "configure: reference the README for missing yasm"
James Zern [Fri, 25 Sep 2015 03:22:15 +0000 (03:22 +0000)]
Merge "configure: reference the README for missing yasm"

8 years agoMerge "Change size on first frame and change config cause crash."
Jacky Chen [Fri, 25 Sep 2015 01:04:07 +0000 (01:04 +0000)]
Merge "Change size on first frame and change config cause crash."

8 years agoMerge "build/make/configure.sh: Silence arm target Xcode7 link warnings."
Tom Finegan [Thu, 24 Sep 2015 18:44:32 +0000 (18:44 +0000)]
Merge "build/make/configure.sh: Silence arm target Xcode7 link warnings."

8 years agoMerge "build/make/configure.sh: Fix armv7 builds in Xcode7."
Tom Finegan [Thu, 24 Sep 2015 18:44:23 +0000 (18:44 +0000)]
Merge "build/make/configure.sh: Fix armv7 builds in Xcode7."

8 years agobuild/make/configure.sh: Silence arm target Xcode7 link warnings.
Tom Finegan [Fri, 18 Sep 2015 23:01:32 +0000 (16:01 -0700)]
build/make/configure.sh: Silence arm target Xcode7 link warnings.

Always add IOS_VERSION_MIN to darwin arm cflags. The warning occured
because the default (9.0) does not match the value set by configure
(6.0).

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

Change-Id: Ia9085ceeca10e057f9eb781c14f07581bb6280a5

8 years agobuild/make/configure.sh: Fix armv7 builds in Xcode7.
Tom Finegan [Fri, 18 Sep 2015 22:58:41 +0000 (15:58 -0700)]
build/make/configure.sh: Fix armv7 builds in Xcode7.

- Use the iphoneos SDK path (instead of macosx).
- Detect iOS SDK major version and disable media (armv6) when using
  iOS SDK version 9 or higher.

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

Change-Id: I12f77dbeee4c0084e8322f6841813da8b5e91c16

8 years agobuild/make/configure.sh: docs for soft_{dis|en}able.
Tom Finegan [Wed, 23 Sep 2015 18:42:37 +0000 (11:42 -0700)]
build/make/configure.sh: docs for soft_{dis|en}able.

Add function comments explaining what the functions do and do not do.

Change-Id: I23dea09f93bc5cdbea6a0077f90683a1df2f74dc

8 years agoconfigure: reference the README for missing yasm
James Zern [Thu, 24 Sep 2015 00:51:42 +0000 (17:51 -0700)]
configure: reference the README for missing yasm

Change-Id: I2ad799901385011764affadeaddcc271df21509f

8 years agoMerge "VP9: Remove frame_parallel_decoding_mode from macroblockd"
James Zern [Thu, 24 Sep 2015 00:33:16 +0000 (00:33 +0000)]
Merge "VP9: Remove frame_parallel_decoding_mode from macroblockd"

8 years agoMerge "Non-rd mode: Limit transform size for intra to 16x16."
Marco Paniconi [Thu, 24 Sep 2015 00:12:02 +0000 (00:12 +0000)]
Merge "Non-rd mode: Limit transform size for intra to 16x16."

8 years agoVP9: Remove frame_parallel_decoding_mode from macroblockd
Scott LaVarnway [Wed, 23 Sep 2015 23:06:46 +0000 (16:06 -0700)]
VP9: Remove frame_parallel_decoding_mode from macroblockd

Not used.

Change-Id: I71527d0ee43a5730f1a2527e7ab687a77a137db4

8 years agoMerge "Adjust rd calculation in choose_tx_size_from_rd"
Hui Su [Wed, 23 Sep 2015 21:39:43 +0000 (21:39 +0000)]
Merge "Adjust rd calculation in choose_tx_size_from_rd"

8 years agoAdjust rate-boost threshold in cyclic refresh for seg#2.
Marco [Wed, 23 Sep 2015 18:47:20 +0000 (11:47 -0700)]
Adjust rate-boost threshold in cyclic refresh for seg#2.

Small gain in metrics (average ~0.2dB), small
reduction in rate fluctuation.

Change-Id: Id75bd89c168486f075308fb474ebd26e3bdfb85b

8 years agoNon-rd mode: Limit transform size for intra to 16x16.
Marco [Tue, 22 Sep 2015 17:42:55 +0000 (10:42 -0700)]
Non-rd mode: Limit transform size for intra to 16x16.

Limit transform size for intra to 16x16, for non-screen content mode.
Little/no change in speed or metrics.
32x32 intra block is rarley selected in RTC (non-screen content) case,
but some visual improvement can be seen in some example,
e.g., captured_video_dark_whd.yuv.

Change-Id: I68e2db87875343b3fb9bb407a7709f0088f84072

8 years agoAdjust rd calculation in choose_tx_size_from_rd
hui su [Tue, 22 Sep 2015 21:08:28 +0000 (14:08 -0700)]
Adjust rd calculation in choose_tx_size_from_rd

Coding gain:
derflr 0.142%
hevclr 0.153%
hevcmr 0.124%

Change-Id: I63b56ae3a9002c3a266e10e2964135ed43b0ba53

8 years agoRestrict get_msb inputs
Johann [Mon, 21 Sep 2015 23:55:28 +0000 (16:55 -0700)]
Restrict get_msb inputs

Add a warning and assert that inputs for get_msb must not be zero.

Change-Id: I8c6f289ff13248f6e3a8bc24aab3712ed33022a6

8 years agoMerge "remove static from fdct4/8/16/32"
Angie Chiang [Mon, 21 Sep 2015 23:25:26 +0000 (23:25 +0000)]
Merge "remove static from fdct4/8/16/32"

8 years agoMerge "Remove vpx_filter_block1d16_v8_intrin_ssse3"
Johann Koenig [Mon, 21 Sep 2015 19:17:18 +0000 (19:17 +0000)]
Merge "Remove vpx_filter_block1d16_v8_intrin_ssse3"

8 years agoremove static from fdct4/8/16/32
Angie Chiang [Sat, 19 Sep 2015 01:46:22 +0000 (18:46 -0700)]
remove static from fdct4/8/16/32

remove static from fdct4/8/16/32 in vp10/encoder/dct.c
add prefix vp10_ to fdct4/8/16/32
add vp10/encoder/dct.h

Change-Id: I644827a191c1a7761850ec0b1da705638b618c66

8 years agoMerge "Non-rd pickmode: Don't skip checking zeromv-last mode."
Marco Paniconi [Mon, 21 Sep 2015 18:26:28 +0000 (18:26 +0000)]
Merge "Non-rd pickmode: Don't skip checking zeromv-last mode."

8 years agoChange size on first frame and change config cause crash.
jackychen [Mon, 21 Sep 2015 16:37:46 +0000 (09:37 -0700)]
Change size on first frame and change config cause crash.

Reallocation of mi buffer fails if change size on the first frame and
change config in subsequent frames. Add a condition for resolution
check to avoid assertion failure.

BUG=1074

Change-Id: Ie26ed816a57fa871ba27a72db9805baaaeaba9f3

8 years agoNon-rd pickmode: Don't skip checking zeromv-last mode.
Marco [Mon, 21 Sep 2015 17:20:14 +0000 (10:20 -0700)]
Non-rd pickmode: Don't skip checking zeromv-last mode.

Reference frame masking logic may skip checking zeromv-last mode.
Fix to avoid this and make sure zero-last is always checked.

No noticeable change in speed, and PSNR/SSIM metrics on RTC set overall
neutral (very small gain ~0.02).
Small visual improvement on few RTC clips.

Change-Id: I26eacdc449126424001a4a64e5ac31949f064417

8 years agoMerge "Create sub8x8 block inter prediction function"
Jingning Han [Mon, 21 Sep 2015 16:13:37 +0000 (16:13 +0000)]
Merge "Create sub8x8 block inter prediction function"

8 years agovp9_end_to_end_test: disable vp10 w/high bitdepth
James Zern [Sat, 19 Sep 2015 16:14:18 +0000 (09:14 -0700)]
vp9_end_to_end_test: disable vp10 w/high bitdepth

the range check in dct.c (abs(input[i]) < (1 << bit)) will fail in many
cases. this was broken at the time this check was added

BUG=1076

Change-Id: I3df8c7a555e95567d73ac16acda997096ab8d6e2

8 years agoCreate sub8x8 block inter prediction function
Jingning Han [Fri, 18 Sep 2015 23:27:52 +0000 (16:27 -0700)]
Create sub8x8 block inter prediction function

Change-Id: Ib161e6fb3eb081f7176a1d969fed16a7d1ffc320

8 years agoMerge "configure: add --extra-cxxflags option"
James Zern [Fri, 18 Sep 2015 23:18:10 +0000 (23:18 +0000)]
Merge "configure: add --extra-cxxflags option"

8 years agoRemove vpx_filter_block1d16_v8_intrin_ssse3
Johann [Fri, 18 Sep 2015 22:59:12 +0000 (15:59 -0700)]
Remove vpx_filter_block1d16_v8_intrin_ssse3

This was rewritten and moved to vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm
in 195883023bb39b5ee5c6811a316ab96d9225034d

Change-Id: I117ce983dae12006e302679ba7f175573dd9e874

8 years agoMerge "iosbuild: Enable PIC for x86 targets."
Tom Finegan [Fri, 18 Sep 2015 19:38:55 +0000 (19:38 +0000)]
Merge "iosbuild: Enable PIC for x86 targets."

8 years agoMerge "iosbuild: Add --test-link argument."
Tom Finegan [Fri, 18 Sep 2015 19:38:45 +0000 (19:38 +0000)]
Merge "iosbuild: Add --test-link argument."

8 years agovp9_arf_freq_test: disable vp10 w/high bitdepth
James Zern [Fri, 18 Sep 2015 02:44:17 +0000 (19:44 -0700)]
vp9_arf_freq_test: disable vp10 w/high bitdepth

the range check in dct.c (abs(input[i]) < (1 << bit)) will fail in the
25-29 range. this was broken at the time this check was added

Change-Id: I8ca9607f6cbdc8be7f47696ffeabbab3ac5727e2

8 years agoMerge "Refactor mbmi_ext structure"
Jingning Han [Fri, 18 Sep 2015 00:49:14 +0000 (00:49 +0000)]
Merge "Refactor mbmi_ext structure"

8 years agoiosbuild: Enable PIC for x86 targets.
Tom Finegan [Thu, 17 Sep 2015 23:22:07 +0000 (16:22 -0700)]
iosbuild: Enable PIC for x86 targets.

Change-Id: I03b1e8f983f8cd87519aefda732210359b319c81

8 years agoiosbuild: Add --test-link argument.
Tom Finegan [Thu, 17 Sep 2015 23:21:22 +0000 (16:21 -0700)]
iosbuild: Add --test-link argument.

Shortcut arg for --extra-configure-args --enable-examples. Enables
the examples, and thus ensures that all versions of libvpx that
iosbuild.sh produces can actually be linked.

Change-Id: I2ddda094361bf0ac77f8d2ae542e4dc7b2cab158

8 years agoMerge "Add SVC codec control to set frame flags and buffer indices."
Marco Paniconi [Thu, 17 Sep 2015 22:29:07 +0000 (22:29 +0000)]
Merge "Add SVC codec control to set frame flags and buffer indices."

8 years agoMerge changes from topic 'tile-thread-cleanup'
James Zern [Thu, 17 Sep 2015 22:00:23 +0000 (22:00 +0000)]
Merge changes from topic 'tile-thread-cleanup'

* changes:
  vp9/decode_tiles_mt: move frame count accum from loop
  VP9Decoder: remove duplicate tile_worker_info
  vp9/decode_tiles_mt: move some inits from inner loop
  vp9_accumulate_frame_counts: pass counts directly

8 years agoMerge "vpx_subpixel_8t_ssse3: fix reg counts/access"
James Zern [Thu, 17 Sep 2015 21:31:14 +0000 (21:31 +0000)]
Merge "vpx_subpixel_8t_ssse3: fix reg counts/access"

8 years agovpx_subpixel_8t_ssse3: fix reg counts/access
James Zern [Thu, 17 Sep 2015 00:33:34 +0000 (17:33 -0700)]
vpx_subpixel_8t_ssse3: fix reg counts/access

fixes build on windows x64; previously 'heightq' i.e., the 64-bit register
was accessed when only the 32-bit value was needed. given this is from a
stack variable the upper bits were undefined.

+ bump register/xmm counts; users of SETUP_LOCAL_VARS touch xmm13 in
64-bit builds and filter_block1d16_v* uses one extra temp variable

Change-Id: I9c768c0b2047481d1d3b11c2e16b2f8de6eb0d80

8 years agoRefactor mbmi_ext structure
Jingning Han [Thu, 17 Sep 2015 16:50:19 +0000 (09:50 -0700)]
Refactor mbmi_ext structure

This commit removes mbmi_ext_base pointer from MACROBLOCK struct.
Its use case can be fully covered by cpi->mbmi_ext_base pointer.

Change-Id: I155351609336cf5b6145ed13c21b105052727f30

8 years agoAdd SVC codec control to set frame flags and buffer indices.
Marco [Wed, 2 Sep 2015 18:34:00 +0000 (11:34 -0700)]
Add SVC codec control to set frame flags and buffer indices.

Add SVC codec control to set the frame flags and buffer indices
for each spatial layer of the current (super)frame to be encoded.
This allows the application to set (and change on the fly) the
reference frame configuration for spatial layers.

Added an example layer pattern (spatial and temporal layers)
in vp9_spatial_svc_encoder for the bypass_mode using new control.

Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee

8 years agovp10: do sub8x8 block reconstruction in full subblocks.
Ronald S. Bultje [Tue, 8 Sep 2015 18:48:33 +0000 (14:48 -0400)]
vp10: do sub8x8 block reconstruction in full subblocks.

This means that we don't reconstruct in 4x4 dimensions, but in
blocksize dimensions, e.g. 4x8 or 8x4. This may in some cases lead
to performance improvements. Also, if we decide to re-introduce
scalable coding support, this would fix the fact that you need to
re-scale the MV halfway the block in sub8x8 non-4x4 blocks.

See issue 1013.

Change-Id: If39c890cad20dff96635720d8c75b910cafac495

8 years agovp10: fix 4:2:2 chroma MVs for 8x4/4x4 blocks.
Ronald S. Bultje [Tue, 8 Sep 2015 13:57:30 +0000 (09:57 -0400)]
vp10: fix 4:2:2 chroma MVs for 8x4/4x4 blocks.

In vp9, the bottom MV would be the average of the topright and
bottomleft luma MV (instead of the bottomleft/bottomright luma MV).

See issue 993.

Change-Id: Ic91c0b195950e7b32fc26c84c04788a09321e391

8 years agovp10: remove double MV value check.
Ronald S. Bultje [Tue, 8 Sep 2015 18:35:24 +0000 (14:35 -0400)]
vp10: remove double MV value check.

This has virtually no effect on coding efficiency, but it is more
logical from a theoretical perspective (since it makes no sense to
me that you would exclude a MV from a list just because it's sign-
inversed value is identical to a value already in a list), and it
also makes the code simpler (it removes a duplicate value check in
cases where signbias is equal between the two MVs being compared).

See issue 662.

Change-Id: I23e607c6de150b9f11d1372fb2868b813c322d37

8 years agovp10: move coding of tx_mode element to the non-arithcoded header.
Ronald S. Bultje [Tue, 8 Sep 2015 18:33:17 +0000 (14:33 -0400)]
vp10: move coding of tx_mode element to the non-arithcoded header.

See issue 1040 point 3.

Change-Id: If051b92c24a34d6a39861fb7d7180c5ca32f3d82

8 years agovp10: code sign bit before absolute value in non-arithcoded header.
Ronald S. Bultje [Tue, 8 Sep 2015 18:26:42 +0000 (14:26 -0400)]
vp10: code sign bit before absolute value in non-arithcoded header.

For reading, this makes the operation branchless, although it still
requires two shifts. For writing, this makes the operation as fast
as writing an unsigned value, branchlessly. This is also how other
codecs typically code signed, non-arithcoded bitstream elements.

See issue 1039.

Change-Id: I6a8182cc88a16842fb431688c38f6b52d7f24ead

8 years agoMerge "vp10: don't reset contextual skip flag if block has no coefficients."
Ronald S. Bultje [Wed, 16 Sep 2015 20:55:14 +0000 (20:55 +0000)]
Merge "vp10: don't reset contextual skip flag if block has no coefficients."

8 years agoMerge "Add support for color-range."
Ronald S. Bultje [Wed, 16 Sep 2015 20:26:10 +0000 (20:26 +0000)]
Merge "Add support for color-range."

8 years agoMerge "VP9 dynamic resizing unit test with bitrate change."
Jacky Chen [Wed, 16 Sep 2015 16:55:14 +0000 (16:55 +0000)]
Merge "VP9 dynamic resizing unit test with bitrate change."

8 years agovp10: don't reset contextual skip flag if block has no coefficients.
Ronald S. Bultje [Tue, 8 Sep 2015 18:24:30 +0000 (14:24 -0400)]
vp10: don't reset contextual skip flag if block has no coefficients.

The implicitly changed value would be used for contextualizing future
skip flags of neighbour blocks (bottom/right), which is certainly not
what was intended. The original code stems from vp8, and was useful
in cases where coding of the skip flag was disabled. In vp9, the skip
flag is always coded. The result of this change is that for bitstream
parsing purposes, decoding of the skip flag becomes independent of
decoding of block coefficients.

See issue 1014.

Change-Id: I8629e6abe76f7c1d649f28cd6fe22a675ce4a15d

8 years agoAdd support for color-range.
Ronald S. Bultje [Wed, 16 Sep 2015 01:56:51 +0000 (21:56 -0400)]
Add support for color-range.

In decoder, export (eventually) into vpx_image_t.range field. In
encoder, use oxcf->color_range to set it (same way as for
color_space).

See issue 1059.

Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce

8 years agoMerge "vp10: fix entropy counts for the hp bit."
Ronald S. Bultje [Wed, 16 Sep 2015 01:53:44 +0000 (01:53 +0000)]
Merge "vp10: fix entropy counts for the hp bit."

8 years agoVP9 dynamic resizing unit test with bitrate change.
jackychen [Tue, 15 Sep 2015 22:47:11 +0000 (15:47 -0700)]
VP9 dynamic resizing unit test with bitrate change.

Verify the dynamic resizer behavior for real time, 1 pass CBR mode.
Start at low target bitrate, raise the bitrate in the middle of the
clip, verify that scaling-up does occur after bitrate changed.

Change-Id: I7ad8c9a4c8288387d897dd6bdda592f142d8870c

8 years agoMerge "fix implicit declaration"
Angie Chiang [Wed, 16 Sep 2015 00:20:43 +0000 (00:20 +0000)]
Merge "fix implicit declaration"

8 years agoMerge changes from topic 'fix-vp9-bitstream-test'
James Zern [Tue, 15 Sep 2015 23:14:34 +0000 (23:14 +0000)]
Merge changes from topic 'fix-vp9-bitstream-test'

* changes:
  vp9_encoder_parms_get_to_decoder: cosmetics
  vp9...parms_get_to_decoder: remove unneeded func
  vp9...parms_get_to_decoder: fix EXPECT param order
  vp9_encoder_parms_get_to_decoder: delete dead code
  fix BitstreamParms test
  vp9_encoder_parms_get_to_decoder: remove vp10
  yuvconfig2image(): add explicit cast to avoid conv warning
  vp9/10 decoder_init: add missing alloc cast
  vp9/10: set color_space on preview frame
  vp10: add extern "C" to headers
  vp9: add extern "C" to headers

8 years agoMerge "VP9 dynamic resizing unit test."
Marco Paniconi [Tue, 15 Sep 2015 22:26:03 +0000 (22:26 +0000)]
Merge "VP9 dynamic resizing unit test."

8 years agoMerge "SVC fix to set worst/best_quality per layer."
Marco Paniconi [Tue, 15 Sep 2015 22:06:13 +0000 (22:06 +0000)]
Merge "SVC fix to set worst/best_quality per layer."

8 years agoVP9 dynamic resizing unit test.
jackychen [Tue, 15 Sep 2015 21:17:04 +0000 (14:17 -0700)]
VP9 dynamic resizing unit test.

Verify the dynamic resizer behavior for real time, 1 pass CBR mode.
Run at low bitrate, with resize_allowed = 1, and verify that we get
one resize down event.

Change-Id: Ic347be60972fa87f7d68310da2a055679788929d

8 years agoSVC fix to set worst/best_quality per layer.
Marco [Tue, 15 Sep 2015 16:54:19 +0000 (09:54 -0700)]
SVC fix to set worst/best_quality per layer.

Allow the worst/best_quality to be set per layer via the
VP9E_SET_SVC_PARAMETERS control.

Change-Id: Icba5ec8ac757152f3bb7860d6010d9174a7bd578

8 years agoAdd cyclic refresh parameters to svc-layer context.
Marco [Tue, 8 Sep 2015 15:47:42 +0000 (08:47 -0700)]
Add cyclic refresh parameters to svc-layer context.

For 1 pass CBR spatial-SVC:
Add cyclic refresh parameters to the svc-layer context.

This allows cyclic refresh (aq-mode=3) to be applied to
the whole super-frame (all spatial layers).
This gives a performance improvement for spatial layer encoding.

Addd the aq_mode mode on/off setting as command line option.

Change-Id: Ib9c3b5ba3cb7851bfb8c37d4f911664bef38e165

8 years agoFix two pass svc encoding
Debargha Mukherjee [Tue, 15 Sep 2015 13:11:24 +0000 (06:11 -0700)]
Fix two pass svc encoding

Fixes temporal scalability. Updates were inadvertently turned
off for two pass svc causing crashes due to gf_group.index
growing unchecked.

Change-Id: Iff759946bf61bbde70630347cc8fa4d51a8c2d2f

8 years agoMerge "Remove leftover of "frame_parallel_decoding""
Yaowu Xu [Tue, 15 Sep 2015 02:24:36 +0000 (02:24 +0000)]
Merge "Remove leftover of "frame_parallel_decoding""

8 years agoRemove leftover of "frame_parallel_decoding"
Yaowu Xu [Tue, 15 Sep 2015 01:06:28 +0000 (18:06 -0700)]
Remove leftover of "frame_parallel_decoding"

The variable has been removed by a previous commit, but missed this
instance.

Change-Id: Ia34474b0be4945cc6cb9191f0d7cd24a99a4c22e

8 years agoChange parameters for VP9 dynamic resizing.
jackychen [Mon, 14 Sep 2015 23:15:07 +0000 (16:15 -0700)]
Change parameters for VP9 dynamic resizing.

Use a smaller window in dynamic resizing and wait a shorter
time after key frame.

Change-Id: I086f840cdec3c6bdaa9acfe11346d919e445973d

8 years agoMerge "CR: Don't attempt to read qindex_delta for segments CR is unaware of."
Alex Converse [Mon, 14 Sep 2015 22:59:24 +0000 (22:59 +0000)]
Merge "CR: Don't attempt to read qindex_delta for segments CR is unaware of."

8 years agoCR: Don't attempt to read qindex_delta for segments CR is unaware of.
Alex Converse [Mon, 14 Sep 2015 18:43:38 +0000 (11:43 -0700)]
CR: Don't attempt to read qindex_delta for segments CR is unaware of.

Found by the remoting VideoEncoderVpxTest.Vp9LossyUnchangedFrame unit
test under asan.

Change-Id: Icac63051bf37c7355e661837b57c257d58c764fc

8 years agoMerge "For 1 pass: always use the normative filter in vp9_scale_if_required()"
Marco Paniconi [Mon, 14 Sep 2015 20:36:34 +0000 (20:36 +0000)]
Merge "For 1 pass: always use the normative filter in vp9_scale_if_required()"

8 years agovp10: fix entropy counts for the hp bit.
Ronald S. Bultje [Mon, 7 Sep 2015 18:32:28 +0000 (14:32 -0400)]
vp10: fix entropy counts for the hp bit.

The counts didn't take usehp into account, which means that if the
scope of the refmv is too large for the hp bit to be coded, the value
(always 1) is still included in the stats. Therefore, the final
counts will not reflect the entropy of the coded bits, but rather the
entropy of the combination of coded bits and the implied value (which
is always 1). Fix that by only including counts if the hp bit is
actually coded.

See issue 1060.

Change-Id: I19a3adda4a8662a05f08a9e58d7e56ff979be11e

8 years agoFor 1 pass: always use the normative filter in vp9_scale_if_required()
Marco [Mon, 14 Sep 2015 17:13:33 +0000 (10:13 -0700)]
For 1 pass: always use the normative filter in vp9_scale_if_required()

The normative (convolve8) filter is optimized/faster than
the nonnormative one. Pass usage of scaler (normative/nonomorative)
to vp9_scale_if_required(), and always use normative one for 1 pass.

Change-Id: I2b71d9ff18b3c7499b058d1325a9554de993dd52

8 years agoMerge "vp10: merge frame_parallel_decoding_mode and refresh_frame_context."
Ronald S. Bultje [Mon, 14 Sep 2015 18:24:24 +0000 (18:24 +0000)]
Merge "vp10: merge frame_parallel_decoding_mode and refresh_frame_context."

8 years agoconfigure: add --extra-cxxflags option
James Zern [Sat, 12 Sep 2015 17:25:28 +0000 (10:25 -0700)]
configure: add --extra-cxxflags option

same usage as --extra-cflags

Change-Id: Iff2ed7b8ebb6e51610ee0851aeec08413367ab23

8 years agoadd range_check for fdct in vp10
Angie Chiang [Sat, 29 Aug 2015 03:39:10 +0000 (20:39 -0700)]
add range_check for fdct in vp10

Unify the style of fdct4() fdct8() fdct16()
Add fdct32()
Add range_check() at each stage
Add unit test at ../../test/vp10_dct_test.cc

Change-Id: I13f76d9046c3ea473c82024b09a5bc8662e2c28e

8 years agothird_party/libwebm: pull from upstream.
James Zern [Sat, 12 Sep 2015 02:01:03 +0000 (19:01 -0700)]
third_party/libwebm: pull from upstream.

Upstream hash: 476366249e1fda7710a389cd41c57db42305e0d4

Changes from upstream since last update:
4763662 mkvparser: fix type warnings
267f71c mkvparser: SafeArrayAlloc fix type warning
f1a99d5 mkvparser: s/LONG_LONG_MAX/LLONG_MAX/ for compatibility
bff1aa5 mkvparser: add msvc compatibility for isnan/isinf

Change-Id: Ie0375e564fc74b3b296744d0039830d2f77b83b6

8 years agovp10: merge frame_parallel_decoding_mode and refresh_frame_context.
Ronald S. Bultje [Tue, 8 Sep 2015 18:20:48 +0000 (14:20 -0400)]
vp10: merge frame_parallel_decoding_mode and refresh_frame_context.

See issue 1030. The value of frame_parallel_decoding_mode was ignored
in vp9 if refresh_frame_context was 0, so instead make it a 3-member
enum where the dependency is obviously stated.

Change-Id: I37f0177e5759f54e2e6cc6217023d5681de92438

8 years agovpxdec: remove implied --output-bit-depth=8 for --yv12.
Ronald S. Bultje [Fri, 11 Sep 2015 23:33:12 +0000 (19:33 -0400)]
vpxdec: remove implied --output-bit-depth=8 for --yv12.

Change-Id: I28c939db49334572476aa2b428ec93111d4e869d

8 years agovp10: remove duplicate frame_parallel_decode field.
Ronald S. Bultje [Mon, 7 Sep 2015 14:14:18 +0000 (10:14 -0400)]
vp10: remove duplicate frame_parallel_decode field.

Keep the one in VP10_COMMON in favour of the one in VP10_DECODER.

Change-Id: Ia81983ccc95d83829dc815e28d9b1143e16e27b1

8 years agoDon't convert bitdepth for !single-file or MD5.
Ronald S. Bultje [Fri, 11 Sep 2015 20:55:19 +0000 (16:55 -0400)]
Don't convert bitdepth for !single-file or MD5.

... unless --output-bit-depth was set.

Change-Id: I3482eaf12e245eec24427518fccdd173f890f4b4

8 years agoMerge "Make reset_frame_context an enum."
Ronald S. Bultje [Fri, 11 Sep 2015 22:36:49 +0000 (22:36 +0000)]
Merge "Make reset_frame_context an enum."

8 years agoMerge "Avoid scaling last_source, unless needed."
Marco Paniconi [Fri, 11 Sep 2015 21:39:06 +0000 (21:39 +0000)]
Merge "Avoid scaling last_source, unless needed."

8 years agofix implicit declaration
Angie Chiang [Fri, 11 Sep 2015 18:58:15 +0000 (11:58 -0700)]
fix implicit declaration

include vpx_dsp_rtcd.h to avoid implicit declaration of
vp10_highbd_fdct32x32_rd_c

Change-Id: I0b9ad50381a302750138deab14d2d5ac31f286ee

8 years agoMake reset_frame_context an enum.
Ronald S. Bultje [Tue, 8 Sep 2015 18:14:28 +0000 (14:14 -0400)]
Make reset_frame_context an enum.

In vp9, [0] and [1] had identical meaning, so merge them into a
single value. Make it impossible to code RESET_FRAME_CONTEXT_NONE
for intra_only frames, since that is a non-sensical combination.

See issue 1030.

Change-Id: If450c74162d35ca63a9d279beaa53ff9cdd6612b

8 years agoAvoid scaling last_source, unless needed.
Marco [Fri, 11 Sep 2015 18:23:26 +0000 (11:23 -0700)]
Avoid scaling last_source, unless needed.

Save some encoding time, for the case of spatial layers
or under dynamic resizing mode.

Change-Id: If4a8eb6f0376c3d2dde8465fde6bfd86ab704920

8 years agoMerge "Fix vp10 high bit-depth build"
James Zern [Fri, 11 Sep 2015 18:27:49 +0000 (18:27 +0000)]
Merge "Fix vp10 high bit-depth build"

8 years agoFix vp10 high bit-depth build
Jingning Han [Fri, 11 Sep 2015 15:56:06 +0000 (08:56 -0700)]
Fix vp10 high bit-depth build

Change-Id: Ie3daed0b282b43ef81d2f8797ac1f6e8bde7d65e

8 years agoRemove unneeded/incorrect comment.
Marco [Fri, 11 Sep 2015 15:48:22 +0000 (08:48 -0700)]
Remove unneeded/incorrect comment.

Change-Id: I5c923223c284ad4fda0c45572a66bebc8528dd1d

8 years agoMerge "build: modify default ARFLAGS / .a target"
James Zern [Fri, 11 Sep 2015 02:30:07 +0000 (02:30 +0000)]
Merge "build: modify default ARFLAGS / .a target"

8 years agoMerge "Add misc_fixes experiment."
Ronald S. Bultje [Fri, 11 Sep 2015 02:00:45 +0000 (02:00 +0000)]
Merge "Add misc_fixes experiment."

8 years agoMerge "Don't reset sign_bias fields in vp10_setup_past_independence()."
Ronald S. Bultje [Fri, 11 Sep 2015 02:00:30 +0000 (02:00 +0000)]
Merge "Don't reset sign_bias fields in vp10_setup_past_independence()."

8 years agoMerge "Isolate vp10's fwd_txfm from vp9"
Angie Chiang [Fri, 11 Sep 2015 00:10:45 +0000 (00:10 +0000)]
Merge "Isolate vp10's fwd_txfm from vp9"

8 years agoMerge changes Ibb308526,I99e330f8
Alex Converse [Thu, 10 Sep 2015 23:04:46 +0000 (23:04 +0000)]
Merge changes Ibb308526,I99e330f8

* changes:
  Prevent CR in screen mode from refreshing flat inter blocks forever.
  For screen content consider intra uv when color_sensitivity is set.

8 years agoMerge "Take out reference_masking speed feature"
Jingning Han [Thu, 10 Sep 2015 23:03:06 +0000 (23:03 +0000)]
Merge "Take out reference_masking speed feature"

8 years agoMerge "Take out skip_encode speed feature in vp10"
Jingning Han [Thu, 10 Sep 2015 23:02:38 +0000 (23:02 +0000)]
Merge "Take out skip_encode speed feature in vp10"

8 years agoMerge "Remove speed features in vp10"
Jingning Han [Thu, 10 Sep 2015 23:02:27 +0000 (23:02 +0000)]
Merge "Remove speed features in vp10"

8 years agoMerge "Isolate vp10's inv_txfm from vp9"
Angie Chiang [Thu, 10 Sep 2015 22:51:02 +0000 (22:51 +0000)]
Merge "Isolate vp10's inv_txfm from vp9"

8 years agoIsolate vp10's fwd_txfm from vp9
Angie Chiang [Thu, 10 Sep 2015 00:56:43 +0000 (17:56 -0700)]
Isolate vp10's fwd_txfm from vp9

1) copy fw_txfm related files from vpx_dsp tp vp10

    vpx_dsp/fwd_txfm.h → vp10/common/vp10_fwd_txfm.h
    vpx_dsp/fwd_txfm.c → vp10/common/vp10_fwd_txfm.c
    vpx_dsp/x86/fwd_dct32x32_impl_sse2.h →  vp10/common/x86/vp10_fwd_dct32x32_impl_sse2.h
    vpx_dsp/x86/fwd_txfm_sse2.c →  vp10/common/x86/vp10_fwd_txfm_sse2.c
    vpx_dsp/x86/fwd_txfm_impl_sse2.h → vp10/common/vp10_fwd_txfm_impl_sse2.h

Change-Id: Ie9428b2ab1ffeb28e17981bb8a142ebe204f3bba

8 years agoIsolate vp10's inv_txfm from vp9
Angie Chiang [Fri, 4 Sep 2015 21:51:54 +0000 (14:51 -0700)]
Isolate vp10's inv_txfm from vp9

1) copy following files from vpx_dsp/ to vp10/common/
vp10_inv_txfm.c
vp10_inv_txfm.h
vp10_inv_txfm_sse2.c
vp10_inv_txfm_sse2.h

2) change the function prefix "vpx_" to "vp10_" in above files

3) add unit test at vp10_inv_txfm_test.cc

Change-Id: I206f10f60c8b27d872c84b7482c3bb1d1cb4b913

8 years agoPrevent CR in screen mode from refreshing flat inter blocks forever.
Alex Converse [Thu, 3 Sep 2015 21:53:40 +0000 (14:53 -0700)]
Prevent CR in screen mode from refreshing flat inter blocks forever.

Take the minimum last_codec_q_map on inter skip.

Change-Id: Ibb308526dd19793bb359f51ebd7b48d8692903fd

8 years agoFor screen content consider intra uv when color_sensitivity is set.
Alex Converse [Thu, 3 Sep 2015 21:52:39 +0000 (14:52 -0700)]
For screen content consider intra uv when color_sensitivity is set.

Change-Id: I99e330f8a779b4d564c19ef4639a881cb68910ae

8 years agoTake out reference_masking speed feature
Jingning Han [Thu, 10 Sep 2015 19:56:41 +0000 (12:56 -0700)]
Take out reference_masking speed feature

This condition is not effectively in use. The actual reference
frame masking is done in other route.

Change-Id: Ia59c843bcac7243dada92f0f67658d7ce43df5e8

8 years agobuild: modify default ARFLAGS / .a target
James Zern [Thu, 10 Sep 2015 19:54:01 +0000 (12:54 -0700)]
build: modify default ARFLAGS / .a target

remove 'u' and specify all objects to allow objects with the same
basename to be added and a incremental rebuild to succeed

fixes issue #1067

Change-Id: Id0ebc89be826a026f1bbf21b4e32a2b1af45154d

8 years agothird_party/libwebm: pull from upstream.
Vignesh Venkatasubramanian [Thu, 10 Sep 2015 18:02:40 +0000 (11:02 -0700)]
third_party/libwebm: pull from upstream.

Upstream hash: a58c32339e06e5d672a58cdd5844cea0a661e735

Changes from upstream since last update:
a58c323 mkvmuxer: Add codec id constant for VP10.
714f3c4 mkvparser: validate results in EBMLHeader::Parse.
cec98d4 mkvparser: Correct the ReadID implementation.
eb36ae4 Merge changes I029a268e,Ia272b150,I5c4d1bbc,Ia47a2478,I3a2e2226
229f493 Merge "mkvparser: Segment::AppendCluster asserts to error checks."
287faf9 Merge "mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks."
1a87b59 Merge "mkvparser: Segment assert clean up."
d26ec69 mkvparser: Cluster::Parse clean up.
f2029be mkvparser: Disallow EBML IDs equal to 0.
19f5694 mkvparser: Cluster::Load clean up.
27a07c1 mkvparser: Segment::Load asserts to error checks.
d0313dd mkvparser: Segment::PreloadCluster asserts to error checks.
b108695 mkvparser: Segment::AppendCluster asserts to error checks.
4630f80 mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks.
841a9b5 mkvparser: Segment assert clean up.
8c4ca2e Merge "mkvparser: Make mkvparser namespace usage uniform."
49ae6f0 Merge "mkvparser: Fix include order."
0735bb5 mkvparser: Make mkvparser namespace usage uniform.
93b24c4 mkvparser: Fix include order.
a57d660 sample_muxer: fix Segment memory leak on error
1c5bd94 mkvparser: Cues, change asserts to error checks.
7f77201 Merge "mkvparser: Add ReadID."
795fd56 mkvparser: set kMaxAllocSize explicitly
23bb18b mkvparser: Add ReadID.
7b57e37 mkvparser: add SafeArrayAlloc.
83a1f68 mkvparser: Remove buf_t typedef.
5074714 Merge changes Ia1265a63,I799d54df,Icfc582e4,I3425f608
b181105 Merge changes Ie4318152,I1e65f30f
06b4337 Block::Parse: replace pos asserts w/checks
b366a98 Cluster::ParseBlockGroup: replace pos asserts w/checks
2857b23 Tags::*::Parse: replace pos asserts w/checks
f1b2cfa Chapters::*::Parse: replace pos asserts w/checks
ca80629 Merge "mkvparser: Cues::PreloadCuePoint now returns bool."
6b4b297 Block::Parse: use int64 to aggregate laced frame sizes
c0d2c98 UnserializeFloat: check result for Inf/NaN
1a6dc4f mkvparser: Cues::PreloadCuePoint now returns bool.
275ac22 mkvparser: Cluster::Create clean up.
064f2ee Segment::PreloadCluster(): return a bool status
3778408 Segment::AppendCluster(): return a bool status
e86d046 mkvparser: check Cluster::Create() return
f9885b5 mkvparser: check allocations
21ee398 mkvparser: Segment::Load fail w/missing info/tracks
08fb654 Merge changes I264e68b2,Ife6190a4,Ibf37245f,I06efadb5,I88b5dfec, ...
c896095 mkvparser/Cluster: convert asserts to failure returns
680b4bf mkvparser/Tracks: convert asserts to failure returns
5889e6c mkvparser/Track: convert asserts to failure returns
5135c4c mkvparser/ContentEncoding: convert asserts to failure returns
b0e4f32 mkvparser/Cues: convert asserts to failure returns
13ccc7f mkvparser/UnserializeInt: fix sign flip
db3f9bb mkvparser/SeekHead: convert asserts to failure returns
8de3654 mkvparser/Segment: convert asserts to failure returns
fa2aa7d SeekHead::Parse(): fix assertion failure
d9bdade sample{,_muxer}: check SegmentInfo::GetInfo() return
07a9cf7 Merge "mkvparser: Remove some asserts."
c56ee29 mkvparser: Remove some asserts.
d901324 Merge "mkvparser: Remove some asserts from SegmentInfo::Parse."
7f7d898 Fix case sensitivity issue in iosbuild.sh.
42fe2cd mkvparser: Remove some asserts from SegmentInfo::Parse.
8bccd9c Merge "mkvparser: avoid rollover in UnserializeInt()."
7a2fa0d mkvparser: avoid rollover in UnserializeInt().
44f5ce6 mkvparser: Disallow durations in seconds greater than LONG_LONG_MAX.
b521e30 Merge "mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes."
7680e2a mkvparser: Check for errors in Match().
39a315f mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes.
f250ace mkvparser: Handle invalid lengths and rollover in ParseElementHeader().
cd96a76 mkvparser: Avoid rollover/truncation in UnserializeString().
8e8b3db Merge "mkvparser: Add error checking in Block::Parse."
82b7e5f sample: correct mbstowcs() error check
04d7809 sample: check allocation return
986b64b mkvparser: Add error checking in Block::Parse.

Change-Id: I39beef84962d6341f8ce53be06807b3e2068f777