platform/upstream/libvpx.git
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 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

8 years agoTake out skip_encode speed feature in vp10
Jingning Han [Thu, 10 Sep 2015 19:42:21 +0000 (12:42 -0700)]
Take out skip_encode speed feature in vp10

Change-Id: Ic39d4523e78863c816b0fc85f56ea5ae5e0b3310

8 years agoRemove speed features in vp10
Jingning Han [Thu, 10 Sep 2015 19:24:06 +0000 (12:24 -0700)]
Remove speed features in vp10

Take out speed features that affect the compression performance
to simplify the coding route. This commit removes the motion field
mode search used in speed 3.

Change-Id: Ifdf6862cb1ece8261125a56d9d89bcef60758c00

8 years agowebmdec: Handle codec id being NULL.
Vignesh Venkatasubramanian [Thu, 10 Sep 2015 17:44:59 +0000 (10:44 -0700)]
webmdec: Handle codec id being NULL.

WebM files could have CodecId missing in the track headers. Treat those files as
unknown input file type in vpxdec.

Fixes issue #1064.

Change-Id: I6c3bb7b4bd3a4f5c244312482a5996f8b68db3f3

8 years agoMerge "vp8: Small adjustment to cyclic_refresh max_mbs_perframe."
Marco Paniconi [Thu, 10 Sep 2015 15:47:49 +0000 (15:47 +0000)]
Merge "vp8: Small adjustment to cyclic_refresh max_mbs_perframe."

8 years agovp9_encoder_parms_get_to_decoder: cosmetics
James Zern [Thu, 10 Sep 2015 06:43:12 +0000 (23:43 -0700)]
vp9_encoder_parms_get_to_decoder: cosmetics

fix indent, */& association, join a few lines

Change-Id: Idaca24b87b574788f9508168082d0ade3d4e9ecc

8 years agovp9...parms_get_to_decoder: remove unneeded func
James Zern [Thu, 10 Sep 2015 06:38:53 +0000 (23:38 -0700)]
vp9...parms_get_to_decoder: remove unneeded func

removes a redundant cast in the process

Change-Id: Ie3727a0938c0093f70f25a875c2c58671938d45c

8 years agovp9...parms_get_to_decoder: fix EXPECT param order
James Zern [Thu, 10 Sep 2015 06:27:35 +0000 (23:27 -0700)]
vp9...parms_get_to_decoder: fix EXPECT param order

(expected, actual)

Change-Id: I449e7b6c51aa85cdde008d2fad5a9629970222a9

8 years agovp9_encoder_parms_get_to_decoder: delete dead code
James Zern [Thu, 10 Sep 2015 06:19:39 +0000 (23:19 -0700)]
vp9_encoder_parms_get_to_decoder: delete dead code

the only input is y4m, there's no need to test for yuv.

Change-Id: Ie5b55ea4af44ad79a55304ef5636a8ad7ed30bb8

8 years agofix BitstreamParms test
James Zern [Thu, 10 Sep 2015 06:10:58 +0000 (23:10 -0700)]
fix BitstreamParms test

avoid duplicating internal structures and include vp9_dx_iface.c
directly. these had fallen out of sync after the frame-parallel branch
merge.

Change-Id: I604cfbffa95abe2a1c8e906a696f32436b1422ed

8 years agovp9_encoder_parms_get_to_decoder: remove vp10
James Zern [Thu, 10 Sep 2015 05:54:24 +0000 (22:54 -0700)]
vp9_encoder_parms_get_to_decoder: remove vp10

this file needs to be reworked to remove the duplication of codec
internals + allow for divergence of vp9 and vp10

Change-Id: I6266b94ccfbc24dae30148f134804b52aa411b88

8 years agoyuvconfig2image(): add explicit cast to avoid conv warning
James Zern [Thu, 10 Sep 2015 07:19:18 +0000 (00:19 -0700)]
yuvconfig2image(): add explicit cast to avoid conv warning

prevents an int -> vpx_img_fmt_t conversion warning with high-bitdepth
as it modifies the image format

Change-Id: Ie3135d031565312613a036a1e6937abb59760a7e

8 years agovp9/10 decoder_init: add missing alloc cast
James Zern [Thu, 10 Sep 2015 05:53:28 +0000 (22:53 -0700)]
vp9/10 decoder_init: add missing alloc cast

Change-Id: I1ba4400d67095f3a360fb7d97ee8d118d4f741fe

8 years agovp9/10: set color_space on preview frame
James Zern [Thu, 10 Sep 2015 05:45:53 +0000 (22:45 -0700)]
vp9/10: set color_space on preview frame

Change-Id: If9176ce6ed3eb6c7ef8ffd1378456cb95b4aeb86

