AtomicParsley help page for general & file level options.
  Note: you can change the input/output behavior to raw 8-bit utf8 if the program name
        is appended with "-utf8". AtomicParsley-utf8.exe will have problems with files/
        folders with unicode characters in given paths.

------------------------------------------------------------------------------------------------
 Atom reading services:

  --test             ,  -T           Tests file to see if its a valid MPEG-4 file.
                                     Prints out the hierarchical atom tree.
                        -T 1         Supplemental track level info with "-T 1"
                        -T +dates    Track level with creation/modified dates

  --textdata         ,  -t      print user data text metadata relevant to brand (inc. # of any pics).
                        -t +    show supplemental info like free space, available padding, user data
                                length & media data length
                        -t 1    show all textual metadata (disregards brands, shows track copyright)

  --brands                      show the major & minor brands for the file & available tagging schemes

------------------------------------------------------------------------------------------------
 File services:

  --freefree [num]   ,                Remove "free" atoms which only act as filler in the file
                                      ?(num)? - optional integer argument to delete 'free's to desired level

                                      NOTE 1: levels begin at level 1 aka file level.
                                      NOTE 2: Level 0 (which doesn't exist) deletes level 1 atoms that pre-
                                              cede 'moov' & don't serve as padding. Typically, such atoms
                                              are created by libmp4ff or libmp4v2 as a byproduct of tagging.
                                      NOTE 3: When padding falls below MIN_PAD (typically zero), a default
                                              amount of padding (typically 2048 bytes) will be added. To
                                              achieve absolutely 0 bytes 'free' space with --freefree, set
                                              DEFAULT_PAD to 0 via the AP_PADDING mechanism (see below).

  --preventOptimizing                 Prevents reorganizing the file to have file metadata before media data.
                                      iTunes/Quicktime have so far *always* placed metadata first; many 3rd
                                      party utilities do not (preventing streaming to the web, AirTunes, iTV).
                                      Used in conjunction with --overWrite, files with metadata at the end
                                      (most ffmpeg produced files) can have their tags rapidly updated without
                                      requiring a full rewrite. Note: this does not un-optimize a file.
                                      Note: this option will be canceled out if used with the --freefree option

  --metaDump                          Dumps out 'moov.udta' metadata out to a new file next to original
                                          (for diagnostic purposes, please remove artwork before sending)
  --output           ,  -o   (/path)  Specify the filename of tempfile (voids overWrite)
  --overWrite        ,  -W            Writes to temp file; deletes original, renames temp to original
                                      If possible, padding will be used to update without a full rewrite.

  --DeepScan                          Parse areas of the file that are normally skipped (must be the 3rd arg)
  --iPod-uuid                (num)    Place the ipod-required uuid for higher resolution avc video files
                                      Currently, the only number used is 1200 - the maximum number of macro-
                                      blocks allowed by the higher resolution iPod setting.
                                      NOTE: this requires the "--DeepScan" option as the 3rd cli argument
                                      NOTE2: only works on the first avc video track, not all avc tracks

Examples: 
  --freefree 0         (deletes all top-level non-padding atoms preceding 'mooov') 
  --freefree 1         (deletes all non-padding atoms at the top most level) 
  --output ~/Desktop/newfile.mp4
  AP /path/to/file.m4v --DeepScan --iPod-uuid 1200
------------------------------------------------------------------------------------------------
 Padding & 'free' atoms:

  A special type of atom called a 'free' atom is used for padding (all 'free' atoms contain NULL space).
  When changes need to occur, these 'free' atom are used. They grows or shink, but the relative locations
  of certain other atoms (stco/mdat) remain the same. If there is no 'free' space, a full rewrite will occur.
  The locations of 'free' atom(s) that AP can use as padding must be follow 'moov.udta' & come before 'mdat'.
  A 'free' preceding 'moov' or following 'mdat' won't be used as padding for example. 

  Set the shell variable AP_PADDING with these values, separated by colons to alter padding behavior:

  DEFAULT_PADDING=  -  the amount of padding added if the minimum padding is non-existant in the file
                       default = 2048
  MIN_PAD=          -  the minimum padding present before more padding will be added
                       default = 0
  MAX_PAD=          -  the maximum allowable padding; excess padding will be eliminated
                       default = 5000

  If you use --freefree to eliminate 'free' atoms from the file, the DEFAULT_PADDING amount will still be
  added to any newly written files. Set DEFAULT_PADDING=0 to prevent any 'free' padding added at rewrite.
  You can set MIN_PAD to be assured that at least that amount of padding will be present - similarly,
  MAX_PAD limits any excessive amount of padding. All 3 options will in all likelyhood produce a full
  rewrite of the original file. Another case where a full rewrite will occur is when the original file
  is not optimized and has 'mdat' preceding 'moov'.

Examples:
   c:> SET AP_PADDING="DEFAULT_PAD=0"      or    c:> SET AP_PADDING="DEFAULT_PAD=3128"
   c:> SET AP_PADDING="DEFAULT_PAD=5128:MIN_PAD=200:MAX_PAD=6049"

Note: while AtomicParsley is still in the beta stage, the original file will always remain untouched - 
      unless given the --overWrite flag when if possible, utilizing available padding to update tags
      will be tried (falling back to a full rewrite if changes are greater than the found padding).
----------------------------------------------------------------------------------------------------
 iTunes 7 & Gapless playback:

 iTunes 7 adds NULL space at the ends of files (filled with zeroes). It is possble this is how iTunes
 implements gapless playback - perhaps not. In any event, with AtomicParsley you can choose to preserve
 that NULL space, or you can eliminate its presence (typically around 2,000 bytes). The default behavior
 is to preserve it - if it is present at all. You can choose to eliminate it by setting the environ-
 mental preference for AP_PADDING to have DEFAULT_PAD=0

Example:
   c:> SET AP_PADDING="DEFAULT_PAD=0"
----------------------------------------------------------------------------------------------------

