tags:

views:

460

answers:

3

Active Directory can store images in JPEG File Interchange Format (JFIF) according to the jpegPhoto Attribute definition. I'd like to use this but I'd never heard of JFIF.

First, are all JPEG files JFIFs?

Second, does a WPF JpegBitmapEncoder produce a JFIF file? I guess if the first is true, this will be but if it's not...?

+2  A: 

The JPEG File Interchange Format (JFIF) is an image file format standard. It is a format for exchanging JPEG encoded files compliant with the JPEG Interchange Format (JIF) standard. It solves some of JIF's limitations in regard to simple JPEG encoded file interchange. So all JPEGs are JIFF.

Akash Kava
I hope JIFF is a typo, because now I'm less clear on this.
dlamblin
+1  A: 

I've checked Wikipedia. Apparently, JFIF is a more detailed subversion of the JPG format.

More details here...

Also, it seems that JpegBitmapEncoder supports different codecs. Thus it could be that you use a Codec that does (or does not) create JFIF files. You would have to check the codec for this.

Workshop Alex
+6  A: 

JPEG = the compression algorithm (Joint Photographic Experts Group)

JFIF = the file format (JPEG File Interchange Format)

Effectively when you mention jpeg/jpg you are actually talking about JPEG/JFIF, although there is a spec for JPEG/TIFF and JPEG/EXIF (usually digital photos is where you'll see these)

A lot of the time whatever produces the EXIF file will also include what JFIF parsers need to decode properly, so it is transparent to the end user, but not entirely a "valid" and "to spec" EXIF file.

For internet use and transmission the default is JFIF, but not all jpegs are necessarily JFIF when you look under the covers.

curtisk
I would just add that another perspective, that JIFF is a *media* use to store (and also transport) images encoded with JPEG compression.
mloskot