[XviD-devel] new gui proposal

suxen_drol suxen_drol at hotmail.com
Fri Mar 28 23:18:19 CET 2003


hi,

here's my proposed changes to the vfw gui; no major changes, just some
restructuring. mf has similar proposals, using "vastly large" dialog
boxes. i'd prefer to keep each box, small and specfic.

are any unix users interested in developing a cross-platform config gui?
ie. fltk or some other gpl'd toolkit.

-- pete


1.0 MAIN DIALOG

The main dialog is displayed when you wish to configure
xvid.

+---------------------------------------+
|                                       |
| Profile         [Simple at L1    ] [..]  |
| RC algorithm:   [CBR          ] [..]  |
|                                       |
| Slider:        |----*--------------|  |
| Text box:      [12345              ]  |
|                                       |
|          [ Advanced... ]              |
|          [Load defaults]              |
|          [    OK       ]              |
+---------------------------------------+

1.1 The profile drop-down list includes assorted
    mpeg-4 profiles at the different levels.
    There will also be an 'Unrestricted' profile,
    where is described in section 2.0.
    clicking on the [..] button will display the
    PROFILE DIALOG (refer to section 2.0).

1.2 The rate control drop-down list includes our
    rate control algos: fixed quant, cbr, 2pass-1st,
    2pass-2nd-int, and 2pass-2nd-ext.
    clicking on the [..] button will display 
    a property sheet contain algorithm-specific
    dialogs:

    when fixed quant is selected, the [..] button is 
    disable. there are is no addition configuration
    parameters for fixed quantizer.

    when cbr is selected, the [..] will display the
    CBR DIALOG (refer to section 3.0)

    when 2pass-1st is selected, the [..] will display
    the 2PASS-1ST DIALOG (refer to section 4.0)

    when 2pass-2nd-ext is selected, the [..] will display
    two 2PASS-2ND DIALOGS (refer to section 5.0 and 6.0)

    when 2pass-2nd-int is selected, the [..] will display
    three 2PASS-2ND DIALOGS (refer to section 5.0, 6.0 and 7.0)

1.3 The meaning of the target rate slider and bitrate
    text box changes, depending upon the RC algorithm:

    * For fixed quant, the slider/box represents the
    quantizer, range 1-31, in ".1" increment steps.

    * For cbr, this slider/box represents the bitrate,
    for the range 1 - $max_profile_bitrate$ kbps. 

    * For 2pass-1st and 2pass-2nd-ext the slider/box are
      disabled

    * for 2pass-2nd-int, the slider/box represents the
      desired target filesize (in kilobytes).

1.4 The advanced box brings displays the ADVANCED
    DIALOGS in a property sheet.
	

2.0 PROFILE DIALOG

Profile dialog is a read only dialog, displaying
the characteristics of each profile. If the
unrestricted profile is selected, everything is
enabled, and the dimension/bitrate fields are
greyed-out.

*WE* could make it read/write, and permit
users to define there own "profiles". however
i dont really see a need for this.

+---------------------------------------+
|                                       |
| Profile:  [ Simple at L1        ]        |
|                                       |
+--Profile restrictions: ---------------+
| [X]   B-VOPS                          |
| [X]   MPEG Quant                      |
| [X]   Interlacing                     |
| [X]   Quarterpel motion compensation  |
| [X]   Global Motion Compensation      |
| [X]   Reduced resolution              |
|                                       |
+--Level restrictions: -----------------+
| Visual session size:   [1920 ][1088 ] |
| Max uniq quant tables:       [      ] |
| Max VMV buffer size          [      ] |
|                                       |
|               [ CLOSE ]               |
+---------------------------------------+

2.1 Profile restrictions
    Read-only checkboxes, which indicate if the mpeg-4
    feature is permitted in the selected profile.

2.2 With each level, there are dimension and bitrate
    restrictions. 

2.3 (I think) from max VMV buffer size, we can calculate
    he max bitrate. so throughout this document, the
    $max_profile_bitrate$ token represents the calculated
    maximum bitrate for the selected profile.
    if no profile is selected, the max bitrate is assumed to
    be 10000kbps (or something equally large)
  

3.0 CBR DIALOG

These are self-explanitory.

+---------------------------------------+
|                                       |
| Reaction delay factor      [ 16     ] |
| Averaging period (frames): [ 100    ] |
| Smoother:                  [ 100    ] |
|                                       |
+---------------------------------------+


4.0 2PASS-1ST DIALOG

In the first pass of a 2-pass encoding, we
really only need to specify the filename.

+---------------------------------------+
|                                       |
| 1st pass stats: [~/video.stats ] [..] |
| [X] Discard 1st pass bitstream        |
|                                       |
+---------------------------------------+

4.1 the 1st pass stats text box specifies the
    target filename. the [..] button beside it
    displays a file selector dialog.


5.0 2PASS-2ND-{EXT,INT} DIALOG #1: 2PASS-2ND

Mostly represent what is in current vfw.   

+---------------------------------------+
|                                       |
| 1st pass stats: [~/video.stats ] [..] |
| 2nd pass stats: [~/scaled.stats] [..] |
|                                       |
+---Curve Compression-------------------+
| I-VOP boost(%):                [    ] |
| High bitrate scene %:          [    ] |
| Low bitrate scene %:           [    ] |
| Bitrate payback delay (frames):[    ] |
| Payback method                 [BIAS] |
|                                       |
| Max bitrate (kilobits/s):      [   ]  |
| Max overflow improvement %:    [   ]  |
| Max overflow degradation %:    [   ]  |
|                                       |
+---------------------------------------+

