Le format JPEG JFIF est géré en lecture et écriture batch, mais ne met pas à jour. Les fichiers JPEG sont représentés comme des jeux de données d’une bande (nuance de gris) ou de trois bandes (RVB) avec des bandes de valeurs en byte.
Le pilote convertira automatiquement les images dont l’espace de couleur est YCbCr, CMYK ou YCbCrK vers RVB à moins que l’option GDAL_JPEG_TO_RGB est définie à NO (YES par défaut). Lorsque la traduction de l’espace de couleur vers RVB est réalisée, l’espace de couleur source est indiquée dans les méta-données SOURCE_COLOR_SPACE du domaine IMAGE_STRUCTURE.
Il n’y a actuellement aucune gestion pour les informations de géo-référencement ou des méta-données pour les fichiers JPEG. Mais si un fichier world ESRI existe avec l’extension .jgw, .jpgw/.jpegw ou .wld comme suffixes, il sera lu et utilisé pour établir la géo-transformation pour l’image. S’il est disponible un fichier MapInfo .tab sera également utilisé pour le géoréférencement. Les aperçues peuvent être construit pour les fichiers JPEG dans un fichier .ovr externe.
Le pilote gère également l’approche “ajout au fichier du masque compressé zlib” utilisé par quelques fournisseurs de données pour ajouter un masque pour identifier les pixels qui ne sont pas des données valides. Voir RFC 15 pour plus de détails.
Introduit dans la version 1.10.1,: le pilote prend en charge le bitmask où les bites sont ordonées avec le bit le plus signifiquant en premier (tandis que la convention usuel est le moins signifiquant en premier). Le pilote tentera de détecter automatiquement cette situation, mais les heuristiques peuvent échouer. Dans ce cas là, vous pouvez définir l’option de configuration JPEG_MASK_BIT_ORDER à MSB. Le bitmask peut également être complètement ignoré en spécifiant JPEG_READ_MASK à NO.
Le pilote JPEG de GDAL est compilé en utilisant la bibliothèque jpeg du Groupe JPEG indépendant. Notez également que le pilote GeoTIFF gère les TIFF tuilés avec des tuiles compressées en JPEG.
Pour lire et écrire des images JPEG avec des échantillons de 12 bits, vous pouvez compiler GDAL avec la bibliothèque libjpeg interne (basé sur IJG libjpeg-6b, avec des modifications supplémentaires pour la gestion de l’échantillon 12-bit), ou passer explicitement –with-jpeg12=yes au script configure lors de la compilation externe de libjpeg. Voir la page wiki “8 and 12 bit JPEG in TIFF” pour plus de détails.
Il est également possible d’utiliser le pilote JPEG avec libjpeg-turbo, une version de libjpeg, compatible API et ABI avec IJG libjpeg-6b, qui utilise les instructions MMX, SSE et SSE2 SIMD pour accélérer la compression/décompression du JPEG baseline.
Introduit dans la version 1.9.0: les métadonnées XMP peuvent être extraite des fichiers, et seront stockées comme contenu brute XML dans le domaine de métadonnées xml:XMP.
Introduit dans la version 2.0,: les vignettes EXIF inclus (avec compression JPEG) peuvent être utilisé comme aperçues et générées par GDAL.
Introduit dans la version 1.11,: GDAL prend en charge les métadonnées de profile de couleur suivant dans le domaine COLOR_PROFILE :
Notez que cette propriété de métadonnées peut seulement être utilisé sur les données pixels brutes. Si une conversion automatique versr RVB a été réalisée, l’information de profile de couleur ne peut pas être utilisé.
Cet élément de métadonnées peut être utilisé comme options de création.
Lors du décodage, la bibliothèque libjpeg a une certaine résilience lors d’erreurs dans le flux de données JPEG et essayera de les récupérer autant que possible. À partir de GDAL 1.11.2, ces erreurs seront rapportés comme alertes GDAL, mais peuvent optionnellement être considérés comme de véritables erreurs en définissant l’option de configuration GDAL_ERROR_ON_LIBJPEG_WARNING à TRUE.
Les fichiers JPEG sont crée en utilisant le code du pilote « JPEG ». Seules les types de bande en byte sont gérés, et seulement les configurations 1 et 3 bandes (RGB). La création des fichiers JPEG est implémentée par la méthode batch (CreateCopy). Les espaces de couleurs YCbCr, CMYK ou YCbCrK ne sont pas gérés en création. Si le jeu de données source possède un masque nodata, il sera ajouté comme un masque compressé en zlib au fichier JPEG :
Voir aussi