[Home]Transcode Internals/Processing Order

Difference (from prior major revision) (no other diffs)

Changed: 17c17,33


-j -I -X -B -Z -Y -r -z -l -k -K -G -C
| | | | | | | | | | | | |
| | | | | | | | | | | | *-enable anti-aliasing mode
| | | | | | | | | | | *----gamma correction
| | | | | | | | | | *-------enable b/w mode
| | | | | | | | | *----------swap red/blue (Cb/Cr) in video frame
| | | | | | | | *-------------mirror video frame
| | | | | | | *----------------flip video frame upside down
| | | | | | *-------------------reduce video height/width by n[,m]
| | | | | *----------------------select (encoder) frame region by clipping border
| | | | *-------------------------resize to w columns, h rows with filtering
| | | *----------------------------resize to height-n*M rows [,width-m*M] columns
| | *-------------------------------resize to height+n*M rows [,width+m*M] columns
| *----------------------------------enable de-interlacing mode
*-------------------------------------select frame region by clipping border


Processing order

The order in which frames and plug-ins are processed with transcode 0.6.X is as follows. There are 7 (A-G) processing slots available. Slots A, D and G are reserved for internal use only. External user contributed plug-ins hook to slots B and C for pre-processing, or E and F for post-processing. At each of these slots, transcode calls all plug-ins given with option -J from left to right. A single plug-in can therefore run code in all 4 slots, if necessary. Only single-threaded slots B and F allow for frame processing in correct display order. The number of threads created to process the frames is controlled by the second option of "-u".

(A) pre-processing (internal, fixed order, video only, single-threaded)
Ex: --pre_clip (-j)

(B) pre-processing (plug-ins, user defined order, single-threaded)
Flag set: TC_PRE_S_PROCESS
Example: -J extsub, astat

(C) pre-processing (plug-ins, user defined order, multi-threaded)
Flag set: TC_PRE_M_PROCESS
Example: -J mask

(D) main processing (internal, fixed order, multi-threaded)
Internal order: -j -I -X -B -Z -Y -r -z -l -k -K -G -C (executed from left to right)
 -j -I -X -B -Z -Y -r -z -l -k -K -G -C
  |  |  |  |  |  |  |  |  |  |  |  |  |
  |  |  |  |  |  |  |  |  |  |  |  |  *-enable anti-aliasing mode
  |  |  |  |  |  |  |  |  |  |  |  *----gamma correction
  |  |  |  |  |  |  |  |  |  |  *-------enable b/w mode
  |  |  |  |  |  |  |  |  |  *----------swap red/blue (Cb/Cr) in video frame
  |  |  |  |  |  |  |  |  *-------------mirror video frame
  |  |  |  |  |  |  |  *----------------flip video frame upside down
  |  |  |  |  |  |  *-------------------reduce video height/width by n[,m]
  |  |  |  |  |  *----------------------select (encoder) frame region by clipping border
  |  |  |  |  *-------------------------resize to w columns, h rows with filtering
  |  |  |  *----------------------------resize to height-n*M rows [,width-m*M] columns
  |  |  *-------------------------------resize to height+n*M rows [,width+m*M] columns
  |  *----------------------------------enable de-interlacing mode
  *-------------------------------------select frame region by clipping border
(E) post-processing (plug-ins, user defined order, multi-threaded)
Flag set: TC_POST_M_PROCESS

(F) post-processing (plug-ins, user defined order, single-threaded)
Flag set: TC_POST_S_PROCESS
Example: -J extsub=0:0:0:0:1,preview

(G) post-processing (internal, fixed order, video only, single-threaded)
Example: --post_clip (-Y)

Transcode Wiki | Transcode Internals | Recent Changes | Preferences
Password required to edit | View other revisions
Last edited September 26, 2005 11:24 am by Monroe (diff)
Search: