High
- option to re-write time-stamps in the resulting MPEG. (based on GopFixup)
- actually display correct frame on during a GOP display or Run

Medium
- capture button down/up on the slider to disable auto refresh to make
  scrolling actually work sanely, now that run speed exists.
- save clip info (GOP indexes) for an mpeg (.clips)
- load GOPs during the original pass
- load packet information to a text file (.gop) for faster parse times
- Fix plural forms:
    http://www.gnu.org/manual/gettext/html_mono/gettext.html#SEC150
- Fix GUI contexts:
    http://www.gnu.org/manual/gettext/html_mono/gettext.html#SEC151

Low
- create a way to spit out .gop files from the command line
- create a command-line-editing interface (EDL?)
- make a "tests" directory and scripts to run gopchop against
  - nice to have regression tests, etc.
  - would require the EDL to build files from the command line
- load/save dialog doesn't remember where we were last after exit
  - maybe make that be an option (to remember the location or not)


Some Day

- have a button to just drop the current GOP number to stdout or
  have it available on the clipboard, or change modes to just
  save marks, or something like that. (Matthias Schniedermeyer's use
  of mkdvd: http://www.haraldmaiss.de/)

- have a "last GOP" window while selecting start-frame of a clip

- if FILE mtime is greater than .gop mtime, regenerate .gop file?
	- or, option to skip .gop reading (and regenerate)
	- option to save .gop stuff

- report audio format (hard)

- warn about saving a clip if the final position hasn't been saved
  (i.e., a clip has been "start"ed, but not "finish"ed.)

- "run in reverse"

- distinguish between Frames and Fields (do I need to?)

- add configurable options:
	- debug output of parser to file (default=off)
	- clip-save report to file (default=off)
	- remove leading B frames on a spliced open GOPs (default=yes)

- add warnings when MPEG2-PS format resists GOP closing or GOP splitting

- change "Run" to "Run File"
- add "Run Clips"
	- this requires re-vamping the packet-tracking mechanisms so that
	  the GOP-type can arbitrarily change information within it's packet
	  temporarily.

- add "detailed" info section to info window.  For example,
	the clist should start with the "GOP" expanded to show
		Packets
		Pictures
		Audio
	each Packet list can be expanded to show each of the system packets
	each Picture item can be expanded to show each of the video packets
	each Audio item can be expanded to show each of the audio packets

- get audio playable.  Maybe figure out a way to link to/control mplayer?
	- this requires having both "seek to byte" and "show only X frames"
	  to work from the "slave" mode.  Source to mplayer didn't want
	  to do that.

- finish weird PES header flag parsers
	- or, optionally, totally skip header flags?  weaker parser, but
	  a faster parser maybe?  Or maybe disk will continue to be the
	  limiting factor?  Make this a configurable option?

- add time offset to scroll bar somewhere.  maybe in a centered box below
  the clip list?

- add time offsets to the clip list, along with GOP number

- detect non-MPEG2-PS files (or rather, detect MPEG1 files quickly)

- speed up the parser!  hehehe

- change mmap interface somehow to not require writable files
	- this will be addressed by the private GOP area changes mentioned
	  below.

- make clip list editable to hand-move start/end markers
	- maybe add a pair of arrow buttons to affect the currently
	  selected clip's start and end markers?

- create little "time" graphic for showing how long clips are in clist

- add "1 of 50..." info to Info box for GOP numbers.

- find a way to suppress repeated error messages?


LOW
- issue warning when trying to close/exit with clips still in list
- figure out how to measure time within spliced GOPs
- change font in error box header
- figure out how to auto-resize the error message window
- add right-click pop-ups to Info clist for saving:
	- single GOP as MPEG2-PS file
	- single I-frame as jpg or something
	- audio packets of a GOP as a raw ES stream file

mpegcat
-------
- i18n tagging (mpeg2consts.c too)

gtkspu
------
- i18n tagging
- bind arrows, space, and backspace to step forward/back through SPU seqs
- use future "libmpeg2ps" to open an mpg instead of a ".spu"
- get color info from the DVD files




Thoughts

- I care about:
	- Pack's: they carry SCR: I shouldn't mess with this, they wrap:
	  - System packets: they carry rate & bounds
	  - VES packets: they define the video stream, and carry:
	    - SEQ headers
	    - GOP headers
	    - Picture headers
	  - other packets (audio, stuffing, whatever)

I must have a GOP before each I-frame.
I must have (or build) a SEQ header in front of each split, minimally, and
	in front of each GOP maximally.
I must include all AES Packs between GOPs in the prior GOP.
A System Header must follow the first Pack.  All System Headers must be the
        same.



I must build a table of:

System header locations, parent Pack, and length (correctable)
GOP header locations, parent Pack, and last seen SEQ
Picture header locations, parent Pack, and last seen GOP
SEQ header locations, and parent Pack
PES packet locations, and length (which must be corrected for dropped frames)
Pack packet locations, and length (which must be corrected for dropped frames)

I must re-write:
- GOP "closed" and "broken" flags
- VES to drop open-GOP B-frames following a GOP/I-frame
	- requires they are "exclusively" enclosed in Packs
- packet lengths where I need to

I could re-write:
- GOP time codes

When I write, I must write Packs.  Any added data (SEQ headers) will be added
either as:
- stand-alone Pack with stand-alone VES packet
- prepended to a VES packet, having both VES and Pack packets' length increased


