-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rework video decoder API to allow for more complex creation cases
Summary: With HW decoders, we can find that different implementation of the same codec format have different pixel format support, which means that we can't always decode files we encoded with H.264 or H.265 with any implementation of H.264 or H.265. The only way to tell if a codec implementation can be used, is to decode a frame, and see if we can handle the pixel format of the frame produced by xprs (that is, ffmpeg SW or HW). This forces us to completely revamp the API, which is what this diff is about. Now, for a codec creation to be successful, we will: - have to find an implementation that handles the codec (H.264, H.265, etc) - decode a first frame (must be a key frame) - be able to convert that image to the vrs pixel format that we expect (if we can convert the output's pixel format into a vrs::PixelFrame, then we can use the decoder). While this is a change in behavior, with SW codecs, this should not fundamentally change how codecs are handled, but it opens the door for HW codecs support coming next. Reviewed By: finik Differential Revision: D48496973 fbshipit-source-id: 224cac3b07f03918503e00be759583d2783c92de
- Loading branch information
1 parent
ab3f966
commit 9d3b282
Showing
4 changed files
with
31 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters