Я использую Video4Linux2, чтобы открыть соединение с камерой, подключенной к моей машине. У меня есть возможность запрашивать данные YUV или MJPEG с моего устройства камеры. Поскольку увеличение запрошенного разрешения с камеры, а также запрос YUV приводит к тому, что программа замедляет скорость, превышающую частоту обновления sh камеры (вероятно, из-за того, что за этот промежуток времени отправляется слишком много данных), мне требуется использовать Данные MJPEG с камеры. Я застрял на некоторое время и нашел очень мало ресурсов в Интернете о том, как декодировать MJPEG.
Кстати, у меня есть все следующие данные:
unsigned char *data; // pointing to the data for the most current mjpeg frame from v4l2
size_t data_size; // the size (in bytes) of the mjpeg frame received from v4l2
unsigned char *r, *g, *b; // three heap allocated arrays in which to store the resulting data
// Can easily be altered to represent an array of structs holding all 3 components,
// as well as using yuv at different rates.
Все Мне нужна возможность конвертировать мой живой кадр mjpeg в необработанные данные, либо RGB, либо YUV. Я слышал о библиотеках, таких как libjpeg, mjpegtools, nvjpeg и др. c, однако мне не удалось найти много информации о том, как использовать их для декодирования mjpeg, откуда я нахожусь. Любая помощь будет принята с благодарностью!