Главная страница
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.032 c
14-1109683449
Sulimxar
2005-03-01 16:24
2005.03.20
GNU LGPL и исходники


1-1109924444
webpauk
2005-03-04 11:20
2005.03.20
Редактор кода


1-1110296519
rolex
2005-03-08 18:41
2005.03.20
Как сделать чтобы в ListView изменяла ширину только 1я колонка?


1-1109865606
sloug
2005-03-03 19:00
2005.03.20
ToolBar меняет цвет


1-1110011643
juice
2005-03-05 11:34
2005.03.20
Длинные строковые литералы