5.1 identical to 4.1
5.2 the "2nd pass stats" text box specifies the
    scale statistics. the [..] button beside it
    displays a file selector dialog. these controls
    are only available for the 2pass-2nd-ext algorithm.
5.3 I-VOP boost, High/Low bitrate scene and payback
    delay frames are integer text boxes
5.4 Payback method is a list box, specifying
    either WITH BIAS, or PROPORTIONALLY.

5.5 Max bitrate represents the max bitrate, for
    the range 1 - $max_profile_bitrate$.
 

6.0 2PASS-2ND-{EXT,INT} DIALOG #2: ALTERNATE CURVE SYSTEM

This is identical to the current vfw gui. i have no experience using
this. Is it worth keeping?

+-----------------------------------------+
|                                         |
|  [X] Use Alternate Curve                |
|     Curbe agression:           [MEDIUM] |
|     High distance from average % [    ] |
|     Low distance from average %  [    ] |
|     [X] Enable auto min rel. quantility |
|        Strength %:               [    ] |
|        Min. relative quality %:  [    ] |
|     [X] Enable auto bonus bias calc     |
|                                         |
+-----------------------------------------+

6.1 the curve aggression drop-down list displays
    LOW,MEDIUM or HIGH. representing SINE,LINEAR 
    or COSINE curves respectively.


7.0 2PASS-2ND-INT DIALOG #3: CREDITS

Is this worth keeping? If so, we should properly address the
issue of giving different video segments different rate
control. eg. allow the user to select different
ratecontrol/preprocessing for multiple segments?

8.0 ADVANCED #1: MOTION

Motion stuff primarily affects speed/quality,
and therefore should appear first.

+-Motion Search--------------------------+
|                                        |
| Motion search precision: [ HIGH      ] |
| VHQ                      [WIDE SEARCH] |
| [X] Greyscale                          |
| [X] Chroma motion                      |
| Frame skip ratio %       [    ]        |
|                                        |
+----------------------------------------+


8.1 The Motion search drop-down list only needs to specific 
    ~4 different levels: NONE,LOW,MEDIUM, and HIGH. The current
    vfw specifies more levels, most of which result in the same
    motion paramers.

8.2 VHQ is another drop down list Mode Decision,Limited Search,Medium Search,Wide Search

8.3 When greyscale is selected, chroma motion is disabled.


9.0 ADVANCED #1: QUANTIZATION

+-Quantization---------------------------+
|                                        |
| Quantization Type        [MPEG  ] [..] |
| [X] adaptive quantization   [LUMIMASK] |
|                                        |
|                   Min      Max         |
| I-VOP            [  2 ]   [ 8  ]       |
| P-VOP            [  2 ]   [ 12 ]       |
| B-VOP            [  2 ]   [ 12 ]       |
|                                        |
| B-VOP quantization ratio  [      ]     |
| B-VOP quantization offset [      ]     |
|                                        |
+----------------------------------------+

9.1 Quantization type drop-down list shall specify
    H.263, MPEG and MPEG-Custom. When MPEG-custom is
    select, the [..] button will become enabled.
    When the button is clicked, the quantization
    table editor dialog is displayed.

9.2 the adaptive quantization check box enables the
    drop-list on the right hand side. this box
    will list the available adapt. quantization
    algos. ie. LUMIMASKING, RefsAlgo, etc.

9.3 I/P/B-vop min/max quantizers text boxes
9.4 B-vop quantizer ratio/offset text box


10.0 ADVANCED #2: TOOLS

+-MPEG tools-----------------------------+
|                                        |
| [x] Interlacing                        |
| [x] Quarterpel                         |
| [x] Global Motion Compenation          |
[ [x] Reduced resolution                 |
|                                        |
| Minimum I-VOP distance      [  4  ]    |
|                                        |
| [x] B-VOP                              |
|     Max conseutive B-VOPs   [  4  ]    |
|     [x] Closed GOP                     |
|     [x] Packed bitstream (Divx501+)    |
|                                        |
+----------------------------------------+

10.1 "MPEG-quant" is by definition a mpeg4 tool,
     but i think more appropriate in the quantization section.

10.1 "Minimum I-VOP distance" could also be 
     called "Mximum consecutive P-VOPS"



11.0 ADVANCED #3:  PRE-PROCESSING

Pre-processing tools.

+----------------------------------------+
|                                        |
| [X] Chroma optimizer                   |
| [X] Print debug info
|                                        |
+----------------------------------------+

12.0 ADVANCED: #4: DEBUG

CPU feature auto/manual dection and num_thread edit box.

+----------------------------------------+
|                                        |
| (.) Automatically CPU optimizations    |
| (.) Force optimisations                |
|     [x] MMX       [x] MMXEXT           |
|     [x] 3DNow!    [x] 3DNow! 2         |
|     [x] SSE       [x] SSE2             |
|                                        |
|     Number of threads  [        ]      |
|                                        |
| Fourcc   [XVID]                        |
|                                        |
+----------------------------------------+

12.1 FourCC drop-down edit box, consiting of
     XVID, DIVX and DX50. Do many people use this
     feature?




More information about the XviD-devel mailing list