Я использую libjpeg для декодирования изображения jpeg с диска в буфер памяти, выделенный в куче. Я использую jpeg_read_scanlines
для чтения и декодирования каждой строки развертки из файла. Это работает отлично, декодируя каждый пиксель как 24-битное значение RGB.
Проблема в том, что я использую дополнительную стороннюю библиотеку, для которой требуется буфер в формате BGR (а не в формате RGB). При использовании этой библиотеки я получаю странные результаты, так как каналы расположены в неправильном порядке.
Поэтому я хотел бы найти способ заставить libjpeg декодировать в формат BGR, а не в RGB. Я рылся в сети и не могу найти, как настроить libjpeg для этого? Я знаю, что могу выполнить дополнительный проход через буфер памяти и вручную изменить порядок цветовых каналов, однако приложение, над которым я работаю, чрезвычайно критично по времени и должно быть максимально быстрым и эффективным.