-
Notifications
You must be signed in to change notification settings - Fork 282
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
Limit HW accel support to FFmpeg 3.4+ #437
Conversation
Add a new #define HAVE_HW_ACCEL, which is only set on FFmpeg 3.4+, and use that to restrict the use of hw-accel features, leaving IS_FFMPEG_3_2 to determine only whether code is compatible with FFmpeg 3.2+.
Codecov Report
@@ Coverage Diff @@
## develop #437 +/- ##
========================================
Coverage 42.37% 42.37%
========================================
Files 129 129
Lines 13276 13276
========================================
Hits 5626 5626
Misses 7650 7650
Continue to review full report at Codecov.
|
I'm going to hold off a bit on merging this, in case others (@jonoomph? @eisneinechse?) want to take a different approach, or even fix the FFmpeg 3.2 hw-accel support. But AFAICT that would take quite a bit of work (too much to be worth it), because I've still found no evidence that our existing hw-accel code was ever actually compatible with FFmpeg 3.2 — the use of |
From the history of libavcodec I can see: |
@eisneinechse I went with libavcodec 57.107.100, the version released as FFmpeg 3.4, since there's also the question of when Thanks to the CI system, we've been testing FFmpeg 3.4 all along (it's the version included in Ubuntu Bionic), but since there was no LTS Ubuntu release that included FFmpeg 3.2, it was never part of the testing infrastructure. (In fact, it was never even on our testing radar until yesterday.) So, I have a feeling code slipped in early on that wasn't compatible with FFmpeg 3.2 (but was compatible with 3.4), and since all the CI tests were still passing it understandably went unnoticed. I figure, we might be able to support a slightly earlier version, but since we can't know for sure, we'd have to go through the hassle of testing to figure out exactly what that would be. And... for what? To support hardware-accel de/encoding on a few additional, very-out-of-date systems? Hardly seems worth the effort. |
I'm going to merge this now, because @cwilling reported that it solves the build issues with FFmpeg 3.2 (as our own newly-upgraded CI matrix also demonstrates, with this merge), and hwaccel support for 3.2/3.3 can always be revisited/restored in a future PR. |
As noted in #436, our hw-accel code was never really compatible with FFmpeg 3.2.
This PR also adds an FFmpeg 3.2 build to our Travis matrix, ensuring that builds against that version are tested in the future.
Fixes #436
Fixes #433