]>
granicus.if.org Git - libvpx/log
Yaowu Xu [Fri, 29 Jan 2016 00:29:29 +0000 (16:29 -0800)]
SSSE3 idct8x8 functions for highbitdpeth build
This commit changes SSSE3 optimized idct8x8 functions to work with
highbitdepth build.
With this commit and the previous one that enabled SSSE3 idct32x32
functions, tests showed virtually no difference on decoding speed for
file fdJc1_IBKJA.248.webm for the build with -enable-vp9-highbitdpeth
option and the build without the option.
Change-Id: Ibe0634149ec70e8b921e6b30171664b8690a9c45
Marco Paniconi [Fri, 29 Jan 2016 18:55:13 +0000 (18:55 +0000)]
Merge "Fix failure with libvpx__unit_tests-multi-target"
Marco Paniconi [Fri, 29 Jan 2016 18:43:27 +0000 (18:43 +0000)]
Merge "vp9-denoiser: Force increase_denoising = 0 for skin block."
Marco [Fri, 29 Jan 2016 18:00:21 +0000 (10:00 -0800)]
Fix failure with libvpx__unit_tests-multi-target
Introduced in: https://chromium-review.googlesource.com/#/c/323215/
For now exclude the computation of vp_compute_skin_block for highbitdepth.
Change-Id: I18107a862c17ba869438ec3616a787bf173736c4
Marco [Fri, 29 Jan 2016 16:36:03 +0000 (08:36 -0800)]
vp9-denoiser: Force increase_denoising = 0 for skin block.
Change-Id: Ic5af41db58a3daad4103175b4b4b9300675020c0
Zoe Liu [Fri, 29 Jan 2016 16:31:41 +0000 (16:31 +0000)]
Merge "Cleaned code in firstpass related to altref frame"
Yaowu Xu [Wed, 27 Jan 2016 23:25:42 +0000 (15:25 -0800)]
Enable hbd_build to use SSSE3optimized functions
This commit changes the SSSE3 assembly functions for idct32x32 to
support highbitdepth build.
On test clip fdJc1_IBKJA.248.webm, this cuts the speed difference
between hbd and lbd build from between 3-4% to 1-2%.
Change-Id: Ic3390e0113bc1ca5bba8ec80d1795ad31b484fca
Yaowu Xu [Fri, 29 Jan 2016 01:28:43 +0000 (01:28 +0000)]
Merge "Add a vp9 test vector"
Marco Paniconi [Fri, 29 Jan 2016 01:19:30 +0000 (01:19 +0000)]
Merge "vp9: encoder-breakout: Modify UV thresholds."
Zoe Liu [Fri, 29 Jan 2016 00:36:22 +0000 (16:36 -0800)]
Cleaned code in firstpass related to altref frame
Change-Id: I6dbddf500fd4f64216774685700efea972165470
Yaowu Xu [Thu, 28 Jan 2016 16:50:50 +0000 (08:50 -0800)]
Add a vp9 test vector
This test vector exercises various idct32x32 functions in decoder.
Change-Id: Ic9453f50ef4723bdaace9bd80f32540d061ef2a1
James Zern [Thu, 28 Jan 2016 20:53:41 +0000 (12:53 -0800)]
vp9/10: fix encoder crash on flush
the lookahead buffer allocation is deferred to receipt of the first
frame to allow profile changes. if the encoder was flushed before
supplying any frames the encoder would crash trying to dereference the
NULL buffer. vp8 is unaffected.
fixes mozilla bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=
1237848
Change-Id: Icee4b64de760476eee0d33b568f0a1010335ff13
Marco [Thu, 28 Jan 2016 20:10:38 +0000 (12:10 -0800)]
vp9: encoder-breakout: Modify UV thresholds.
Set UV thresholds to 0 for encoder breakout if
block is detected as skin.
Change-Id: Iaaa30b5cc8bae4cf611f8ea8eba693b730e32a3f
JackyChen [Tue, 26 Jan 2016 10:01:10 +0000 (18:01 +0800)]
VPX skin map improvement.
Use multiple clusters instead of one and decrease
the distance thresholds.
Add a define to switch between models.
Default is set to existing (1 cluster) model.
Change-Id: I802cd9bb565437ae8983ef39453939f5d5073bb1
Marco Paniconi [Thu, 28 Jan 2016 17:01:19 +0000 (17:01 +0000)]
Merge "vp9 non-rd mode: Modification for detected skin areas."
Scott LaVarnway [Thu, 28 Jan 2016 12:31:22 +0000 (12:31 +0000)]
Merge "VP9: Refactor dec_build_inter_predictors_sb()"
Marco [Fri, 22 Jan 2016 19:45:31 +0000 (11:45 -0800)]
vp9 non-rd mode: Modification for detected skin areas.
If a superblock contains alot of "skin" then force split
of 64x64 partition, and make some adjustments in mode selection.
This helps to reduce artifacts on moving face/skin areas at low bitrates.
Little/no change in metrics: avgPSNR/SSIM down by ~0.12%.
Small encoding time increase < 1%.
Change-Id: Ic57f52148c3716f391419fab0530d916e4c1d186
Hui Su [Thu, 28 Jan 2016 01:04:50 +0000 (01:04 +0000)]
Merge "Fix some typos."
hui su [Mon, 25 Jan 2016 18:19:16 +0000 (10:19 -0800)]
Fix some typos.
Change-Id: I32aacd014df6c927cf2893dc096cbe6ec7604b9b
Marco Paniconi [Wed, 27 Jan 2016 21:38:35 +0000 (21:38 +0000)]
Merge "vp9-aqmode=3: Limit on period for golden update."
Alex Converse [Wed, 27 Jan 2016 20:54:07 +0000 (20:54 +0000)]
Merge "Switch to 9-bit rate cost constants built on a 256 probability denominator."
Marco [Wed, 27 Jan 2016 20:01:58 +0000 (12:01 -0800)]
vp9-aqmode=3: Limit on period for golden update.
For aqmode=3, golden period update is set based on period of cyclic refresh.
Put a limit on max golden period update, for now set to 40.
And fix comment.
Change-Id: Icb61dd87c796cce2a5f5f7331c6a129540994696
Alex Converse [Wed, 13 Jan 2016 22:21:30 +0000 (14:21 -0800)]
Switch to 9-bit rate cost constants built on a 256 probability denominator.
-.220 BDRATE derf: https://x20web.corp.google.com/~aconverse/results/cost256_derf.html
-.675 BDRATE hevcmr: https://x20web.corp.google.com/~aconverse/results/cost256_hevcmr.html
Change-Id: Ifb1646d8ce65ffe0eff9953a911b1b88735b335f
Scott LaVarnway [Wed, 27 Jan 2016 15:37:59 +0000 (07:37 -0800)]
VP9: Refactor dec_build_inter_predictors_sb()
Change-Id: I336fe2006288214977b5ee854124ee7b5bba5796
Yunqing Wang [Tue, 26 Jan 2016 19:00:06 +0000 (19:00 +0000)]
Merge "Fix a clang/win build error"
Yunqing Wang [Tue, 26 Jan 2016 18:10:07 +0000 (10:10 -0800)]
Fix a clang/win build error
Made the definition of THREAD_FUNCTION consistent.
Change-Id: I1ac099484e201e359298ed16de0b81ec781075ce
Alex Converse [Tue, 26 Jan 2016 17:59:59 +0000 (17:59 +0000)]
Merge "vp9: Be more responsive to massive overshoot."
James Zern [Mon, 25 Jan 2016 20:57:15 +0000 (20:57 +0000)]
Merge "Code clean of sad4xNx4D_sse"
Alex Converse [Mon, 25 Jan 2016 20:03:50 +0000 (12:03 -0800)]
vp9: Be more responsive to massive overshoot.
Limit oscilation detection in the case where overshoot is very very
large.
This keeps the 9-bit cost patch from breaking the DownUp reisze test.
The patch pushed us to an 11% undershoot right before a scene cut
causing a 1200% overshoot. (Whereas before we were undershooting by
only 6% before overshooting by 1200%).
Change-Id: Id90ccfab8aba872ccadc45b73b3bb097b895677f
Zoe Liu [Sat, 23 Jan 2016 01:13:03 +0000 (17:13 -0800)]
Cleaned a code in define_gf_group() for firstpass
Change-Id: I0b8eff9e74e3446024482d011ec4fb28b19136d3
Alex Converse [Sat, 23 Jan 2016 02:04:37 +0000 (02:04 +0000)]
Merge "Short circuit flat blocks when coding screen content at realtime speed."
Scott LaVarnway [Fri, 22 Jan 2016 21:53:26 +0000 (21:53 +0000)]
Merge "VP9: Do not set up/left available in vp9_first_pass()"
Alex Converse [Wed, 20 Jan 2016 22:28:09 +0000 (14:28 -0800)]
Short circuit flat blocks when coding screen content at realtime speed.
In inter mode search skip all modes except NEARESTMV and DC_PRED.
10% less encode latency for large frames using the chromium remoting_perftests.
+0.313% BDRATE on the screencast set at speed -6.
Change-Id: Ib97a39dd8bcdeab545509e0e02d78ce7033f8c63
Scott LaVarnway [Fri, 22 Jan 2016 17:22:53 +0000 (09:22 -0800)]
VP9: Do not set up/left available in vp9_first_pass()
These values are set in set_mi_row_col()
Change-Id: Ie44c9d2dcb79797a8473b5fc29394277a7117547
Yaowu Xu [Fri, 22 Jan 2016 18:57:16 +0000 (10:57 -0800)]
Fix a minor typo
a wrong variable.
Change-Id: I9fa02621dbdc508a12ba1ef9c8f98dbeab68e958
Yaowu Xu [Fri, 22 Jan 2016 16:52:41 +0000 (16:52 +0000)]
Merge "Properly set segmentation for error-resilient mode"
Marco Paniconi [Fri, 22 Jan 2016 00:09:27 +0000 (00:09 +0000)]
Merge "vp9 pickmode: Fix the shift on negative value."
Marco [Thu, 21 Jan 2016 23:13:10 +0000 (15:13 -0800)]
vp9 pickmode: Fix the shift on negative value.
Error only affected svc 1 pass mode, introduced in:
https://chromium-review.googlesource.com/#/c/319609/
Change-Id: Ifc078c82d38b742966a81baaf5ad532f7dbc13a4
Alex Converse [Thu, 21 Jan 2016 23:11:14 +0000 (23:11 +0000)]
Merge "Remove the vestigal skip_eob feature from tokenization."
James Zern [Thu, 21 Jan 2016 23:08:02 +0000 (23:08 +0000)]
Merge "vp9_aq_cyclicrefresh: fix double->float warning"
James Zern [Thu, 21 Jan 2016 22:07:33 +0000 (14:07 -0800)]
vp9_aq_cyclicrefresh: fix double->float warning
Change-Id: I39d3a150de9a77967a4e25ca89d2eda51fd18d47
Yaowu Xu [Thu, 21 Jan 2016 20:06:29 +0000 (20:06 +0000)]
Merge "Fix a typo in ctrl_set_render_size()"
Yaowu Xu [Thu, 21 Jan 2016 19:19:08 +0000 (11:19 -0800)]
Fix a typo in ctrl_set_render_size()
Change-Id: I6a7fa6d0ae8ce8de7b426189d5eb00413f21bc17
Alex Converse [Thu, 21 Jan 2016 19:17:56 +0000 (19:17 +0000)]
Merge "Tie the bit cost scale to a define."
Marco [Thu, 21 Jan 2016 01:44:02 +0000 (17:44 -0800)]
vp9-aqmode=3: Reduce condition below which we turn off delta-qp.
Add TODO to consider turning-off more smoothly.
Change-Id: Id6dd4c5c515f5b09c388af965eb27dbe24924362
hui su [Thu, 21 Jan 2016 02:02:30 +0000 (18:02 -0800)]
Fix build with --enable-internal-stats
Change-Id: I9649647cc5755c8411ddd56f92e7f96d421c2663
Marco Paniconi [Thu, 21 Jan 2016 01:39:53 +0000 (01:39 +0000)]
Merge "vp9-svc: Allow frame-dropping in svc datarate control tests."
Alex Converse [Wed, 20 Jan 2016 22:09:45 +0000 (14:09 -0800)]
Remove the vestigal skip_eob feature from tokenization.
Repack TOKENEXTRA fields.
Speed impact within measurment margin of error.
Change-Id: I9a6d1dde1bb4a0766b02d0cb74c871ddde907cde
Marco [Wed, 20 Jan 2016 21:51:12 +0000 (13:51 -0800)]
vp9-svc: Allow frame-dropping in svc datarate control tests.
Remove comment(s) and enable frame-dropper for tests.
Frame dropper for 1 pass svc was fixed a while ago:
https://chromium-review.googlesource.com/#/c/309230/
Change-Id: I5fd3192825b22e562db9210d3dc7b246a1799d8d
Marco [Wed, 20 Jan 2016 21:46:39 +0000 (13:46 -0800)]
vp8-denoiser: Fix threshold for skin map.
Make it consistent with the comment/intended behavior,
that is, only denoise if current block is zero_mv.
Change-Id: I3909761e802e80089752a493ab3646dc32698ded
Yaowu Xu [Wed, 20 Jan 2016 18:12:51 +0000 (18:12 +0000)]
Merge "Remove duplicate definitions"
Yaowu Xu [Wed, 20 Jan 2016 16:56:41 +0000 (08:56 -0800)]
Remove duplicate definitions
This fixes the build errors with msvc.
Change-Id: Ie2716e4c15a1bacfb00a8d41ec3283d718af88fc
Marco [Fri, 15 Jan 2016 17:35:41 +0000 (09:35 -0800)]
Vidyo patch: Changes to the scalability code.
Changes to mode selection for 1 pass SVC mode:
use base layer motion vector, changes to intra-prediction.
Change-Id: I3e883aa04db521cfa026a0b12c9478ea35a344c9
Scott LaVarnway [Wed, 20 Jan 2016 12:19:27 +0000 (12:19 +0000)]
Merge "VP9: Eliminate MB_MODE_INFO"
James Zern [Wed, 20 Jan 2016 02:27:29 +0000 (02:27 +0000)]
Merge "Use input framerate as timebase if none was explicitly specified."
Yunqing Wang [Wed, 20 Jan 2016 01:51:37 +0000 (01:51 +0000)]
Merge "Amend and improve VP8 multithreading implementation"
Scott LaVarnway [Wed, 20 Jan 2016 00:40:20 +0000 (16:40 -0800)]
VP9: Eliminate MB_MODE_INFO
Change-Id: Ifa607dd2bb366ce09fa16dfcad3cc45a2440c185
Alex Converse [Tue, 19 Jan 2016 20:04:28 +0000 (20:04 +0000)]
Merge "Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens"
Ronald S. Bultje [Mon, 18 Jan 2016 19:03:45 +0000 (14:03 -0500)]
Use input framerate as timebase if none was explicitly specified.
After patch:
$ vpxenc tennis_sif.y4m --end-usage=q -q 20 -o x.ivf --ivf --codec=vp9 --limit=30
$ ffmpeg -i x.ivf -i tennis_sif.y4m -lavfi psnr -f null -
[..]
[Parsed_psnr_0 @ 0x7f8913c21e40] PSNR y:43.270594 u:46.300362 v:47.011172 average:44.097994 min:43.460704 max:52.509271
Before patch:
$ vpxenc tennis_sif.y4m --end-usage=q -q 20 -o x.ivf --ivf --codec=vp9 --limit=30
$ ffmpeg -i x.ivf -i tennis_sif.y4m -lavfi psnr -f null -
[..]
[Parsed_psnr_0 @ 0x7fbdaac22780] PSNR y:27.427366 u:41.505376 v:36.853477 average:28.990890 min:22.219454 max:52.509271
$ ffmpeg -i x.ivf -f rawvideo x.yuv
$ ffmpeg -f rawvideo -vcodec rawvideo -video_size 352x240 -framerate 29.97 -i x.yuv -i tennis_sif.y4m -lavfi psnr -f null -
[..]
[Parsed_psnr_0 @ 0x7fadf9e013a0] PSNR y:43.270594 u:46.300362 v:47.011172 average:44.097994 min:43.460704 max:52.509271
Change-Id: Ifac2d6c2ff8379b2d318fe5cfe4be0bf1bc9f27f
Alex Converse [Fri, 15 Jan 2016 22:32:52 +0000 (14:32 -0800)]
Tie the bit cost scale to a define.
This is a pure-refactor in preparation to potentially raise the bit-cost
resolution.
Verified at good speed 0 and rt speed -6.
Change-Id: I5347e6e8c28a9ad9dd0aae1d76a3d0f3c2335bb9
Marco [Fri, 15 Jan 2016 23:02:09 +0000 (15:02 -0800)]
vp9-denoiser: Set motion threshold for skin_map to 0.
More aggresive on avoiding denoising on skin.
May supplement this later by adding condtion onn consec_zeromv.
Change-Id: Ied92b332f9b24e821d2009f81d1565758588d9a5
Alex Converse [Fri, 15 Jan 2016 21:55:29 +0000 (13:55 -0800)]
Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens
Change-Id: I9c383d604dfd240e38b198ac5bf86ddd3456f442
Debargha Mukherjee [Thu, 14 Jan 2016 16:13:56 +0000 (16:13 +0000)]
Merge "Adding an aq mode for 360 videos"
Scott LaVarnway [Thu, 14 Jan 2016 13:36:40 +0000 (13:36 +0000)]
Merge "VP9: inline vp9_use_mv_hp()"
Scott LaVarnway [Thu, 14 Jan 2016 13:30:30 +0000 (13:30 +0000)]
Merge "VP9: Remove decoder args from find_mv_refs_idx()"
James Zern [Thu, 14 Jan 2016 04:13:24 +0000 (04:13 +0000)]
Merge changes I6998e15f,I88891d9f
* changes:
Remove unused POSIX_MMAP references
Remove unused stdint.h check
Yaowu Xu [Thu, 14 Jan 2016 01:27:17 +0000 (17:27 -0800)]
Properly set segmentation for error-resilient mode
Change-Id: I0c85b637e51dc949a4e919f10a78870f23c2ca6a
Debargha Mukherjee [Wed, 16 Dec 2015 23:34:07 +0000 (15:34 -0800)]
Adding an aq mode for 360 videos
Different quality levels are used for different regions in
the frame depending on how far they are vertically from the
center. Specifically, three segments are used based on the
mi_row index with respect number to the number of mi_rows in
the frame.
Change-Id: Ifc8b777bc58ea8521dffc4640360c67d99f8d381
Alex Converse [Wed, 13 Jan 2016 21:51:23 +0000 (21:51 +0000)]
Merge "Revert "Merge "Change highbd variance rounding to prevent negative variance."""
Scott LaVarnway [Wed, 13 Jan 2016 21:30:40 +0000 (13:30 -0800)]
VP9: Remove decoder args from find_mv_refs_idx()
The decoder does not use this function.
Change-Id: Ie67f909c0f4108ef286789c70df867d4b960a780
Yaowu Xu [Wed, 13 Jan 2016 21:07:53 +0000 (21:07 +0000)]
Merge "Fix encoder crashes and enc/dec mismatches"
Alex Converse [Wed, 13 Jan 2016 19:18:19 +0000 (11:18 -0800)]
Revert "Merge "Change highbd variance rounding to prevent negative variance.""
This reverts commit
ea48370a500537906d62544ca4ed75301d79e772 , reversing
changes made to
15939cb2d76c773950cda40988ede89e111872ea .
The commit was insufficiently tested and causes failures.
Change-Id: I623d6fc2cd3ae6fd42d0abab1f8eada465ae57a7
Yaowu Xu [Tue, 12 Jan 2016 17:47:07 +0000 (09:47 -0800)]
Fix encoder crashes and enc/dec mismatches
This commit adds the logic for segmentation map initialization and
disable temporal update of segmentation map when error-resilient
mode is on. It fixes the enc/dec mistmates (release build) and
assertions(debug) when both aq-mode and error-resilient are on.
Change-Id: Id2155e8b28962cf1f64494f4df0c8d79499b6890
Scott LaVarnway [Wed, 13 Jan 2016 16:02:05 +0000 (08:02 -0800)]
VP9: inline vp9_use_mv_hp()
Change-Id: Ib275bfc4c29c572d6c70e5ec6dbfc241590d3e3e
Alex Converse [Wed, 13 Jan 2016 00:25:54 +0000 (00:25 +0000)]
Merge "Change highbd variance rounding to prevent negative variance."
Scott LaVarnway [Tue, 12 Jan 2016 20:00:59 +0000 (20:00 +0000)]
Merge "VP9: Eliminate unnecessary nearest/near searches"
Scott LaVarnway [Tue, 12 Jan 2016 13:09:06 +0000 (05:09 -0800)]
VP9: Eliminate unnecessary nearest/near searches
Prior to this patch, read_inter_block_mode_info() would
find the nearmv and nearestmv for all modes. Now it does not
search for ZEROMV modes and breaks out early for NEARMV and
NEWMV modes.
Change-Id: Ifa7b1eaf58bb03b9c7792ea5012fef477527d0fd
Debargha Mukherjee [Fri, 8 Jan 2016 20:01:51 +0000 (12:01 -0800)]
Remove experimental flag for ext_tx
Also includes a bug fix.
Change-Id: Ia49ed00f8ffd1531c10bcf89b1f497310ee7cb82
Debargha Mukherjee [Fri, 8 Jan 2016 20:02:41 +0000 (20:02 +0000)]
Merge "Modifies inter/intra coding to allow all tx types"
Yunqing Wang [Thu, 7 Jan 2016 02:27:37 +0000 (18:27 -0800)]
Amend and improve VP8 multithreading implementation
There are flaws in current implementation of VP8 multithreading encoder
and decoder as reported in the following issue:
https://code.google.com/p/chromium/issues/detail?id=158922
Although the data race warnings are harmless, and wouldn't cause real
problems while encoding and decoding videos, it is better to fix the
warnings so that VP8 code could pass the TSan test.
To synchronize the thread-shared data access and maintain the speed
(i.e. decoding speed), use multiple mutexes based on mb_rows to reduce
the number of synchronizations needed, make the reads and writes of
the shared data protected, and reduce the number of mb_col writes by
nsync times.
The decoder speed tests showed < 3% speed loss while using 2 ~ 4
threads.
Change-Id: Ie296defffcd86a693188b668270d811964227882
Debargha Mukherjee [Wed, 6 Jan 2016 19:24:57 +0000 (11:24 -0800)]
Modifies inter/intra coding to allow all tx types
The nominal tx_type for a given mode is used as a context
to encode the actual tx_type for intra.
Results:
derflr: -0.241% BDRATE
hevcmr: -0.366% BDRATE
Change-Id: Icfe7b0a58d79bc6497a06e3441779afec6e01e21
James Zern [Fri, 8 Jan 2016 02:32:38 +0000 (02:32 +0000)]
Merge "Update IMAGE_ABI_VERSION which wasn't updated after color_range enum was introduced."
Yaowu Xu [Thu, 7 Jan 2016 23:00:00 +0000 (23:00 +0000)]
Merge "Enable encoder to avoid 8x4 or 4x8 partitions"
Yaowu Xu [Thu, 7 Jan 2016 20:26:09 +0000 (20:26 +0000)]
Merge "Fix a typo"
Yaowu Xu [Thu, 7 Jan 2016 17:43:26 +0000 (09:43 -0800)]
Enable encoder to avoid 8x4 or 4x8 partitions
This commit enables encoder to avoid 8x4 and 4x8 partitions for
scaled reference frames when libvpx is configured and built with
--enable-better-hw-compatibility
Change-Id: I02ad65c386f5855f4325d72570c49164ed52f413
Yaowu Xu [Thu, 7 Jan 2016 17:29:34 +0000 (09:29 -0800)]
Fix a typo
Change-Id: I12de2dd5e5f375551804166188d76a9ad8067b41
Marco [Wed, 6 Jan 2016 19:30:02 +0000 (11:30 -0800)]
vp9-svc: Fix to avoid msan unitialized value.
Move the logic for forcing zero_mode after the
(ref_frame & flag_list) check.
This was causing an memory leak under msan:
https://bugs.chromium.org/p/webrtc/issues/detail?id=5402
Change-Id: Ie9d243369f8ed7c332f46178275945331da4fd85
Yaowu Xu [Tue, 5 Jan 2016 02:24:18 +0000 (18:24 -0800)]
Assert no mv clamping for scaled references
Under --enable-better-hw-compabibility, this commit adds the asserts
that no mv clamping is applied for scaled references, so when built
with this configure option, decoder will assert if an input bitstream
triggger mv clamping for scaled reference frames.
Change-Id: I786e86a2bbbfb5bc2d2b706a31b0ffa8fe2eb0cb
Yaowu Xu [Tue, 5 Jan 2016 20:35:46 +0000 (20:35 +0000)]
Merge "Assert no 8x4/4x8 partition for scaled references"
Marco Paniconi [Tue, 5 Jan 2016 16:56:54 +0000 (16:56 +0000)]
Merge "vp9-skin detection: Refactoring."
Yaowu Xu [Thu, 3 Dec 2015 01:00:26 +0000 (17:00 -0800)]
Assert no 8x4/4x8 partition for scaled references
This commit adds a new configure option:
--enable-better-hw-compatibility
The purpose of the configure option is to provide information on known
hardware decoder implementation bugs, so encoder implementers may
choose to implement their encoders in a way to avoid triggering these
decoder bugs.
The WebM team were made aware of that a number of hardware decoders
have trouble in handling the combination of scaled frame reference
frame and 8x4 or 4x8 partitions. This commit added asserts to vp9
decoder, so when built with above configure option, the decoder can
assert if an input bitstream triggers such decoder bug.
Change-Id: I386204cfa80ed16b50ebde57f886121ed76200bf
Yaowu Xu [Tue, 5 Jan 2016 02:29:05 +0000 (02:29 +0000)]
Merge "vp10: only assume ONLY_4X4 if segmentation is disabled."
Yaowu Xu [Tue, 5 Jan 2016 02:28:58 +0000 (02:28 +0000)]
Merge "vp10: skip coding of txsz for lossless-segment blocks."
Marco [Tue, 5 Jan 2016 00:48:15 +0000 (16:48 -0800)]
vp9-skin detection: Refactoring.
Add function to compute skin map for a given block, as its
used in several places (cyclic refresh, noise estimation, and denoising).
Change-Id: Ied622908df43b6927f7fafc6c019d1867f2a24eb
Marco [Mon, 4 Jan 2016 20:19:56 +0000 (12:19 -0800)]
vp9-svc: Set initial values for ext_buffer/flag indices.
Set initial values for these parameters in the vp9_init_layer_context().
This also fixes an issue in the svc-bypass mode when frame flags are
passed via the vpx_codec_encode().
Change-Id: I0968f04672f8d3d2fe2cea6b8a23f79f80d7a8b1
Ronald S. Bultje [Mon, 4 Jan 2016 20:13:29 +0000 (15:13 -0500)]
vp10: only assume ONLY_4X4 if segmentation is disabled.
Otherwise, per-segment lossless might mean that some segments are not
lossless and they could still want to use another mode. The per-block
tx points remain uncoded on blocks where (per the segment id) the Q
value implies lossless.
Change-Id: If210206ab1fe3dd11976797370c77f961f13dfa0
Ronald S. Bultje [Mon, 4 Jan 2016 20:20:50 +0000 (15:20 -0500)]
vp10: skip coding of txsz for lossless-segment blocks.
Change-Id: Ic23c10b6d2a9fed3abe69c6bf10e910832444f2c
Sasi Inguva [Mon, 4 Jan 2016 19:56:56 +0000 (11:56 -0800)]
Update IMAGE_ABI_VERSION which wasn't updated after color_range enum was introduced.
Change-Id: I83703851f65f93573ebf7d2c0d0f056ba879c07a
Jian Zhou [Mon, 28 Dec 2015 18:17:03 +0000 (18:17 +0000)]
Merge "Code clean of highbd_tm_predictor_32x32"
Jian Zhou [Mon, 28 Dec 2015 18:16:13 +0000 (18:16 +0000)]
Merge changes I0139f8e9,I7d2545fc
* changes:
Code clean of highbd_tm_predictor_16x16
Code clean of highbd_dc_predictor_32x32