Specify shared FFmpeg image buffer ownership

This commit is contained in:
evgeny committed 2026-10-27 03:38:12 +01:00
1 parent b0acb285c1
commit 7fa20ceb79
1 file changed
+8 -1
+8 -1
View File
@@ -1,5 +1,12 @@
/* RGB888 для sws_scale: FFmpeg выделяет выровненные строки и запас для SIMD.
* QImage разделяет буфер без копирования; последний владелец освобождает AVFrame. */
* Доступен только при HAVE_FFMPEG. width/height — положительные размеры в пикселях;
* ошибка allocation/геометрии даёт пустой QImage с ERROR(video), ресурсов у вызывающего нет.
* Успех — QImage::Format_RGB888 с AVFrame stride (выравнивание 32), память не инициализирована:
* перед показом заполнить видимые пиксели. Для sws_scale брать bits()/bytesPerLine()
* свежего, ещё не разделяемого image. Qt detach создаёт свой буфер без этих гарантий SIMD.
* Копии QImage разделяют буфер без копирования; последний владелец исходного буфера
* освобождает AVFrame через cleanup callback. Освобождать bits() вручную нельзя.
* Отдельные изображения можно создавать в разных потоках; совместную запись исключает вызывающий. */
#pragma once
#ifdef HAVE_FFMPEG