[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