Iff: Difference between revisions

From Helpful
Jump to navigation Jump to search
Line 24: Line 24:
* Microsoft's RIFF  
* Microsoft's RIFF  
:: seems to just be [[little-endian]] IFF?{{verify}}
:: seems to just be [[little-endian]] IFF?{{verify}}
:: the basis of [[WAV]] files (storing [[PCM]] sound), ANI (icons), AVI (video), and more
:: the basis of [[WAV]] files (storing [[PCM]] sound), ANI (icons), [[AVI]] (video), and a bunch more  


* MIDI uses a similar setup
* MIDI uses a similar setup

Revision as of 12:24, 28 September 2023


Interchange File Format

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.

Interchange File Format (IFF) is a file format that stores chunks, each tagged with what they are.

Originally introduced by Electronic Arts in 1985 (that specification can be referred to as EA IFF 85).

The file is big-endian (native to Macs and Amigas of the time), which is a little extra work on the little-endian x86.


There are various mild variations, a few derivative formats, and a few that formats that just happen to use a very similar chunking scheme just because it is a fairly obvious thing to do if you want to store more than one thing in one file.


Used in/for things like:

  • Audio Interchange File Format (AIFF/AIFF-C)
  • DjVu
  • WebP
  • 8SVX ('8-Bit Sampled Voice')
  • Real Media File Format (RMFF)


Similar but not directly compatible:

  • Microsoft's RIFF
seems to just be little-endian IFF?(verify)
the basis of WAV files (storing PCM sound), ANI (icons), AVI (video), and a bunch more
  • MIDI uses a similar setup
Microsoft's .RMI is MIDI wrapped in RIFF - which adds an extra layer of tagging which... is usually more confusing than it is useful
  • Nero's NRG images


Note: TIFF is not IFF-based, although it does have a similar approach(verify)


See also:

If and only if

Iff is a shorthand for if and only if, reglarly used in logic, theorems, and predicates elsewhere.


In a predicate-logic sense, 'if', 'only if', and 'if and only if' this is the distinction between

  • a ⇒ b
  • a ⇐ b
also written as b ⇒ a
  • a ⇒ b and a ⇐ b
also written as a ⇔ b


The thing is that refers to strict logic, first-order predicate stuff.

Which means the use of everyday language makes it potentially confusing, because that suggests the more everyday, 'if this then probably that' reasoning.


And it gets even more confusing if we use everyday examples that in the real world would indeed only have that pragatic, probable sense.


(more typing up elsewhere)