thedeemon: (Default)
[personal profile] thedeemon
Недавно обнаружил в своей программе, что при отображении в окошке текущего обрабатываемого видео иногда цвета не совсем такие, как надо. Это было видно, если исходное видео в формате YV12, а в процессе преобразуется в RGB32. Причем в получающемся файле все нормально, проблема только в отображении на экране в процессе. И на многих видео проблема была не заметна, а заметна лишь чуть-чуть на некоторых видеофайлах. Стал разбираться, и выяснилось, что в коде преобразования цветов из цветового пространства YUV в RGB было две грубых ошибки: сначала перепутаны местами цветовые плоскости U и V, а потом перепутаны позиции красного и синего цветов в четверке RGBA. В результате две этих ошибки друг друга почти компенсировали:



Слева - что получалось при таком двойном путании компонент, а справа - правильная картинка.

Date: 2010-09-16 07:11 pm (UTC)
From: [identity profile] soonts.livejournal.com
YUV та ещё чорная магия.

Помню когда делал инструмент для снятия скриншотов с Wii, мальца поебался его декодировать: там фторой фреймбуфер (который ближе к телеку) как раз YUV, а именно Y'UV422.
Это, в числе прочих факторов, приводит к тому, что на современных high definition TFT телеках при внимательном разглядывании low definition картинки, выдаваемой Wii, возникают неуместные ассоциации с NES a.k.a. Dendy.

ЧСХ, первый фреймбуфер, который ближе к процу и дальше от телека, нормальный RGB по байту на компоненту на пиксель.
Скриншоты можно вынимать из обоих.
Угадай, какой из 2 фреймбуферов использовался для изготовления рекламных материалов? :-)

Date: 2010-09-20 08:38 am (UTC)
From: [identity profile] thedeemon.livejournal.com
YUV та ещё чорная магия.

Это точно, там даже порой использование "стандартных" решений приводит к неприятным сюрпризам:
http://www.infognition.com/blog/2010/yv12_conversion.html

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 28th, 2026 04:53 pm
Powered by Dreamwidth Studios