DGPulldown 1.0.10
by Donald A. Graft ('neuron2'), 'Jetlag', and 'timecop'
-------------------------------------------------------

This program takes a progressive MPEG2 video elementary
stream, and applies pulldown flags to change it to a
different legal MPEG2 frame rate. The great idea for using
irregular pulldown patterns for PAL to NTSC conversion was
first suggested by 'Xesdeeni'.

After loading an input file, the default output file will be
set to be in the same directory as the input file
and will have the same name with ".pulldown.m2v" appended.
This is usually not the fastest way to go. It's usually better
to change the destination path for the output file to be on a
different physical disk drive.

Your content must be progressive. If it is interlaced, you can
deinterlace it first before MPEG2 encoding.

Usage Notes:

The output frame rate must be a legal MPEG2 rate, as listed on the
program's GUI dialog. The input frame rate can be freely chosen,
but it must be greater than or equal to 2/3 of the output frame rate,
and less than or equal to the output frame rate.

The input frame rate edit box accepts two methods for specifying the
frame rate:

1. Numerical -- You may specify a floating point number with
up to 6 decimal places.

2. Fractional -- You may specify a fraction, i.e., N/M, where
N and M are both integers.

Examples:

  23.975444
  16.6667
  24000/1001
  50/3

Note that when applying pulldown for authoring a DVD, as for PAL->NTSC
conversion, you have to ensure that the GOP size is not too large after pulldown.
There is a text file included in this distribution with further details.
For complete safety, encode your MPEG2 file with a GOP size of 12 or less.

"No change"
	This option reads the framerate from the input file and
	uses it to generate the timecode. TFF/RFF flags are not
	touched.

"Top field first" 
	This option when checked will generate a Top Field First
	(TFF) output stream. When unchecked, a Bottom Field First
	(BFF) stream is generated.

"Set timecodes"
	This option when checked will re-write the GOP timecodes as
	defined by the "Set drop frames" and "Set start time" options
	(see below).

"Write timecode to text file" 
	This option when checked will write the timecode of the
	output to a file with the same name as the output but with 
	".timecode.txt" appended.

"Set drop frames"
	The "Set drop frames" check box has three states. The default
	startup state is grayed. This means that DGPulldown determines
	automatically whether it is required, based on the output framerate.
	Integer rates get non-drop, non-integer rates get drop. You can
	override that decision by clicking it to the checked or unchecked
	state, but you shouldn't do this unless you have a very good reason.

"Set start time"
	When this setting is NOT checked the program will get the
	starting timecode from the input file. This is probably the
	best behavior. If you feel like changing it, check this
	and input the hours, minutes, seconds, and frames of the
	desired starting timecode in the associated boxes.

	Note: When conversion starts, the actual starting time used
	is inserted into the boxes for the user to see, regardless
	of how this option was set.

"No output"
	This option when checked will disable writing to the output
	file. This is useful for testing the timecode.

"Modify file in place"
	This option when checked causes DGPulldown to modify the input
	file instead of creating a new output file. This can save disk space
	and is about 30% faster.

	WARNING: Be careful when using this option because if
	there is an interruption of the process, your input file can be
	left in an inconsistent and possibly unusable state.

Note that if the custom rate conversion is selected, and if the source rate is
specified as equal to the destination rate, then all pulldown is removed and the
stream is flagged as having a rate equal to the specified destination rate.


DGPulldown Command Line Syntax
------------------------------

Usage:

dgpulldown.exe input.m2v [options]

Options:

-o filename
	File name for output file.
	If omitted, the name will be "*.pulldown.m2v".

-srcfps rate
	rate is any float fps value, e.g., "23.976" (default) or
	a fraction, e.g., "30000/1001"

-destfps rate
	rate is any valid mpeg2 float fps value, e.g., "29.97" (default).

If neither srcfps nor destfps is given, then no frame rate change is performed.

If srcfps is specified as equal to destfps, then all pulldown is removed and the
stream is flagged as having a rate equal to that specified in destfps.

-nom2v
	Do not create an output m2v file.

-inplace
	Modify the input file instead of creating an output file.

-dumptc
	Dump timecodes to "*.timecodes.txt".

-df
	Force dropframes.

-nodf
	Force no dropframes.

-start hh mm ss ff
	Set start timecode.

-notc
	Don't set timecodes.

-bff
	Generate a BFF output stream. If absent, a TFF stream is generated.

Example:

dgpulldown source.m2v -o flagged.m2v -srcfps 24000/1001 -destfps 29.97

[neuron2/Jetlag/timecop, January 2007]
