-
Notifications
You must be signed in to change notification settings - Fork 3k
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
video/filter: Restore the previously removed tfields filter. #532
Conversation
Updated with code from vf_yadif.c to use the real delta when calculating the PTS for extra frames instead of using a hardcoded value.
Can you check that there is no libavfilter (via vf_lavfi) filter that can do what you want? Does the MMX asm actually help? The asm would be the biggest argument against readding this filter, because it's a maintenance nightmare. |
There are no other filters available that can be compared function/performance wise to this in libpostproc or lavfi. Since you asked I tried to use the _C equivalents of the _MMX* functions. CPU usage goes up 2.5 times, making the filter unusable for me. Note that many of the other video filters also have asm functions (for obvious reasons). |
More things to check:
|
|
Merged, with subject modified to contain "vo_opengl:" prefix. |
Damn, wrong pull request. Sorry. |
Some more remarks: if vf_tfields gets added back, it should be part of ffmpeg libavfilter. |
No vdpau or vaapi here, sorry.
|
Can you port the filter to libavfilter? Yes, that's part of ffmpeg. |
Ping? Porting the filter to libavfilter would be the best (even if it requires some effort). I can also just merge vf_tfields as-is, but since it contains evil inline assembly, it might not be so long until I remove the filter again. (We plan to replace almost all filters with libavfilter equivalents, and the inline asm is a major pain - most of it isn't even correct, or has weird regressions with some compiler versions.) |
Hm, no reaction. Anyway, rejected. |
I disagree with the conclusion of Issue #19 since afaict none of the libpostproc filters provide deinterlacing which doubles the frame rate to match the field rate of the stream. Yadif is just too CPU hungry for HD content for my machine to keep up with.
Since I will be using the tfields filter myself I might as well send the patch upstream.
Compared to the original version it has been updated with code from yadif to use the real delta when calculating the PTS for extra frames instead of using a hardcoded value.
Please pull!