8 years agovp10: add extern "C" to headers
James Zern [Thu, 10 Sep 2015 04:05:42 +0000 (21:05 -0700)]
vp10: add extern "C" to headers

Change-Id: Ie2e8b37fa01ce8d6b993684f431f3159d511cfb1

8 years agovp9: add extern "C" to headers
James Zern [Thu, 10 Sep 2015 04:04:27 +0000 (21:04 -0700)]
vp9: add extern "C" to headers

Change-Id: I1b6927ad820f99340985b094d415aaab14defaf4

8 years agoMerge "Fix ioc warnings related to sub8x8 reference frame"
James Zern [Thu, 10 Sep 2015 06:10:44 +0000 (06:10 +0000)]
Merge "Fix ioc warnings related to sub8x8 reference frame"

8 years agoMerge "Revert "Fix building with iOS 9 beta SDK""
Tom Finegan [Thu, 10 Sep 2015 01:36:29 +0000 (01:36 +0000)]
Merge "Revert "Fix building with iOS 9 beta SDK""

8 years agoFix ioc warnings related to sub8x8 reference frame
Jingning Han [Wed, 9 Sep 2015 19:29:57 +0000 (12:29 -0700)]
Fix ioc warnings related to sub8x8 reference frame

Access scaled reference frame in the sub8x8 rate-distortion
optimization loop only when the current test mode is an inter mode.
This prevents an ioc warning triggered by sending intra_frame index
to fetch scaled reference frame.

Change-Id: I6177ecc946651dd86c7ce362e3f65c4074444604

8 years agoChange the qp threshold of VP9 dynamic resizing.
jackychen [Wed, 9 Sep 2015 22:30:01 +0000 (15:30 -0700)]
Change the qp threshold of VP9 dynamic resizing.

Change-Id: I1efe086191665ff8fa063f03d8e2032024dc090f

8 years agovp8: Small adjustment to cyclic_refresh max_mbs_perframe.
Marco [Wed, 9 Sep 2015 21:51:14 +0000 (14:51 -0700)]
vp8: Small adjustment to cyclic_refresh max_mbs_perframe.

For 3 temporal layers, reduce somewhat the
cyclic_refresh_mode_max_mbs_perframe parameter, from 20% to ~14%.
Small increase in PSNR/SSIM metrics.

Change-Id: Ia216fa5474048f1ef7fe3db88cd60dfef2a1bf8a

8 years agoMerge "SVC sample encoder: Change some settings/update."
Marco Paniconi [Wed, 9 Sep 2015 18:05:31 +0000 (18:05 +0000)]
Merge "SVC sample encoder: Change some settings/update."

8 years agoSVC sample encoder: Change some settings/update.
Marco [Wed, 9 Sep 2015 00:05:31 +0000 (17:05 -0700)]
SVC sample encoder: Change some settings/update.

Change settings for 1 pass CBR.
And only use SET_SVC control(s) if there is at least 1 layer (spatial or temporal).
This allows sample encoder to also work for 1 layer case.

Change-Id: I5b0a33c25afb2f24a3a8aa4ec8ade9afc87cd702

8 years agoRevert "Fix building with iOS 9 beta SDK"
Tom Finegan [Wed, 9 Sep 2015 12:25:55 +0000 (05:25 -0700)]
Revert "Fix building with iOS 9 beta SDK"

This reverts commit 78637b61361ab11425afd4a67d43c4df948647a6.

Breaks armv7-darwin targets with current SDK (iOS 8/Xcode 6.4).

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

Change-Id: I58b27950f330557154d681a894114eadfbd3e593

8 years agoEnable sub8x8 inter mode with scaled ref frame in RD optimization
Jingning Han [Tue, 8 Sep 2015 16:53:23 +0000 (09:53 -0700)]
Enable sub8x8 inter mode with scaled ref frame in RD optimization

This commit allows the encoder to include sub8x8 inter mode with
scaled reference frame in the rate-distortion optimization scheme.

Change-Id: Ibbe9678801592826ef22566566dcdeeb008350d5

8 years agoMerge "Fix the sub8x8 block inter prediction with scaled reference frame"
Jingning Han [Wed, 9 Sep 2015 00:28:42 +0000 (00:28 +0000)]
Merge "Fix the sub8x8 block inter prediction with scaled reference frame"

8 years agoMerge "Remove some trailing whitespaces"
Debargha Mukherjee [Wed, 9 Sep 2015 00:26:36 +0000 (00:26 +0000)]
Merge "Remove some trailing whitespaces"

8 years agoMove cyclic_refresh struct into .h file.
Marco [Tue, 8 Sep 2015 18:45:15 +0000 (11:45 -0700)]
Move cyclic_refresh struct into .h file.

Change-Id: I9327cd52d0ec050887ba7e591b094d74bd36bce8