Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.026 c
3-1108850653
beda
2005-02-20 01:04
2005.03.20
MS Access, Delphi, ADO - Unspecified error


1-1110106829
igsi
2005-03-06 14:00
2005.03.20
коммандная строка


1-1109833540
leonidus
2005-03-03 10:05
2005.03.20
Сотрировка массива - не детский вопрос


1-1109952072
webpauk
2005-03-04 19:01
2005.03.20
Указатели


14-1109513422
GanibalLector
2005-02-27 17:10
2005.03.20
Толковый словарь (ОЧЕПЯТКИ)




   Наверх