Age | Commit message (Collapse) | Author |
|
Account for dropped frame, and change resolution threshold
for limiting split below 16x16.
Change-Id: If94cfb2bc24d9103332d1c8d945daca8899db33d
|
|
|
|
|
|
Refactor define_gf_group_structure() to unify the single-layer,
multi-layer ARF, and GF only GOP structure setup.
Change-Id: Iebbe9c3742fc58ae4e77b1072ebecb3ee7bd26b2
|
|
|
|
Encode the next frame at max q.
For layers: post_encode_drop is only check on base
spatial layer, and if base is post-encoded-dropped,
then whole superframe is dropped.
Added API to guard postencode dropping. Turned off by default.
Added unittest.
BUG=b/112990050
Change-Id: I42fee279014aca616f7a4d9b582cb2bf5da2f2e7
|
|
Increase search area, use NSTEP, and in some cases avoid
bsize below 16x16. This for base spatial layer when many blocks
in the frame have motion (from scene detection analysis).
Improves quality for scrolling motion.
Change-Id: If77b43e738a6c43610d4727a95712667088db564
|
|
|
|
|
|
|
|
|
|
|
|
Address poor key frame detection in some content.
This patch improves on poor key frame / scene cut detection observed
with some test content. The content in question was letter boxed film
style material and also had quite low contrast. For both 1080P and 4K
multiple genuine scene cuts were being missed.
The changes alter the conditions for marking a transition as a "flash" rather
than a scene change. The new code still deals well with genuine flashes as
observed in the "crew" test clip, without falsely flagging some of the
the scene cuts in the "film" test clip.
The new film test clip also had some "flash" frames caused by a lightning
effect and in one case a flash occurred right before a scene change. This
caused a misplacement of the key frame but has been addressed by a new
clause that requires the coded error for the next frame after a candidate
key frame to be lower than the current frame.
The patch also changes the way in which neutral blocks (similar inter and
inter error) are handled in the candidate key frame decision in a way which
hopefully handles the letter boxed format better.
During wider testing some film clips still had missed key frames but this
patch does improve things. In the case of the initial test clip the encoder
correctly marks all 3 scene cuts vs 0 before the patch.
Testing with our standard (mainly short single kf) derf and NF test clips
is neutral.
Change-Id: I3b7dcfe7b2fb13fd0816ea46acc3e69c8bc581b3
|
|
|
|
Track the effective maximum layer depth in a given group of
pictures. Keep it in the GF_GROUP data structure.
Change-Id: If777c4e0f4a871c7226a91e3871f445e92f18b24
|
|
The previous value was set off by 1. Use the correct value.
Change-Id: I1ce53cc99063ce31e7ab1c43c6e444cb9a1972db
|
|
Make it a standalone operation unit. Refactor to cut off unnecessary
dependency between define_gf_group_structure() and
allocate_gf_group_bits().
Change-Id: I954fd4e96152471a994f2ffd38a72061ab517ddd
|
|
Found with clang-tidy. This value is unused in libvpx.
There is an existing test which ensures this is not used:
test/encode_api_test.cc:
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
vpx_codec_enc_config_default(kCodecs[i], &cfg, 1));
Change-Id: I94bd0663c6652b4267204c02c3921972c854d0b0
|
|
The functionality has been covered in the above
set_gf_overlay_frame_type() call.
Change-Id: Id4049cd9a1a5a9bad7ea62c412fcb557afa9a572
|
|
Make the maximum layer depth allowed a control parameter in
GF_GROUP. No coding stats would change.
Change-Id: I9d17167da322831e7013d761980e1c16375a161b
|
|
|
|
Change-Id: Ibec078c80ca1dfe6fbbc4288db89d719dac453a7
|
|
BUG=webm:1444
Change-Id: I6823635eb1a99c3fcca0a8f091878e3ab2fdd2ac
|
|
BUG=webm:1444
Change-Id: I9c7c0a4161aaf52436bd5c01d30b035b2ff5508c
|
|
BUG=webm:1444
Change-Id: I1a14ad119b3bcbaddcf2291a7521513cf6425635
|
|
|
|
Space the quantization parameter distribution according to the
layer depth for multi-layer ARF coding structure. This allows
lower layers to have relatively smaller quantization parameters
than higher layers. It improves the compression performance
in constant q mode for multi-layer ARF system:
avg PSNR overall PSNR SSIM
lowres -0.33% -0.31% -1.44%
midres -0.29% -0.38% -1.14%
hdres -0.27% -0.49% -1.02%
Change-Id: I9cfe2f27e6c0029c30614970a46de3045840264e
|
|
|
|
|
|
lowres_bd10 midres_bd10
avg_psnr -0.897 -1.261
ovr_psnr -0.975 -1.349
Change-Id: Id54f2c419f4edaa91e89ffea52b4038b1d94e563
|
|
|
|
Change-Id: If5267a8c71113b171b7bddda5b49f0326c4266b8
|
|
Row based multi-thread needs extra memory to store the parsed
co-efficients, partitions and eob. This commit adds memory for the same.
Change-Id: I13fa4a6ada2ec3048bc973e465055b832429388f
|
|
|
|
|
|
|
|
|
|
|
|
Enable temporal dependency model for the base layer ARF. It
improves the multi-layer ARF compression performance (results
are tested in speed 0 vbr mode):
avg PSNR overall PSNR SSIM
lowres -0.40% -0.46% -0.32%
midres -0.59% -0.68% -0.45%
720p -0.55% -0.59% -1.07%
Change-Id: I7790b89ccfb6e61f9b7965f34d348c7440220dd0
|
|
After the frame quantizer estimate run in tpl model, reset the
actual value assigned to the current coding frame. This would
avoid certain frame update flags being overwritten by different
frame types' update.
Change-Id: Idde2ba1108f1f68747b14149b211f882965c99f0
|
|
|
|
Used 8-tap interp filter in temporal filtering to achieve more accurate
motion search result. Using 8-tap sharp gave slight better result than
using 8-tap regular.
Speed 0 borg test showed that
avg_psnr: ovr_psnr: ssim:
hdres: -0.160 -0.157 -0.173
midres: -0.083 -0.061 -0.183
lowres: -0.077 -0.099 -0.204
Speed test didn't see noticeable encoder time changes.
Change-Id: I97dc3c4864b5a5675a6c1e3952799b81eedd7d93
|
|
|
|
The use of show existing frame requries no further operation on
that coding frame. Bypass the corresponding process.
Change-Id: Ia092027a8a543be0ca54c00b4d51e453039712b8
|
|
Properly compute the extended GOP frames' buffer offsets.
Change-Id: I9aed14f4b8d623f1832e782828dce07aa546507d
|
|
Make it support both single- and multi-layer ARF GOP structure.
Change-Id: I760a95804d1b583b057120f6d6be65195a0e6c19
|
|
Change-Id: Iefa184aae80b920b054e3e922a77244c2b0d4b61
|
|
|
|
Update the Lagrangian multiplier according to the gfu_boost factor
assigned per frame. It improves the multi-layer ARF compression
performance (results below shown for speed 0):
avg PSNR overall PSNR SSIM
lowres -0.08% 0.02% -0.28%
midres -0.08% 0.03% -0.22%
hdres -0.19% -0.10% -0.39%
nflx2k -0.29% -0.18% -0.85%
Change-Id: Ifeb4b14918f880ba011ea41c1454ab00504f8855
|
|
|