Вниз
Скачать: CL | DM;

Как вывести картинку из буфера в DirectDraw?   Найти похожие ветки 

← →
Nikki   (2008-02-28 14:06) [0]

Картинка хранится в буфере, есть указатель на нее и данные о ее параметрах. Самое главное, что она формата YUV. Нужно вывести серию таких картинок. Желательно еще использовать оверлей. Я использовала StretchDIBits, но он не работает с YUV 12-ти битным.
Ознакомившись с DD за пару дней в голове путанница, не знаю, с какого конца вообще начать. Есдинственная мысль сделать оверлейную поверхность и в ее структуру в lpSurface записать адрес моего буфера... Но как-то не работаить. Подскажите, пожалуйста, что можно сделать?


← →
Sapersky   (2008-02-28 20:03) [1]

Проще всего отконвертировать в RGB и вывести стандартными средствами:

http://www.efg2.com/Lab/Graphics/Colors/YUV.htm

Единственное преимущество оверлея - аппаратное масштабирование, ну и то, что при поддержке нужного формата не нужно ничего конвертировать.

http://www.delphimaster.ru/articles/directx/index.html

В этом примере используются 16-битные UYVY/YUY2. Не знаю, есть ли карты с поддержкой 12-битного YUV; если это planar формат, в том виде, в каком это описано по первой ссылке - то вряд ли. Так что конвертировать, возможно, всё-таки придётся.
А аппаратное масштабирование можно при желании задействовать и с RGB.


← →
Nikki   (2008-02-29 10:24) [2]

Спасибо!)


← →
Sapersky   (2008-02-29 14:21) [3]

Не знаю, есть ли карты с поддержкой 12-битного YUV

Похоже что есть: Radeon 9000 и интегрированная на i915 выдают YV12 в списке FourCC-форматов (смотрел DXCapsViewer"ом из состава DX SDK).


← →
Nikki   (2008-02-29 15:06) [4]

Карточка у меня поддерживает такой формат)
Просто я пыталась создать оверлей и указателю на его поверхность присвоить адрес своего буфера(это работает, но с обычными поверхностями),
но оверлейная, созданная в видеопамяти, не позволяет ставить себе флаги, вынуждающие учитывать эти параметры (что я использую указатель), к ней можно обращаться только залочив и пересылая биты какой-нить memcopy вроде, а это не очень удобно)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.056 c
15-1270233026
Smile
2010-04-02 22:30
2010.08.27
Off Top дальше некуда))


2-1267541345
Pavel
2010-03-02 17:49
2010.08.27
Чтение данных из буфера


4-1234757954
spkors
2009-02-16 07:19
2010.08.27
сообщения Windows и Hooks


2-1266751523
Fr
2010-02-21 14:25
2010.08.27
TRichEdit, вставка текста


8-1204879873
eXe 171
2008-03-07 11:51
2010.08.27
DSPack




   Наверх