]> granicus.if.org Git - libvpx/commit
Modified key frame detection.
authorPaul Wilkins <paulwilkins@google.com>
Fri, 26 Oct 2018 11:12:57 +0000 (12:12 +0100)
committerPaul Wilkins <paulwilkins@google.com>
Tue, 6 Nov 2018 15:10:10 +0000 (15:10 +0000)
commita76dcd98ec6a877a39f2b5e66a2927fe16a4baf9
tree1c0ce86b3133cbbbe582c97420a26aee121a6bdc
parent811759d8685095e69c3fa710bacfe59d62dbf831
Modified key frame detection.

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
vp9/encoder/vp9_firstpass.c