Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Как сделать в реалтайме обработку видео(DSPack)?   Найти похожие ветки 

 
Dufe   (2004-11-29 13:49) [0]

Необходимо сделать обработку в реальном времени видефайла и вывод на экран результата. Я делаю это с помощью DSPack"a.
procedure TForm1.SampleGrabberBuffer(sender: TObject; SampleTime: Double;pBuffer: Pointer; BufferLen: Integer);
begin
 Bit.Canvas.Lock;
 try
   if SampleGrabber.GetBitmap(Bit,pBuffer, BufferLen) then
   begin
    ColorTransform(Bit);
   end;
 finally
   Bit.Canvas.Unlock;
   Image2.Canvas.Lock;
   Image2.Canvas.StretchDraw(rec,Bit);
   Image2.Canvas.Unlock;
 end;
end;
При перезагрузке процессора возникает ошибка."Canvas does not allow drawing" . Остановка происходит в разных местах!
Как сделать, чтобы если не успевают проделаться все процедуры не брался следующий кадр? Или это что-то другое?


 
programania ©   (2004-11-29 21:16) [1]

>Как сделать, чтобы если не успевают проделаться все процедуры не брался следующий кадр?

попробуйте поставить в начало что-то типа:
if runSampleGrabber then exit;
runSampleGrabber:=true;
и в конец
runSampleGrabber:=false;

Однако, ничего хорошего все равно не выйдет:
если не успевают проделаться все процедуры
значит загрузка CPU 100% все будет тормозить
и зависеть от CPU и конкретного фильма
и главный тормоз это StretchDraw
к тому же качество от него заметно ухудшается.

Однако, если выкинуть StretchDraw и показывать
в натуральный размер, то P3 хватит и на обработку
типа яркость, контрастность.
А вместо StretchDraw наверно можно написать
что-то свое более быстрое, если заранее расчитать
все коэфициенты для всех пикселов.


 
Dufe   (2004-11-30 13:12) [2]

Так я уже пробовал. Ничего хорошего не происходит. Мне бы лучше пропустить пару кадров в случае неуспевания.


 
Анонимщик ©   (2004-12-02 15:15) [3]

И тебе не стыдно такое спрашивать?



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

Форум: "Media";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.035 c
14-1109710617
iZEN
2005-03-01 23:56
2005.03.20
Borland присоединилась к Eclipse.


14-1109785626
Девелопер
2005-03-02 20:47
2005.03.20
Нервные аутисты


1-1110103716
MU
2005-03-06 13:08
2005.03.20
Вынесение инвариантного кода за пределы цикла


1-1109918193
ser35
2005-03-04 09:36
2005.03.20
Чтение МЕМО


1-1110190627
Andriy Tysh
2005-03-07 13:17
2005.03.20
TVS_CHECKBOXES & TreeView. Как сделать с тремя состояниями ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский