Ronald S. Bultje [Wed, 21 Oct 2015 14:24:49 +0000 (10:24 -0400)]
Adjust superframe-is-optional unit test for vp10 superframe syntax.
Change-Id: Ic64b6928af7ae8ecc987f845b0bf0faecdacb072
Ronald S. Bultje [Wed, 21 Oct 2015 13:13:59 +0000 (09:13 -0400)]
vp10: don't allow comp_inter_inter on keyframes.
Change-Id: Ibd0e13721a2bb71c532d20b36c42f4cccf5c5de2
Ronald S. Bultje [Tue, 20 Oct 2015 23:40:36 +0000 (19:40 -0400)]
vp10: fix tile size in remuxing step.
Change-Id: Id48fb193bbdb3afed1d0db26c4ddded65a293b1b
Ronald S. Bultje [Tue, 20 Oct 2015 23:40:14 +0000 (19:40 -0400)]
vp10: use correct constant for bw adaptation of seg pred probs.
Change-Id: Idb869a77a126982814b8e7e288f952a65340e6be
Ronald S. Bultje [Tue, 20 Oct 2015 23:13:10 +0000 (19:13 -0400)]
vp10: don't make right edge available across tile boundaries.
Change-Id: Ia81cf3858ef6c8d1fd4b1fb2dd9627906081129d
Ronald S. Bultje [Tue, 20 Oct 2015 17:31:40 +0000 (13:31 -0400)]
vp10: clip MVs before adding to find_ref_mvs() list.
This causes the output of find_ref_mvs() to always be unique or zero.
A nice side-effect of this is that it also causes the output of
find_ref_mvs_sub8x8() to be unique-or-zero, and it will not ignore
available candidate MVs under certain conditions.
See issue 1012.
Change-Id: If4792789cb7885dbc9db420001d95f9b91b63bfa
Ronald S. Bultje [Tue, 20 Oct 2015 16:13:03 +0000 (12:13 -0400)]
vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe.
See issue 1088.
Change-Id: Icb15d33b4e316add848f210b50cbccd7c7847207
Ronald S. Bultje [Tue, 20 Oct 2015 15:57:21 +0000 (15:57 +0000)]
Merge "vp10: write colorspace info for profile 0 intraonly frames."
Ronald S. Bultje [Tue, 20 Oct 2015 15:57:12 +0000 (15:57 +0000)]
Merge "vp10: per-segment lossless coding."
Ronald S. Bultje [Tue, 20 Oct 2015 15:57:05 +0000 (15:57 +0000)]
Merge "vp10: add extended-intra prediction edges experiment."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:56 +0000 (15:56 +0000)]
Merge "vp10: allow MV refs to point outside visible image."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:49 +0000 (15:56 +0000)]
Merge "vp10: allow forward updates for keyframe y intra mode probabilities."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:42 +0000 (15:56 +0000)]
Merge "vp10: merge keyframe/interframe uvintramode/partition probabilities."
Ronald S. Bultje [Tue, 20 Oct 2015 15:56:34 +0000 (15:56 +0000)]
Merge "vp10: make segmentation probs use generic probability model."
James Zern [Tue, 20 Oct 2015 02:46:36 +0000 (02:46 +0000)]
Merge "vp8cx: remove deprecated reference/entropy controls"
Ronald S. Bultje [Mon, 19 Oct 2015 16:18:57 +0000 (12:18 -0400)]
vp10: write colorspace info for profile 0 intraonly frames.
See issue 1087.
Change-Id: I231f6f12f870d0a56391daf1673536048418b207
James Zern [Fri, 16 Oct 2015 23:47:38 +0000 (16:47 -0700)]
vp8cx: remove deprecated reference/entropy controls
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been
deprecated since the initial public release
Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0
Ronald S. Bultje [Mon, 12 Oct 2015 21:54:25 +0000 (17:54 -0400)]
vp10: per-segment lossless coding.
Some more testing of this patch would probably be useful, but I
think the basics of it should work fine now.
See issue 1035.
Change-Id: I4a36d58f671c5391cb09d564581784a00ed26245
Ronald S. Bultje [Mon, 12 Oct 2015 14:35:46 +0000 (10:35 -0400)]
vp10: add extended-intra prediction edges experiment.
This experiment allows using full above/right edges for all transform
sizes whenever available (for d45/d63), and adds bottom/left edges for
d207.
See issue 1043.
Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b
Ronald S. Bultje [Fri, 2 Oct 2015 16:09:24 +0000 (12:09 -0400)]
vp10: allow MV refs to point outside visible image.
In VP9, the ref MV had to point to a block that itself fully resided
within the visible image, i.e. all borders of the image had to be
within the visible borders of the coded frame. This is somewhat
illogical, and had obscure side effects, e.g. clamping of fairly
reasonable motion vectors such as 0,0 were clipped to negative values
if the block was overhanging on frame edges (such as the last rows
on 1080p content), which makes no sense whatsoever.
Instead, relax clamping constraints such that the ref MVs are allowed
to point to blocks exactly outside the visible edges in both Y as well
as UV planes, including the 8tap filter edges (that's why the offset is
8 pixels + block size).
See issue 1037.
Change-Id: I2683eb2a18b24955e4dcce36c2940aa2ba3a1061
Ronald S. Bultje [Tue, 13 Oct 2015 18:08:24 +0000 (14:08 -0400)]
vp10: allow forward updates for keyframe y intra mode probabilities.
See issue 1040 point 5.
Change-Id: I51a70b9eade39efba392a1457bd70a3c515525cb
Ronald S. Bultje [Tue, 13 Oct 2015 18:07:47 +0000 (14:07 -0400)]
vp10: merge keyframe/interframe uvintramode/partition probabilities.
This has various benefits:
- simplify implementations because we don't have to switch between
multiple probability tables depending on frametype
- allows fw subexp and bw adaptivity for partitions/uvmode in keyframes
See issue 1040 point 5.
Change-Id: Ia566aa2863252d130cee9deedcf123bb2a0d3765
Ronald S. Bultje [Tue, 13 Oct 2015 18:06:28 +0000 (14:06 -0400)]
vp10: make segmentation probs use generic probability model.
Locate them (code-wise) in frame_context, and have them be updated
as any other probability using the subexp forward and adaptive bw
updates.
See issue 1040 point 1.
TODOs:
- real-world default probabilities
- why is counts sometimes NULL in the decoder? Does that mean bw
adaptivity updates only work on some frames? (I haven't looked
very closely yet, maybe this is a red herring.)
Change-Id: I23b57b4e5e7574b75f16eb64823b29c22fbab42e
Yaowu Xu [Fri, 16 Oct 2015 23:25:08 +0000 (16:25 -0700)]
Add a new enum type vpx_color_range_t
to make meaning of color_range obvious.
Change-Id: I303582e448b82b3203b497e27b22601cc718dfff
James Zern [Fri, 9 Oct 2015 23:31:17 +0000 (16:31 -0700)]
vpx/*.h: add VPX_CTRL_* preproc defines
allows controls to be tested for at compile-time
Change-Id: I1cd01287dc144392956c82e6dbac003f37703039
James Zern [Fri, 16 Oct 2015 18:47:08 +0000 (18:47 +0000)]
Merge "vpx/*.h, cosmetics: fix some typos"
Marco [Tue, 29 Sep 2015 22:38:49 +0000 (15:38 -0700)]
Adjustment on limiting cyclic refresh on steady blocks.
Adjust the qp threshold and consec_zeromv threshold for
limiting cyclic refresh. Also increase the refresh period
when the limit amount is significant, and some code-cleanup.
Small gain in PSNR/SSIM metrics: ~0.25/0.3 gain on RTC set, speed 7.
Change only affects non-screen content.
Change-Id: I1ced87a89a132684c071e722616e445b2d18236a
Yaowu Xu [Thu, 15 Oct 2015 18:33:41 +0000 (11:33 -0700)]
Restore partial changes from previous commit
This portion was tested to have no effect on asan test failures.
Change-Id: I3de1dab7479148bdffc24c4568cb2e7e9963f099
hui su [Thu, 15 Oct 2015 03:18:18 +0000 (20:18 -0700)]
Fix palette mode in multi-thread encoding setting
Fix a couple of memory related errors. Also fix thread test failures.
Change-Id: I0103995f832cecf1dd2380000321ac7204f0cfc0
Jacky Chen [Thu, 15 Oct 2015 21:35:02 +0000 (21:35 +0000)]
Merge "VP9_resizing: adjust the threshold and another improvement."
Marco Paniconi [Thu, 15 Oct 2015 21:09:06 +0000 (21:09 +0000)]
Merge "Fix resetting of cyclic refresh on dynamic resize change."
JackyChen [Thu, 15 Oct 2015 06:04:01 +0000 (23:04 -0700)]
VP9_resizing: adjust the threshold and another improvement.
Adjust the qp threshold based on the denoising setting; not allow
to scale directly from original resolution to one half and vise versa.
Change-Id: I032a9b22f8e1c88de6bb81cf8351367223a3e40d
Marco [Thu, 15 Oct 2015 16:01:47 +0000 (09:01 -0700)]
Fix resetting of cyclic refresh on dynamic resize change.
Put the reset at the right place, during the setup and prior
to updating the map.
Change-Id: I75e550ae9d8cc15081330b8857edc04c23947875
Marco [Tue, 13 Oct 2015 02:17:44 +0000 (19:17 -0700)]
VP9: Rate control update for re-encode screen-content.
For the re-encoding (at max-qp) on the detected high-content change:
update rate correction factor, reset rate over/under-shoot flags,
and update/reset the rate control for layered coding.
Change-Id: I5dc72bb235427344dc87b5235f2b0f31704a034a
Yaowu Xu [Thu, 15 Oct 2015 14:39:01 +0000 (14:39 +0000)]
Merge "fix a msvc compiler warning"
Yaowu Xu [Thu, 15 Oct 2015 14:38:05 +0000 (14:38 +0000)]
Merge "Fix two asan failures"
Yaowu Xu [Wed, 14 Oct 2015 15:10:05 +0000 (08:10 -0700)]
fix a msvc compiler warning
Change-Id: Ifd6581c1bdb8d8f4b2ecf676c1a3d385dc129abf
Yaowu Xu [Wed, 14 Oct 2015 15:37:15 +0000 (08:37 -0700)]
Fix two asan failures
Change-Id: I57865e9604ac162ef0d97deb16e81ca436a98428
Johann [Wed, 14 Oct 2015 17:42:41 +0000 (10:42 -0700)]
Check for bswap* builtins before using
Canonical builtin checks for clang are to use
__has_builtin. Much less fragile than version checks.
https://code.google.com/p/webm/issues/detail?id=1082
Change-Id: I8151fb75899acdf1a935c23aad9441da99a9abcd
Johann [Tue, 13 Oct 2015 17:36:16 +0000 (10:36 -0700)]
Upstream Mozilla fix for older Apple clang builds
Also use the _mm_broadcastsi128_si256 intrisic for
Apple clang versions 4.[012]
https://bugzilla.mozilla.org/show_bug.cgi?id=1085607
https://code.google.com/p/webm/issues/detail?id=1082
Change-Id: I6bc821d8163387194ef663e94bfed91fa7281d88
Yaowu Xu [Tue, 13 Oct 2015 22:31:56 +0000 (22:31 +0000)]
Merge "Changes to partition breakout rules."
paulwilkins [Wed, 23 Sep 2015 10:13:52 +0000 (11:13 +0100)]
Changes to partition breakout rules.
Changes to the breakout behavior for partition selection.
The biggest impact is on speed 0 where encode speed in
some cases more than doubles with typically less than 1%
impact on quality.
Speed 0 encode speed impact examples
Animation test clip: +128%
Park Joy: +59%
Old town Cross: + 109%
Change-Id: I222720657e56cede1b2a5539096f788ffb2df3a1
Marco Paniconi [Tue, 13 Oct 2015 21:09:10 +0000 (21:09 +0000)]
Merge "VP9-SVC: Bugfix to allow skipping lower layer(s) encoding."
Ronald S. Bultje [Tue, 13 Oct 2015 19:33:05 +0000 (19:33 +0000)]
Merge "vp10: fix compiler warning with --enable-universal_hp."
Hui Su [Tue, 13 Oct 2015 19:30:33 +0000 (19:30 +0000)]
Merge "Fix compiler warnings"
Ronald S. Bultje [Mon, 12 Oct 2015 21:57:43 +0000 (17:57 -0400)]
vp10: fix compiler warning with --enable-universal_hp.
Change-Id: I0d7ca20bdd0fc868b28b0755e3114a4499056f45
Hui Su [Tue, 13 Oct 2015 17:34:27 +0000 (17:34 +0000)]
Merge "VP10: Add palette mode part 1"
hui su [Tue, 13 Oct 2015 17:16:51 +0000 (10:16 -0700)]
Fix compiler warnings
Change-Id: I761256a8100d83abf1b937f3739580237e3fad2a
Marco [Mon, 12 Oct 2015 23:05:27 +0000 (16:05 -0700)]
VP9-SVC: Bugfix to allow skipping lower layer(s) encoding.
The setting of svc->spatial_layer_to_encode was missing
in VP9E_SET_SVC_LAYER_ID.
Change-Id: I015b1a64adb9ef2644d6477a02d9d9364c8462b9
Ronald S. Bultje [Thu, 1 Oct 2015 14:45:46 +0000 (10:45 -0400)]
vp10: allow forward updates for uv_mode probabilities.
See issue 1040 point 4.
Change-Id: I79e06bd71a27f45770c760c47dc71bc3767a77a0
Ronald S. Bultje [Thu, 1 Oct 2015 14:32:57 +0000 (10:32 -0400)]
vp10: allow bw adaptivity for skip/tx probabilities in keyframes.
See issue 1040 point 3.
Change-Id: Ieef6d326b7fb50ceca5936525b7c688225a11fd1
Ronald S. Bultje [Mon, 12 Oct 2015 20:35:32 +0000 (16:35 -0400)]
vp10: don't write tile size marker bit if CONFIG_MISC_FIXES=0.
Change-Id: I41b13b8767e30da391c2c4da9a729ca7292b16b9
Ronald S. Bultje [Fri, 2 Oct 2015 19:07:04 +0000 (15:07 -0400)]
vp10: remove ref-MV-dependent use of HP.
This change (in a new config experiment: universal_hp) removes the
bitstream parsing dependency of the HP MV bit on the ref MV to be
coded. It also cleans up clearing of the HP bit in near/nearestMV,
since HP is always on if it's set in the frame header.
This admittedly doesn't clean up the crap that could be cleaned up,
but that's mostly because I think this needs some careful review;
not so much for coding style, but more from hardware people and from
the codec team on what we/you want. It would also be nice to get some
actual numbers on the real quality impact of this change. If, for
example, hardware people come up and tell us they don't actually care
anymore, we should probably just this code as-is and do nothing (i.e.
discard this patch).
See issue 1036.
Change-Id: Ic9b106f34422aa0f79de0c28125b72d566bd511a
Ronald S. Bultje [Fri, 2 Oct 2015 15:51:54 +0000 (11:51 -0400)]
vp10: remove clamp_mv2() call from vp10_find_best_ref_mvs().
This actually has no effect whatsoever, since the input MVs themselves
are clamped by clamp_mv_ref() already, which is significantly more
restrictive in its bounds.
Change-Id: I4a3a7b2b121ee422c56428c2a12d930c3813c06e
Ronald S. Bultje [Mon, 12 Oct 2015 18:45:04 +0000 (14:45 -0400)]
vp10: update assertion/allocation for tokens.
We only write EOSB tokens if we write tokens (i.e. not for skip blocks),
and we write EOSB tokens per-plane instead of per block.
Change-Id: I8d7ee99f8ec50eb7ae809f9f9282c1c91dbf6537
hui su [Tue, 15 Sep 2015 19:44:13 +0000 (12:44 -0700)]
VP10: Add palette mode part 1
Add palette mode for keyframe luma channel. Palette mode is enabled
when using "--tune-content=screen" in encoding config parameters.
on screen_content testset: +6.89%
on derlr : +0.00%
Design doc (WIP):
https://goo.gl/lD4yJw
Change-Id: Ib368b216bfd3ea21c6c27436934ad87afdaa6f88
James Zern [Sat, 10 Oct 2015 18:16:20 +0000 (11:16 -0700)]
tile_worker_hook: fix -Wclobbered warning
*tile should be marked volatile like the others due to the use of
setjmp()
Change-Id: I5dbf8e6792e4c0f34a683434b4fd06e3b4c75c4b
James Zern [Fri, 9 Oct 2015 05:43:45 +0000 (22:43 -0700)]
vpx/*.h, cosmetics: fix some typos
Change-Id: Ie9ead2c665c6c065a6b922ab66bae9be63483272
Alex Converse [Tue, 6 Oct 2015 22:59:03 +0000 (15:59 -0700)]
Add vpx_highbd_convolve_{copy,avg}_sse2
single-threaded:
swanky (silvermont): ~1% faster overall
peppy (celeron,haswell): ~1.5% faster overall
Change-Id: Ib74f014374c63c9eaf2d38191cbd8e2edcc52073
Alex Converse [Fri, 9 Oct 2015 18:42:05 +0000 (11:42 -0700)]
Generate convolve_test wrapper functions with a macro
Change-Id: Iccb4cdc23c1845cf9cb7d69101c9f4f43675d368
James Zern [Fri, 9 Oct 2015 17:52:34 +0000 (17:52 +0000)]
Merge "vp9/decode_tiles_mt: remove unnecessary local"
Geza Lore [Thu, 8 Oct 2015 17:33:32 +0000 (18:33 +0100)]
Remove 4 mova insts from quantize_ssse3_x86_64.asm
Change-Id: If3cb9345b44162e600e6c74873e0cb4c207fc7fb
Debargha Mukherjee [Fri, 9 Oct 2015 13:36:47 +0000 (13:36 +0000)]
Merge "Optimization of 8bit block error for high bitdepth"
Geza Lore [Thu, 8 Oct 2015 14:44:49 +0000 (15:44 +0100)]
Optimization of 8bit block error for high bitdepth
If high bit depth configuration is enabled, but encoding in profile 0,
the code now falls back on optimized SSE2 assembler to compute the
block errors, similar to when high bit depth is not enabled.
Change-Id: I471d1494e541de61a4008f852dbc0d548856484f
Jacky Chen [Thu, 8 Oct 2015 21:02:46 +0000 (21:02 +0000)]
Merge "VP9 denoiser: use skin map to improve denoising."
jackychen [Wed, 7 Oct 2015 22:08:20 +0000 (15:08 -0700)]
VP9 denoiser: use skin map to improve denoising.
Only denoise at small motion if it's a skin block.
Change-Id: I6235cad9dd7f76ab40e7d9cdfe6180e619c20c6e
Ronald S. Bultje [Thu, 8 Oct 2015 18:50:50 +0000 (18:50 +0000)]
Merge "vp10: use subexp probability updates for MV probs."
Ronald S. Bultje [Thu, 8 Oct 2015 18:50:39 +0000 (18:50 +0000)]
Merge "vp10: skip unreachable cat6 token extrabits."
Ronald S. Bultje [Thu, 8 Oct 2015 18:50:08 +0000 (18:50 +0000)]
Merge "vp10: remove superframe size field for last frame in superframe."
Jacky Chen [Thu, 8 Oct 2015 18:15:10 +0000 (18:15 +0000)]
Merge "vp9_skin_detection: fix some build warnings."
Ronald S. Bultje [Thu, 8 Oct 2015 17:32:52 +0000 (17:32 +0000)]
Merge "vp10: use superframe marker index/size mechanism for tile size."
jackychen [Thu, 8 Oct 2015 16:50:28 +0000 (09:50 -0700)]
vp9_skin_detection: fix some build warnings.
Change-Id: Ib779c083e9775dc9922ed6e104f6275bc453bef9
James Zern [Thu, 8 Oct 2015 00:45:45 +0000 (17:45 -0700)]
vp9/decode_tiles_mt: remove unnecessary local
reuse the common loop index
Change-Id: I9db45a93c219c2123917514cb8e9d4ea86454711
James Zern [Wed, 7 Oct 2015 22:09:33 +0000 (22:09 +0000)]
Merge "vp9/tile_worker_hook: pass pbi directly"
James Zern [Wed, 7 Oct 2015 22:09:21 +0000 (22:09 +0000)]
Merge changes Iaee60826,I51cf1e39
* changes:
vp9/tile_worker_hook: add multiple tile decoding
invalid_file_test: loosen error check w/tile-threading
jackychen [Wed, 7 Oct 2015 20:21:25 +0000 (13:21 -0700)]
VP9_denoiser: pass address in copy_frame to make it faster.
Change-Id: I65269ddb3ea5f911d5be38614b93c97be7e1ba76
Marco Paniconi [Wed, 7 Oct 2015 19:08:07 +0000 (19:08 +0000)]
Merge "VP9 denoiser bug-fix: artifact caused by false buffer swap."
Alex Converse [Wed, 7 Oct 2015 18:45:02 +0000 (18:45 +0000)]
Merge "vp9: simplify extrabits encoding"
James Zern [Wed, 7 Oct 2015 18:40:02 +0000 (18:40 +0000)]
Merge "test/reg...check,video_source.h: avoid NOMINMAX redef"
James Zern [Wed, 7 Oct 2015 18:26:36 +0000 (18:26 +0000)]
Merge "vpxdec: quiet signed/unsigned warning"
James Zern [Wed, 7 Oct 2015 18:26:15 +0000 (18:26 +0000)]
Merge changes I2965e786,I144bedde
* changes:
vpx_memset16: drop unnecessary local
vpx_memset16: quiet signed/unsigned warning
jackychen [Wed, 7 Oct 2015 17:44:04 +0000 (10:44 -0700)]
VP9 denoiser bug-fix: artifact caused by false buffer swap.
The artifact occurs periodically when VP9 denoiser is on and
refresh_golden_frame happen. When refresh_golden_frame happen,
we should copy the frame buffer instead of swapping the pointers.
Change-Id: Ib3204c4b04db28ecf439c6d9e61f3d146f04196d
Marco Paniconi [Wed, 7 Oct 2015 16:44:32 +0000 (16:44 +0000)]
Merge "Move setting of refresh threshold outside loop."
Debargha Mukherjee [Wed, 7 Oct 2015 16:28:36 +0000 (16:28 +0000)]
Merge "Backports highbitdepth accelerations into vp10"
James Zern [Wed, 7 Oct 2015 06:05:15 +0000 (23:05 -0700)]
test/reg...check,video_source.h: avoid NOMINMAX redef
some mingw32 configs define this. force this to be on to ensure the
build succeeds
Change-Id: I2cc490782b6a0736aa617e6a1457fc2bc984adbb
James Zern [Wed, 7 Oct 2015 05:56:34 +0000 (22:56 -0700)]
vpxdec: quiet signed/unsigned warning
Change-Id: I93c56dfa547af9b2f2b96c4f85fd9862ea67af62
James Zern [Wed, 7 Oct 2015 05:51:35 +0000 (22:51 -0700)]
vpx_memset16: drop unnecessary local
+ add a cast
Change-Id: I2965e7867223aa25bf688c988629ac57b4971905
James Zern [Wed, 7 Oct 2015 05:48:18 +0000 (22:48 -0700)]
vpx_memset16: quiet signed/unsigned warning
Change-Id: I144bedde7ea43f1b84360c1a7c8a042fd30abb6b
James Zern [Thu, 1 Oct 2015 06:02:31 +0000 (23:02 -0700)]
vp9/tile_worker_hook: pass pbi directly
reduces the size of TileWorkerData reusing the storage in the worker
itself
Change-Id: If8a62fcb35167037c3da5814ab84fb81893f9cab
James Zern [Sat, 26 Sep 2015 03:43:04 +0000 (20:43 -0700)]
vp9/tile_worker_hook: add multiple tile decoding
this reduces the number of synchronizations in decode_tiles_mt() and
improves overall performance when the number of threads is less than the
number of tiles
Change-Id: Iaee6082673dc187ffe0e3d91a701d1e470c62924
Marco [Wed, 7 Oct 2015 00:47:08 +0000 (17:47 -0700)]
Move setting of refresh threshold outside loop.
Small code cleanup. consec_zeromv refresh threshold
does not need to be computed for every super-block.
No change in behavior.
Change-Id: I8c4b1b28072f42b01d917fff6d1f62722f1e1554
James Zern [Sat, 26 Sep 2015 03:31:45 +0000 (20:31 -0700)]
invalid_file_test: loosen error check w/tile-threading
The serial decode check is too strict for tile-threaded decoding as
there is no guarantee on the decode order nor which specific error
will take precedence. Currently a tile-level error is not forwarded so
the frame will simply be marked corrupt.
Change-Id: I51cf1e39e44bedeac93746154b36a4ccb2f059b1
Alex Converse [Tue, 6 Oct 2015 21:03:34 +0000 (14:03 -0700)]
vp9: simplify extrabits encoding
Change-Id: I5a2abd35cb303d8f6354b3119ab95acf90405116
Debargha Mukherjee [Tue, 6 Oct 2015 22:28:11 +0000 (22:28 +0000)]
Merge "SSSE3 optimisation for quantize in high bit depth"
Marco [Thu, 1 Oct 2015 22:46:06 +0000 (15:46 -0700)]
Add first_spatial_layer_to_encode to SVC.
Use the existing VP9_SET_SVC control to set the
first spatial layer to encode.
Since we loop over all spatial layers inside the encoder, the
setting of spatial_layer_id via VP9_SET_SVC has no relevance.
Use it instead to set the first_spatial_layer_to_encode,
which allows an application to skip encoding lower layer(s).
Change only affects the 1 pass CBR SVC.
Change-Id: I5d63ab713c3e250fdf42c637f38d5ec8f60cd1fb
Julia Robson [Tue, 6 Oct 2015 11:11:14 +0000 (12:11 +0100)]
SSSE3 optimisation for quantize in high bit depth
When configured with high bit detpth enabled, the 8bit quantize
function stopped using optimised code. This made 8bit content
decode slowly. This commit re-enables the SSSE3 optimisations.
Change-Id: I194b505dd3f4c494e5c5e53e020f5d94534b16b5
Scott LaVarnway [Tue, 6 Oct 2015 11:35:15 +0000 (11:35 +0000)]
Merge "VPX: refactor vpx_idct32x32_1_add_sse2()"
Ronald S. Bultje [Tue, 6 Oct 2015 10:49:30 +0000 (10:49 +0000)]
Merge "vp10: extend range for delta Q values."
Ronald S. Bultje [Thu, 1 Oct 2015 14:07:32 +0000 (10:07 -0400)]
vp10: use subexp probability updates for MV probs.
See issue 1040 point 2.
Change-Id: I0b37fe74be764610696620f1fe296dc74e4806d7
Ronald S. Bultje [Thu, 1 Oct 2015 01:37:20 +0000 (21:37 -0400)]
vp10: skip unreachable cat6 token extrabits.
We have historically added new bits to cat6 whenever we added a new
transform size (or bitdepth, for that matter). However, we have
always coded these new bits regardless of the actual transform size,
which means that for smaller transforms, we code bits that cannot
possibly be set. The coding (quality) impact of this is negligible,
but the bigger issue is that this allows creating bitstreams with
coefficient values that are nonsensible and can cause int overflows,
which then de facto become part of the bitstream spec. By not coding
these bits, we remove this possibility.
See issue 1065.
Change-Id: Ib3186eca2df6a7a15ddc60c8b55af182aadd964d