Я пишу программу просмотра веб-камеры на c ++, используя video4linux. Мне нужен вывод RGB24 (с чередованием R8B8G8 ) для отображения. Я могу получить видеовход практически для всех веб-камер с низким разрешением, используя YUYV, GREY8 или RGB24. Но мне нужно получать информацию также от веб-камер с высоким разрешением, которые используют MJPEG для сжатия, когда требуется высокая частота кадров.
Я могу получить поток MJPEG, используя V4L2_PIX_FMT_MJPEG
в качестве пиксельного формата, но полученный кадровый буфер сжат.
Как быстро преобразовать его в RGB24?
Могу ли я использовать libjpeg для этого?