There are various things I'd still like to do for GOPchop


- i18n tag mpegcat and gtkspu

- figure out why lack of ARCH_ define caused color corruption

- add configurable options:
	- debug output of parser to file (default=off)
	- clip-save report to file (default=off)
	- close open GOPs (default=yes)

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

- figure out how to get libvo window to auto-refresh on uncover

- make "en" translation template

- use ifdef HAVE_CONFIG for all config includes...

- add vim indenting magic to all source files

- update libvo from mpeg2cat CVS? (make a script to do it?)

- 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
	  up above.

- 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?

Rearrange items:
- move GOP writer into GroupOfPictures Object?
- move GOP displayer into GOP Obj?
- privately allocate GOP area for header rewrites and B-Frame dropping?


LOW
- create a command-line-editing interface (EDL?)
- issue warning when trying to close/exit with clips still in list
- figure out how to measure time within spliced GOPs
- add "number" col to Info box
- 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?





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


