このチュートリアルの助けを借りて、ffmpeg と SDL の最新の開発ライブラリを使用して、いくつかのコードに取り組んでいます。デコードされたフレーム (AVFrame) を画面に表示する必要があるところに行き詰まりました。上記のタスク、つまり、 SDL 2.0 の最新の API を使用して画面に AVFrame を表示する傾向があります(SDL_Window の使用に加えてレンダラーとテクスチャを使用します)。率直に言って、私はSDL_Renderer、SDL_Texture 、およびそれらに関連する関数の専門家ではありません。しかし、私は SDL 2.0 の公式サイトにあるドキュメントを読んで、それらを調べています。
SDL 2.0 API を使用して次のことを行う方法はありますか:
ネイティブのフレーム形式をYUVのフレーバーに変換して表示します。
(また)
可能であれば、ネイティブ形式から変換せずにフレームを表示します。
レンダラーとテクスチャを使用して上記を実行したいと考えています。彼らと一緒に仕事をする簡単な方法はないようです。
上記のタスクを実行するための手順を案内してくれる人はいますか?
PS : 明示的に試したことはありませんが、AVFrame 形式 (ネイティブ) を RGB に変換することで、AVFrame を画面に表示する方法をいくつか見つけました。しかし、計算コストが高いため、ネイティブ フレーム フォーマット (ほとんどが YUV) から RGB への変換は必要ありません。
フォーマット間の変換は sws_scale() によって行われます