New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: failure to take screenshot with hwdec=vaapi #5240

Closed
kevmitch opened this Issue Dec 15, 2017 · 4 comments

Comments

Projects
None yet
4 participants
@kevmitch
Member

kevmitch commented Dec 15, 2017

mpv version and platform

mpv 0.27.0-534-g522bfe5be1
ffmpeg 2d131fc31
libva1 1.8.3-1
Intel Ivy Bridge

Reproduction steps

mpv <file> --hwdec=vaapi
press s for screen shot

Expected behavior

png screenshot taken

Actual behavior

[ffmpeg] AVHWFramesContext: Failed to read image from surface 0x400002b: 16 (surface is in use).
Taking screenshot failed.

Log file

log

Bisect

first bad commit 522bfe5 (vo_gpu: don't re-render hwdec frames when repeating frames)

@jeeb

This comment has been minimized.

Member

jeeb commented Dec 15, 2017

I guess you mean 5261d1b for the bad commit.

@kevmitch

This comment has been minimized.

Member

kevmitch commented Dec 15, 2017

I guess you mean 5261d1b for the bad commit.

ugh, yes

@grantwwu

This comment has been minimized.

grantwwu commented Feb 5, 2018

I have also observed this bug.

@wm4

This comment has been minimized.

Contributor

wm4 commented Feb 8, 2018

Not sure why this happens, when it apparently never happened with our old vaapi code. I don't think we try to access the image while it's written to, but surely it can happen while it's read from (like being used as reference frame during decoding, or when being displayed via GL). But surely, doing read accesses while it's used for other read accesses, it should work.

@fhvwy any ideas or comments?

Do we need some nonsense like staging surfaces, and could the libavutil code do this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment