Kalim, te paso el código C++ que dado un puntero a la imagen raw lo convierte a jpeg para ver si te es útil en el driver. Como ves, es el mismo código que me mandaste de android pero le he quitado unas pocas líneas que dependían de android y no eran realmente necesarias (además, así me posibilitaba compilar en linux). Verás que le he añadido una función wrapper que simplifica la llamada de la función, tiene la sintaxis:
yuv420_encode(void *src, char *outfile, int width, int height, int quality)
Donde:
- src es el puntero a la imagen raw
- outfile es el path en el que guardar el jpeg.
- width es el ancho de la imagen.
- height es el alto de la imagen.
- quality es la calidad (1...100) de la compresión jpeg.
Dejo adjuntas una foto en raw que he sacado de prueba y el jpeg resultante (calidad 90%).
Espero que te sea útil. Un saludo y ánimo.