Декодирование кадра из файла в файловой системе
#include <img.h>
int img_load_file( img_lib_t ilib,
const char *path,
const img_decode_callouts_t *callouts,
img_t *img );
- ilib
- Дескриптор библиотеки, заполенный img_lib_attach().
- path
- Полный путь к файлу, из которого можно производить чтение данных.
- callouts
- Указатель на структуру img_decode_callouts_t, передающей колбэки декодера. Если указать
NULL
в качестве данного значения, будет применяться набор колбэков по умолчанию, которые позволяют: - принимать данные в первом поддерживаемом декодером формате
- хранить данные изображения в системной памяти
- игнорировать все уведомления и предупреждения
- img
- Адрес структуры img_t, которая заполняется функцией с информацией о декодируемом кадре. Перед вызовом img_load_file() можно переопределить такие элементы структуры, как формат:
img.format = IMG_FMT_G8;
img.flags |= IMG_FORMAT;
img_load_file( ... );
В приведенном примере, поскольку формат установлен до загрузки, libimg
переведет загруженное изображение в формат IMG_FMT_G8
, независимо от фактического формата исходного изображения.
img
Функция производит чтение и декодирование кадра из файла в файловой системе (первого встретившегося кадра). Если нужно изменить размер файла при его загрузке, примените img_load_resize_file() .
- IMG_ERR_OK
- Успешное завершение.
- IMG_ERR_CORRUPT
- В файле обнаружены недопустимые данные, препятствующие продолжению декодирования. Часть кадра может быть неповрежденной.
- IMG_ERR_DLL
- Произошла ошибка при обработке
DLL
, обрабатывающей этот тип файла. Убедитесь, что DLL
отсутствует или повреждена.
- IMG_ERR_FILE
- Ошибка доступа к пути (установлен errno).
- IMG_ERR_FORMAT
- Не удалось найти подходящий кодек. Требуемый кодек отсутствует или поврежден, либо файл поврежден.
- IMG_ERR_INTR
- Декодирование было прервано приложением.
- IMG_ERR_MEM
- Ошибка выделения памяти.
- IMG_ERR_NODATA
- Отсутствуют данные о кадре. Ошибка является маловероятной, т.к. файлы обычно содержат хотя бы один кадр.
- IMG_ERR_NOSUPPORT
- Формат входных данных не поддерживается; кодеку и приложению не удалось согласовать формат выходных данных.
- IMG_ERR_TRUNC
- Размер обрабатываемого файла меньше одидаемого. Часть кадра может быть неповрежденной.
Графическая подсистема ЗОСРВ «Нейтрино», Библиотека Image
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Нет
img_decode_callouts_t, img_load(), img_load_resize_file(), img_t, img_lib_attach()
Предыдущий раздел: Image API