Skip to content
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

Fix VAAPI post-processing of PAFF video #15830

Merged
merged 7 commits into from Apr 5, 2019

Conversation

@pkerling
Copy link
Member

commented Mar 28, 2019

Fix PAFF video deinterlacing by not automatically switching the post-processor to the NONE method when an interlaced frame has been encountered before.

@yasij Please test

Commits for dead code removal and more useful error messages included but separate.

pkerling added some commits Mar 28, 2019

[vaapi] Remove texture bit guessing
This information is not actually used anywhere and it is unclear what
the purpose of reading GL_IMPLEMENTATION_COLOR_READ_FORMAT is in the
first place. Plus it has caused warnings to be issued now when the EGL
context has 10 bits of precision per color channel.
[vaapi] Remove superfluous logic from ffmpeg postproc
COutput::InitCycle is making sure that settings are observed. There is
nothing to do in this function actually as a change of the deinterlace
method currently requires a reinitialization of CFFmpegPostproc.
[vaapi] Remove filter_flags setting in vpp
This is not used, according to the API documentation a deinterlace
filter always overrides toplevel filter_flags anyway.
[vaapi] Support running progressive frames through the vpp deinterlacer
PAFF video requires to run all frames through the deinterlace filter
even if they are progressive. In that case, do not set any field flags
and only run one postprocessing step, producing one output picture.
[vaapi] Always deinterlace when an interlaced frame was encountered once
PAFF video requires to run all frames through the deinterlacing filter
even if they are stored progressive.
After one interlaced frame was seen by the output, do not automatically
set the deinterlace method to NONE which would skip the filter.
Still, deinterlacing must be switched off if the user requests it.

Fixes #15817
@yasij

This comment has been minimized.

Copy link
Contributor

commented Mar 29, 2019

I tested with both iHD and i965. It's working well. Thanks.

@fritsch
Copy link
Member

left a comment

Fine with me

@fritsch

fritsch approved these changes Apr 3, 2019

@pkerling

This comment has been minimized.

Copy link
Member Author

commented Apr 3, 2019

@FernetMenta any comments before I merge?

@fritsch

This comment has been minimized.

Copy link
Member

commented Apr 5, 2019

I am pushing now - as we all want to have feedback in upcoming 18.2-RC1. Bugs, design flaws can still be fixed.

@fritsch fritsch merged commit 6d967eb into xbmc:master Apr 5, 2019

1 check passed

default You're awesome. Have a cookie
Details

@Rechi Rechi added this to the Leia 18.2-rc1 milestone Apr 5, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.