Open Bug 1299759 Opened 9 years ago Updated 3 years ago

Seeking to end of mp4 video shows partial frame

Categories

(Core :: Audio/Video: Playback, defect, P3)

49 Branch
x86_64
Windows
defect

Tracking

()

People

(Reporter: nicolas.ramz, Unassigned)

References

()

Details

(Keywords: reproducible)

Attachments

(3 files)

Attached image Last frame is cut.
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Steps to reproduce: Open http://www.warpdesign.fr/tests/firefox/mp4.html which simply loads a page with a video tag and attempts to seek to the end of the video using JavaScript Actual results: The frame displayed is truncated (bottom of image is black). Note that if I open the video and let it play until the end there is no problem. Expected results: Frame should be correctly displayed.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
Confirmed on Nightly [64bit] on Win7 [64bit]. There are also some artifacts at the right bottom.
Severity: normal → major
Status: UNCONFIRMED → NEW
Component: Audio/Video → Audio/Video: Playback
Ever confirmed: true
Keywords: reproducible
OS: Windows 10 → Windows
Attached image bug.png
MPC-HC with LAV Filters plays this file without any issues.
I can reproduce it on Windows 10.
Reproducible with D3D11 DXVA but not with software decoding.
I think the last frame is actually corrupt. When I go ffplay reports: [h264 @ 0x7fe58413d3e0] AVC: Consumed only 312073 bytes instead of 312077
I too believe that the last frame is corrupted. not sure there's anything we can do to fix it.
Severity: major → normal
Priority: P1 → P3
How do you use ffmpeg to have this report ? (any special command line parameters ?)
Also: why does the problem only appear while seeking by hand to the end, and not when playing the video until the end ? There must be something that skips partial frames when playing the video: shouldn't the behavior be the same when seeking ?
(In reply to nicolas.ramz from comment #10) > Also: why does the problem only appear while seeking by hand to the end, and > not when playing the video until the end ? how the decoder behaves when decoding less than a full GOP depends on the platform. It also depends where your keyframe is. The WMF decoder doesn't handle decoding a single frame well for example. Unfortunately, we are at the mercy on how the decoder behaves, and we have no control over those. That's why on linux or mac you don't see that problem > > There must be something that skips partial frames when playing the video: > shouldn't the behavior be the same when seeking ? The WMF decoder will not output anything until it has seen about 30 frames, regardless of the h264 sliding window. However, when you seek to the end, we go find the last keyframe and feed the decoder all the frames to the end and ask it to drain. Within the WMF decoder itself, how it will behave depends on the graphic card used and if the decoding is done in hardware or not. As to how to see the error message, simply play the file with ffplay. playing it from the beginning or seeking make no difference there. you will see the error message.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: