Существует ли простой в использовании конвертер JPEG (исходный код) для Delphi 6, который преобразует кадр JPEG в буфере памяти в совместимое с DirectShow растровое изображение быстро и без постоянного перераспределения памяти?Я пытаюсь избежать стандартного модуля JPEG в сочетании с TBitmap, потому что он выделяет новое растровое изображение при каждом преобразовании, а также имеет некоторые другие операции инициализации / разрыва, связанные с каждой операцией.
Я буду получать кадры JPEG от RTP-сервера, который мне нужно преобразовать в растровые изображения и выдать через вызов FillBuffer () моего фильтра DirectShow.Каждый кадр будет иметь одинаковый размер и формат, поскольку они передаются с устройства захвата видео с использованием предустановленных настроек.Поэтому, если бы я мог выделить растровое изображение только один раз, а затем преобразовать каждый входящий кадр JPEG в существующую область памяти растрового изображения, я мог бы избежать перераспределения фрагмента памяти 25 раз в секунду, а издержки любых других объектов вспомогательных данных Delphi связаныв процессе преобразования, используемом в модуле JPEG вместе с TBitmap.
Это не должно быть молниеносно с точки зрения использования процессора.Просто достаточно быстро, чтобы обработать 640 x 480 JPEG конвертацию кадра менее чем за 1/25 секунды (1/15 для безопасности).