Marco Paniconi [Wed, 1 Aug 2018 02:18:47 +0000 (02:18 +0000)]
Merge "vp9: Clamp tx_size in model_rd_large"
Marco Paniconi [Tue, 31 Jul 2018 22:28:58 +0000 (15:28 -0700)]
vp9: Clamp tx_size in model_rd_large
For nonrd_pickmode: add clamp/check to make
sure tx_size is not set to lower than 8X8,
for the model_rd_large function (which is only
called for big block sizes).
No change in behavior.
Change-Id: I9c6093068e406ac16cfd6784ba75868906225378
James Zern [Tue, 31 Jul 2018 22:26:16 +0000 (15:26 -0700)]
vp9: enable tpl model in high-bitdepth w/8-bit output
this keeps the output between CONFIG_VP9_HIGHBITDEPTH=0/1 the same when
targeting 8-bit.
Change-Id: I5290681fdd3e0c1620578e5f804f68010c6dd210
Jerome Jiang [Tue, 31 Jul 2018 19:50:01 +0000 (19:50 +0000)]
Merge "vp9: Disable aq mode for some datarate tests."
Jerome Jiang [Tue, 31 Jul 2018 17:45:50 +0000 (10:45 -0700)]
vp9: Disable aq mode for some datarate tests.
It caused failure on vp9 datarate tests for temporal layers.
Change-Id: Id6e260efa33b3b08070391a91a013efef2706fb5
Marco Paniconi [Tue, 31 Jul 2018 16:33:40 +0000 (09:33 -0700)]
vp9: Remove assert from model_rd in non-rd pickmode.
The assert checks for tx_size >= 8x8, but 4x4 can
be set in some cases.
Change-Id: I8bf9683e1add768becaa1208e1709ad0470e3850
Jingning Han [Tue, 31 Jul 2018 04:11:45 +0000 (04:11 +0000)]
Merge changes Ibafb6157,Ibebced5d
* changes:
Move frame pointer assignment outside block loop in tpl model
Refactor tpl_model_store input parameters
James Zern [Tue, 31 Jul 2018 03:08:55 +0000 (03:08 +0000)]
Merge "test/stress.sh: add --token-parts coverage for vp8"
Marco Paniconi [Tue, 31 Jul 2018 03:06:42 +0000 (03:06 +0000)]
Merge "vp9: Add scene change detection flag to cyclic refresh setup"
Jingning Han [Fri, 27 Jul 2018 18:15:06 +0000 (11:15 -0700)]
Move frame pointer assignment outside block loop in tpl model
Change-Id: Ibafb61577a6293c6ad32bda484a786602afda2e6
Jingning Han [Fri, 27 Jul 2018 17:10:33 +0000 (10:10 -0700)]
Refactor tpl_model_store input parameters
Simplify the pass-in data structure. Use a reference TplDepStats
pointer to replace multiple data sent in.
Change-Id: Ibebced5d7f411d2c4a8a34a9b7eb87453fb78d13
Marco Paniconi [Mon, 30 Jul 2018 21:32:54 +0000 (14:32 -0700)]
vp9: Add scene change detection flag to cyclic refresh setup
Disable cyclic refresh on slide/scene change frame. It was already
disabled on the re-encode for the slide change, but this change
makes sure its always disabled on a detected slide change (which
may not be re-encoded at high Q).
Change-Id: I1195c855bca25985d4d41e5b657adf124e901760
Jingning Han [Tue, 31 Jul 2018 00:57:14 +0000 (00:57 +0000)]
Merge "Use diamond search to build tpl model and arf frames"
Jerome Jiang [Mon, 30 Jul 2018 23:56:06 +0000 (23:56 +0000)]
Merge "Enable aq mode 3 for all datarate tests."
Jerome Jiang [Mon, 30 Jul 2018 23:27:59 +0000 (23:27 +0000)]
Merge "vp8: Fix memory address overflow in decoder."
Jerome Jiang [Mon, 30 Jul 2018 20:07:23 +0000 (13:07 -0700)]
Enable aq mode 3 for all datarate tests.
Change-Id: I4e9c73d6d1d9ea560f04cc37aaf99d58ec2ab551
Jingning Han [Sun, 29 Jul 2018 13:58:13 +0000 (13:58 +0000)]
Merge "Remove unused variables from VP9_COMP"
Martin Storsjo [Sat, 28 Jul 2018 05:02:27 +0000 (08:02 +0300)]
arm: Consistently use unified syntax for asm
The ".syntax unified" directives in a few source files aren't valid
ADS assembly directives, and they break compilation for windows,
since ads2armasm_ms.pl doesn't handle them.
Explicity add them via ads2gas.pl and ads2gas_apple.pl instead,
and tweak one instruction to be valid unified syntax.
Change-Id: I37f1709f163d11474597161fe02eb433859cb9b8
James Zern [Sat, 28 Jul 2018 06:37:38 +0000 (23:37 -0700)]
test/stress.sh: add --token-parts coverage for vp8
Change-Id: I46f39cbc0441d09f5ad0b3887d2372b0be9abd4f
Angie Chiang [Sat, 28 Jul 2018 01:06:58 +0000 (01:06 +0000)]
Merge "Remove an extra vp9_encode_frame call"
Jingning Han [Fri, 27 Jul 2018 22:25:56 +0000 (15:25 -0700)]
Remove unused variables from VP9_COMP
Change-Id: I3bdd44e65b56c7600b9faadd2c117138c3911c14
Jingning Han [Thu, 26 Jul 2018 23:41:55 +0000 (16:41 -0700)]
Use diamond search to build tpl model and arf frames
Use diamond search for full pixel motion estimation to build
the temporal dependency model and the source arf frame. This gives
better full pixel motion estimation accuracy. It improves the
compression performance.
In speed 0,
avg PSNR overall PSNR SSIM
midres -0.32% -0.30% -0.65%
hdres -0.88% -0.91% -1.31%
nflx2k -0.47% -0.48% -0.81%
In speed 1,
avg PSNR overall PSNR SSIM
midres -0.24% -0.28% -0.50%
hdres -0.82% -0.83% -1.18%
nflx2k -0.58% -0.60% -0.89%
The encoding speed change is minor due to the fact that such motion
estimation is triggered once at the beginning of each group of
picture coding.
Change-Id: Ib25c0ff4f7450c85fd7a38d24319bd7ae1b9dac8
Harish Mahendrakar [Fri, 27 Jul 2018 17:48:21 +0000 (17:48 +0000)]
Merge "Add New Neon Assemblies for Motion Compensation"
Angie Chiang [Thu, 26 Jul 2018 21:14:19 +0000 (14:14 -0700)]
Remove an extra vp9_encode_frame call
The coding performances drop slightly in speed 0
lowres 0.021%
midres 0.043%
hdres 0.087%
The speedups in speed 0 are observed as follow
city_cif.y4m 4.5% speedup
pamphlet.y4m 6.9% speedup
Change-Id: I2f6209964ffdf7a93919b79033d8e6f9bc44d824
Jerome Jiang [Fri, 27 Jul 2018 17:31:35 +0000 (17:31 +0000)]
Merge "vp9: release frame buffer on key frame."
Marco Paniconi [Fri, 27 Jul 2018 06:02:34 +0000 (06:02 +0000)]
Merge "vp9: 4x4 tx_size for nonrd-pickmode for screen content"
Marco Paniconi [Thu, 26 Jul 2018 21:06:42 +0000 (14:06 -0700)]
vp9: 4x4 tx_size for nonrd-pickmode for screen content
Force 4x4 transform size under some conditions for real-time
screen-content mode. Improvemet on text in some screen clips.
Change-Id: I77cafa23ea1060ef4334dc07eac53189bf80e0ec
Jerome Jiang [Tue, 17 Jul 2018 00:47:44 +0000 (17:47 -0700)]
vp9: release frame buffer on key frame.
Add tests with corrupted frames and periodic key frames.
BUG=webm:1545
Change-Id: Ic0684bdafd01507036f56465387b9d2187b1458e
Hui Su [Fri, 27 Jul 2018 02:19:58 +0000 (02:19 +0000)]
Merge "Fix multi-thread encoder result test"
Hui Su [Thu, 26 Jul 2018 23:10:08 +0000 (16:10 -0700)]
Fix multi-thread encoder result test
Fix multi-thread encoder result test induced by
the prune_ref_frame_for_rect_partitions speed feature.
BUG=webm:1552
Change-Id: Idc3b3759651f76285ffd90059c6a2846c4d91a00
Venkatarama NG. Avadhani [Mon, 25 Jun 2018 03:23:23 +0000 (08:53 +0530)]
Add New Neon Assemblies for Motion Compensation
Commit adds neon assemblies for motion compensation which show an improvement
over the existing neon code.
Performance Improvement -
Platform Resolution 1 Thread 4 Threads
Nexus 6 720p 12.16% 7.21%
@2.65 GHz 1080p 18.00% 15.28%
Change-Id: Ic0b0412eeb01c8317642b20bb99092c2f5baba37
Tom Finegan [Thu, 26 Jul 2018 20:54:41 +0000 (13:54 -0700)]
Move CONFIG_SIZE_LIMIT check in yv12config.c.
Avoids a C90 compile error.
BUG=webm:1551
Change-Id: Iee0f208de053c2a399aafa015d370c0496878816
Harish Mahendrakar [Thu, 26 Jul 2018 19:57:53 +0000 (19:57 +0000)]
Merge "vpxdec: only call row-mt control for vp9"
Harish Mahendrakar [Wed, 25 Jul 2018 19:46:32 +0000 (12:46 -0700)]
vpxdec: only call row-mt control for vp9
BUG=webm:1549
Change-Id: Ib31b22f0d982e3a7c6a200274582cda7528d1ec9
James Zern [Thu, 26 Jul 2018 05:15:34 +0000 (05:15 +0000)]
Merge "vp9: fix OOB read in decoder_peek_si_internal"
Marco Paniconi [Thu, 26 Jul 2018 04:47:30 +0000 (04:47 +0000)]
Merge "vp9: Modify condition for force test of intra"
Jingning Han [Thu, 26 Jul 2018 03:53:22 +0000 (03:53 +0000)]
Merge "Clean up get_overlap_area function"
Jingning Han [Thu, 26 Jul 2018 03:53:11 +0000 (03:53 +0000)]
Merge "Factor out mode estimation process in tpl model build"
Marco Paniconi [Thu, 26 Jul 2018 00:51:35 +0000 (17:51 -0700)]
vp9: Modify condition for force test of intra
For real-time/nonrd_pickmode: under some conditions
force check of intra modes for flat blocks with motion.
Reduces artifacts for screen-content mode.
Change-Id: If320f41a90982b14c48d91150f59f048a62982b1
Marco Paniconi [Thu, 26 Jul 2018 00:27:24 +0000 (17:27 -0700)]
vp9: Avoid early breakout on slide change
For real-time screen content: don't allow early
breakout in nonrd-pickmode on slide change.
Avoid artifacts.
Change-Id: I09c6927a5d85b46ce059ea5954a3719a7362fb99
James Zern [Wed, 25 Jul 2018 04:36:50 +0000 (21:36 -0700)]
vp9: fix OOB read in decoder_peek_si_internal
Profile 1 or 3 bitstreams may require 11 bytes for the header in the
intra-only case.
Additionally add a check on the bit reader's error handler callback to
ensure it's non-NULL before calling to avoid future regressions.
This has existed since at least (pre-1.4.0):
09bf1d61c Changes hdr for profiles > 1 for intraonly frames
BUG=webm:1543
Change-Id: I23901e6e3a219170e8ea9efecc42af0be2e5c378
Marco Paniconi [Wed, 25 Jul 2018 21:19:41 +0000 (21:19 +0000)]
Merge "Revert "vp9: Adjust reset segment for real-time screen-content""
Hui Su [Wed, 25 Jul 2018 19:29:06 +0000 (19:29 +0000)]
Merge "Fix typos in txfm_rd_in_plane()"
Marco Paniconi [Wed, 25 Jul 2018 18:23:25 +0000 (18:23 +0000)]
Revert "vp9: Adjust reset segment for real-time screen-content"
This reverts commit
d72cd51d83947064ef6354f02b1df59d2d3f1317.
Reason for revert: <INSERT REASONING HERE>
Doesn't seem to really remove the artifact that was the cause for this change. Reverting for now.
Original change's description:
> vp9: Adjust reset segment for real-time screen-content
>
> For real-time screen content mode when the short_circuit
> flat_blocks feauture is enabled: reset segment to 0 for
> coding block if its flat, regardless of temporal source_sad.
> Reduces some artifacts on flat areas.
>
> Change-Id: I9620e424bedc5a13f87cc4f66af7c0e86043c89c
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I83ee9fd75bfb621a4f3e9afbcc07e7c6ca5c51d6
Yaowu Xu [Wed, 25 Jul 2018 17:21:26 +0000 (17:21 +0000)]
Merge "Improve help message for arnr-type"
Jingning Han [Wed, 25 Jul 2018 15:14:43 +0000 (08:14 -0700)]
Clean up get_overlap_area function
Remove unneeded variable definition.
Change-Id: Ifc8097b249acee86301e2040df8d39ecaca5ab17
Scott LaVarnway [Wed, 25 Jul 2018 10:45:46 +0000 (10:45 +0000)]
Merge "VPX: avg_intrin_sse2.c, avg_intrin_avx2.c cleanup"
Paul Wilkins [Wed, 25 Jul 2018 08:23:33 +0000 (08:23 +0000)]
Merge "Limit min Q for normal frames."
Jingning Han [Wed, 25 Jul 2018 05:56:13 +0000 (22:56 -0700)]
Factor out mode estimation process in tpl model build
Use standalone function to process the mode search and rd cost
estimate for a given coding block.
Change-Id: I77cdbded43966c4546e5407ae318129d89d888a4
Marco Paniconi [Wed, 25 Jul 2018 03:55:51 +0000 (03:55 +0000)]
Merge "vp9: Fix to the segment weight for cyclic refresh."
Marco Paniconi [Wed, 25 Jul 2018 03:33:02 +0000 (03:33 +0000)]
Merge "vp9: Modify logic for flat blocks in nonrd-pickmode."
Yaowu Xu [Wed, 25 Jul 2018 00:18:08 +0000 (17:18 -0700)]
Improve help message for arnr-type
BUG=webm:1346
Change-Id: Ia6c1cee3704a6b44515d883b4d0632ac567bc9a2
Hui Su [Tue, 24 Jul 2018 23:55:46 +0000 (16:55 -0700)]
Fix typos in txfm_rd_in_plane()
Change-Id: I1c62e51f5ccd33ff74abc3385410525bcae2fedd
Marco Paniconi [Tue, 24 Jul 2018 18:34:42 +0000 (11:34 -0700)]
vp9: Modify logic for flat blocks in nonrd-pickmode.
For real-time screen content mode: when slide change
is detected, for spatially flat blocks (source_variance = 0) on
the re-encoded frame, skip inter modes (so force intra) if
non-zero temporal variance is detected for the coding block.
Add flag to keep track of re-encoded frame at max Q.
Reduces artifacts on slide change.
Change-Id: I28151f412aba6ab8cb03f30087c7ce16d443654b
Wan-Teh Chang [Tue, 24 Jul 2018 19:14:54 +0000 (12:14 -0700)]
Check size limit in vpx_realloc_frame_buffer.
If CONFIG_SIZE_LIMIT is defined, vpx_realloc_frame_buffer should fail if
width or height is too big.
This carries over commit
ebc2714d71a834fc32a19eef0a81f51fbc47db01 of
libaom: https://aomedia-review.googlesource.com/c/aom/+/65521
Change-Id: Id7645c5cefbe1847714695d41f506ff30ea985f6
Scott LaVarnway [Tue, 24 Jul 2018 12:29:55 +0000 (05:29 -0700)]
VPX: avg_intrin_sse2.c, avg_intrin_avx2.c cleanup
Change-Id: I710b66dc571a6bd38fbcc2528486d5e028a68b37
Scott LaVarnway [Tue, 24 Jul 2018 12:11:37 +0000 (12:11 +0000)]
Merge "VPX: Improve HBD vpx_hadamard_32x32_avx2()"
Paul Wilkins [Tue, 24 Jul 2018 08:56:25 +0000 (09:56 +0100)]
Limit min Q for normal frames.
This patch limits the active min Q for normal frames based on the previous
KF/GF/ARF. In a few cases, especially at the end of a clip where there
has been systemic underspend, (as is often the case with slide shows),
this prevents the encoder rapidly dropping Q on normal frames (just to
try and use up bits), such that they end up with a lower Q than the key
frame / GF / ARF off which they key.
Change-Id: Ic8def5c0d1e37ca2202e007ec1d13e501c0a91dd
Marco Paniconi [Tue, 24 Jul 2018 06:47:54 +0000 (06:47 +0000)]
Merge "vp9: Adjust reset segment for real-time screen-content"
Marco Paniconi [Mon, 23 Jul 2018 23:24:15 +0000 (16:24 -0700)]
vp9: Adjust reset segment for real-time screen-content
For real-time screen content mode when the short_circuit
flat_blocks feauture is enabled: reset segment to 0 for
coding block if its flat, regardless of temporal source_sad.
Reduces some artifacts on flat areas.
Change-Id: I9620e424bedc5a13f87cc4f66af7c0e86043c89c
Hui Su [Tue, 24 Jul 2018 02:41:25 +0000 (02:41 +0000)]
Merge "Add prune_ref_frame_for_rect_partitions feature"
Jingning Han [Tue, 24 Jul 2018 02:36:37 +0000 (02:36 +0000)]
Merge "Pass in block size for motion search function"
Jingning Han [Tue, 24 Jul 2018 02:36:27 +0000 (02:36 +0000)]
Merge "Make the tpl model update operated in 8x8 block unit"
Jingning Han [Tue, 24 Jul 2018 02:36:22 +0000 (02:36 +0000)]
Merge "Refactor overlap area computation"
Jingning Han [Tue, 24 Jul 2018 02:36:15 +0000 (02:36 +0000)]
Merge "Map coding block size to transform block size"
Jingning Han [Tue, 24 Jul 2018 02:36:10 +0000 (02:36 +0000)]
Merge "Refactor tpl model update function"
Jingning Han [Tue, 24 Jul 2018 02:36:04 +0000 (02:36 +0000)]
Merge "Scale the distortion mectric with tx size"
Scott LaVarnway [Mon, 23 Jul 2018 21:18:52 +0000 (14:18 -0700)]
VPX: Improve HBD vpx_hadamard_32x32_avx2()
~14% improvement.
BUG=webm:1546
Change-Id: I0b25f62f053e13c2185e4e8bd54e52250251efd0
Jingning Han [Mon, 23 Jul 2018 21:30:22 +0000 (14:30 -0700)]
Pass in block size for motion search function
Use parameter block size to control the motion estimation function
in tpl model building.
Change-Id: I4d9ec28aa15d0fb51a94aacd9bd50810add7ce29
Jingning Han [Mon, 23 Jul 2018 06:00:39 +0000 (23:00 -0700)]
Make the tpl model update operated in 8x8 block unit
Store and update the temporal dependency model in the unit of
8x8 block.
Change-Id: Ic580495242b51db9beaf38dae67968cbd212be4d
Scott LaVarnway [Mon, 23 Jul 2018 21:09:38 +0000 (21:09 +0000)]
Merge "VPX: Add vpx_hadamard_32x32_avx2"
Jingning Han [Mon, 23 Jul 2018 21:02:29 +0000 (14:02 -0700)]
Refactor overlap area computation
Account for the variable operating block sizes.
Change-Id: I4eac4d0b84cf55fbf5c693007c991afe6171ca6a
Scott LaVarnway [Mon, 23 Jul 2018 15:12:19 +0000 (08:12 -0700)]
VPX: Add vpx_hadamard_32x32_avx2
BUG=webm:1546
Change-Id: I64629ed83cb7acd0f2ac49b9c31f369d17a1aed2
Hui Su [Fri, 20 Jul 2018 22:29:14 +0000 (15:29 -0700)]
Add prune_ref_frame_for_rect_partitions feature
Add a speed feature to prune reference frames for rectangular
partitions. Rectangular partition RD search happens after square
partition RD search. With this feature, we keep record of the ref
frames picked by square partitions, and only consider those ref
frames during rect partition RD search.
With this feature on, the computation cost of rect partition RD
search is greatly reduced, so we can afford to skip rect partition
RD search less aggressively.
Overall, both compression and encoding speed are improved. Only
speed 0 is affected.
Coding gains:
lowres midres hdres
ovr psnr 0.00% -0.36% -0.37%
avg psnr 0.00% -0.36% -0.36%
Tested encoding speed with QP=40 on about 30 sequences.
Speed gains:
lowres midres hdres
average 13.4% 7.1% 6.1%
max 28.0% 12.0% 9.8%
Change-Id: Id5f36dd2ac75028ae98550d67b0a524aa251b692
Paul Wilkins [Mon, 23 Jul 2018 13:50:57 +0000 (13:50 +0000)]
Merge "Fixed "MAX" boost for static kf sections."
Paul Wilkins [Mon, 23 Jul 2018 13:50:51 +0000 (13:50 +0000)]
Merge "Fix issue with short static KF groups."
Paul Wilkins [Mon, 23 Jul 2018 13:50:44 +0000 (13:50 +0000)]
Merge "Limit Max GF boost for slide shows"
Paul Wilkins [Mon, 23 Jul 2018 13:50:34 +0000 (13:50 +0000)]
Merge "Tweaks to determination of slide show groups."
Paul Wilkins [Mon, 23 Jul 2018 13:50:13 +0000 (13:50 +0000)]
Merge "Improved coding on slide show content."
Scott LaVarnway [Sun, 22 Jul 2018 23:10:12 +0000 (23:10 +0000)]
Merge "VPX: Add vpx_hadamard_32x32_sse2"
Scott LaVarnway [Sun, 22 Jul 2018 23:09:42 +0000 (23:09 +0000)]
Merge "VPX: Improve HBD vpx_hadamard_16x16_sse2()"
Jingning Han [Sun, 22 Jul 2018 14:32:58 +0000 (07:32 -0700)]
Map coding block size to transform block size
Change-Id: I89e18262a2736c0e86f7c30513179806a926827e
Jingning Han [Sun, 22 Jul 2018 04:49:42 +0000 (21:49 -0700)]
Refactor tpl model update function
Fill up all the blocks inside an operating unit with the provided
statistics.
Change-Id: I93556e0daf9f08cbe62d3c12cf38b5e26ad7c799
Jingning Han [Sat, 21 Jul 2018 23:04:34 +0000 (16:04 -0700)]
Scale the distortion mectric with tx size
Properly scale the distortion metric according to the tranfer
function gain of the transform block size.
Change-Id: I8e3539d8936f5db78c1352f902f72ef19fc09ed8
Jingning Han [Sun, 22 Jul 2018 14:32:52 +0000 (14:32 +0000)]
Merge "Replace hard coded numbers in tpl model"
Scott LaVarnway [Fri, 20 Jul 2018 14:23:11 +0000 (07:23 -0700)]
VPX: Add vpx_hadamard_32x32_sse2
BUG=webm:1546
Change-Id: Ide5828b890c5c27cfcca2d5e318a914f7cde1158
Harish Mahendrakar [Sat, 21 Jul 2018 00:42:56 +0000 (00:42 +0000)]
Merge "Add Flag to Enable Row Based MultiThreading"
Venkatarama NG. Avadhani [Thu, 5 Jul 2018 08:19:04 +0000 (13:49 +0530)]
Add Flag to Enable Row Based MultiThreading
This commit adds a command line argument "--row-mt". Passing "--row-mt=1" will
set the row_mt flag in the decoder context. This flag will be used to
determine whether row-wise multi-threading path is to be taken when the
row-wise multi-threading functions are added.
Change-Id: I35a5393a2720254437daa5e796630709049e0bc2
Jingning Han [Fri, 20 Jul 2018 16:42:44 +0000 (09:42 -0700)]
Replace hard coded numbers in tpl model
Change-Id: I1adedfccf9aa874d0980f1181066b3682614a8cb
Scott LaVarnway [Fri, 20 Jul 2018 16:17:13 +0000 (09:17 -0700)]
VPX: Call vpx_hadamard_16x16_c() in vpx_hadamard_32x32_c()
instead of vpx_hadamard_16x16().
Change-Id: Ie16aacad39d7f429e282dd4c93e57c07000d0f29
Paul Wilkins [Fri, 20 Jul 2018 13:15:42 +0000 (14:15 +0100)]
Fixed "MAX" boost for static kf sections.
Apply a fixed maximum boost for static key frame
groups / slide show content (if > 8 frames long).
This insures sufficient boost on shorter sections
whilst preventing excessive boost on longer sections.
Change-Id: I5b857dab023d674cfd55bced3437f3bce3b4f1cb
Paul Wilkins [Fri, 20 Jul 2018 12:12:34 +0000 (13:12 +0100)]
Fix issue with short static KF groups.
Where a KF group is very short but static make sure
it is coded as a single GF group. Previously there was a
bug where such groups could be coded as an arf group
with the arf in the next scene.
Change-Id: I4504ae2b03c4877fcecfa58dd503879aa4eefac4
Paul Wilkins [Tue, 17 Jul 2018 13:48:02 +0000 (14:48 +0100)]
Limit Max GF boost for slide shows
Set an upper limit on the maximum boost for a static
GF only group such as in slide shows as part of tweaks
to quality / rate trade off.
Change-Id: Ic72575328419cdcf82ad3a20a1d9b947538c25c6
Paul Wilkins [Mon, 16 Jul 2018 16:42:00 +0000 (17:42 +0100)]
Tweaks to determination of slide show groups.
Slight adjustment to rules for defining static groups.
Adjustment of small bias towards 0,0 motion in first pass.
Change-Id: Id1d3753979ad54622f983f4de08472738317ec8e
Paul Wilkins [Wed, 20 Jun 2018 16:21:49 +0000 (17:21 +0100)]
Improved coding on slide show content.
This patch adds in detection of slide show content and allows
for coding of long GF only groups up to a length of 240 frames rather
than coding a large number of shorter ARF groups that gradually
lower the Q.
In test samples this patch gave rise to a substantial improvement in
overall psnr and a drop in data rate. In some cases the average psnr
fell, however, with the boost and minQ values set as they are.
This is to be expected because average psnr is dominated by the
best frames in the sequence and previously a relatively poor key frame
could be followed by progressively better alt refs. For example a key
frame at q7.5 but subsequent alt refs improving it to lossless.
For slides displayed for several seconds, savings of >= 20% (or
commensurate quality gains) are likely.
This patch allows for long GF groups in static sections before and after
complex transitions (e.g. fades) with one or more normal ARF groups
during the transition. However, it enforces a single "normal" length
GF group after the transition before any extended group is allowed.
The reason for this is that the ARF that spans the transition my not have
a very high quality and hence may not be a good GF for the long static
section that follows.
Change-Id: I66cc404c3b85e87dae9829b49d9d631cbf04e037
Scott LaVarnway [Fri, 20 Jul 2018 10:50:49 +0000 (03:50 -0700)]
VPX: Improve HBD vpx_hadamard_16x16_sse2()
~12% improvement.
Change-Id: Ieca4d870a4c1c5ea2c689e27fc4550fcbab9f867
Scott LaVarnway [Fri, 20 Jul 2018 10:48:56 +0000 (10:48 +0000)]
Merge "VPX: Add Hadamard32x32Test"
Jingning Han [Thu, 19 Jul 2018 20:02:19 +0000 (20:02 +0000)]
Merge "Refactor transform calls in tpl model build"
Jerome Jiang [Tue, 19 Jun 2018 00:22:44 +0000 (17:22 -0700)]
vp8: Fix memory address overflow in decoder.
Ref frame buffer is corrupted but it's not checked before it's used to
compute the reconstructed previous frame buffer.
BUG=webm:1496
Change-Id: Ief0e85b91b19576632685d17c8176c8d29158028
Scott LaVarnway [Tue, 17 Jul 2018 21:09:43 +0000 (14:09 -0700)]
VPX: Add Hadamard32x32Test
Change-Id: Idad619e963cb2f9bf8c62acac0e061639ec7e0b4