Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Как сделать в реалтайме обработку видео(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 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
3-1108731763
Квэнди
2005-02-18 16:02
2005.03.20
Проблема при использовании транзакций


4-1107328870
Игорь Шевченко
2005-02-02 10:21
2005.03.20
Любителям "скырть процесс" под NT посвящается...


14-1109236007
dimonf
2005-02-24 12:06
2005.03.20
Работа в Москве от 1100$


14-1108543241
WondeRu
2005-02-16 11:40
2005.03.20
Все статьи DelphiWorld в 20Мб!!! Качать!!!


1-1110143383
Kolan
2005-03-07 00:09
2005.03.20
Скажите на какой закладке лежит ListView ... обыскался уже?