Я работаю над некоторым кодом с помощью этот учебник и использую последние библиотеки разработки ffmpeg и SDL. Я застрял в точке, где мне нужно отобразить декодированный кадр (AVFrame) на экране. Я склонен выполнять указанную выше задачу, то есть, отображение AVFrame на экране с использованием новейшего API SDL 2.0 (с использованием средств визуализации и текстур наряду с использованием SDL_Window). Честно говоря, я не эксперт в SDL_Renderer, SDL_Texture и связанных с ними функциях. Но я читаю документацию на официальном сайте SDL 2.0 и прорабатываю ее.
Есть ли способ сделать следующее с помощью API SDL 2.0:
Преобразуйте исходный формат кадра в вариант YUV и отобразите его.
(ИЛИ)
Если возможно, отобразите фрейм, не конвертируя его из исходного формата.
Я хочу сделать это, используя Renderers и Textures. Не похоже, чтобы с ними было легко работать.
Может ли кто-нибудь помочь мне выполнить описанные выше задачи?
PS: Хотя я явно не пробовал, я наткнулся на несколько способов отображения AVFrame на экране путем преобразования формата AVFrame (собственного) в RGB. Но я не хочу, чтобы родной формат кадра (в основном YUV) преобразовывался в RGB, так как это требует больших вычислительных ресурсов.
Преобразование между форматами выполняется с помощью sws_scale().