Несложный парсер AVI-файла
Нужно написать программу на Delphi, которая будет открывать указанный в командной строке AVI-файл, парсить его, находить одинаковые кадры (только идущие подряд) и создавать новый AVI, в котором не будет одинаковых кадров.
Файл нужно открывать прямым доступом, использовать системные компоненты для работы с видео нельзя.
AVI-файл будет без компрессии, простой RGB - формат, звуковой дорожки нет.
Нужно прочитать заголовок AVI, прочитать все кадры, сосчитать хэш (CRC например) каждого кадра, создать список кадров (смещение в файле, длина, хеш).
Потом найти идущие подряд одинаковые кадры, выкинуть дубли и на основании этой структуры собрать новый AVI.
Никакой компрессии-декомпресси делать не нужно.
После создания AVI нужно будет поправить ему изменившуюся длину в заголовке.
Пример AVI-файла в аттаче.
Программа должна быть оформлена как отдельный класс, у которого есть методы OpenAVI(String), RemoveDoubles, SaveNewAVI(String).