therealjoeblow
4th May 2004, 06:30
@len0x,
I've done several tests, and I am *not* saying there's anything wrong, this is just for my own interest and discussion.
The latest test I did last night, I ran AutoGK 1.19 with autowidth settings and did a 2-cd encode with AC3-6CH on a 2h16m movie. AutoGK chose a resolution of 608x352. The final encode looks fine to me. I ran it through 'DivX DRF Analyzer v0.9.5' from
http://www.geocities.com/analyzerDRF/
and it determined that the average DRF quantizer was 3.39, and recommends that I should select a target size of 544x320. So, I reran AutoGK, and left the autowidth turned on, but this time I set the audio to AC3-2CH, assuming that AutoGK would use the same resolution, but use the extra bits to get a lower DRF quantizer. But instead, it now chose a resolution of 640x368, and the resulting DRF quant was 3.41 with a recommended resolution of 576x320, not much change in the DRF Analyzer report.
Both of the final encodes look fine to me, but that's what I've noticed in just about all cases over the past months when I enable autowidth - AutoGK always produces files that DRF Analyzer pegs at average Q~3.4, and it always recommends using a smaller size.
I don't know if my theory has any merit or not, but since encoding video is a lossy process, and you *have* to throw away data, the way I look at it is you have 2 choices:
1) go with a smaller WxH size so that the codec has less pixels to encode, and therefore can allocate more bits per pixel (and so the codec has to do less of the data dumping) - in this case you have to let the resizer throw away the data without a whole lot of control,
*or*
2) go with a larger WxH size, and let the codec do it's magic in throwing away the data.
The way I look at it, the codec *should* be the more intelligent of the 2 (codec vs. resizer), and therefore it's probably better to let it do it's work, since that's what it was designed to. Going with the resizer as the brains behind the data discard operation probably isn't as good an idea, since it can't make intelligent decisions and it just averages out the process. In the resizer case, you probably get a worse *overall* end product, even though DRF Analyzer will tell you that your average quantizer is lower (and therefore the codec had to throw away less data) - The way I'd see it is that the codec had to throw out less data simply because less data existed in the first place to work with, so the DRF analyzer report is somewhat 'artificial'.
What are your thoughts - is that the logic you implemented in your decision scripts?
I've appended the DRF Analyzer Reports for both trials following:
*********************
***FILE 1 ANALYSIS***
*********************
DivX DRF Analyzer v0.9.5 Report!
File Name: J:\Encodes\File1.avi
FourCC: XVID
Codec: XviD0030
Resolution: [ Width: 608 Height: 352 ]
Frame Rate: 23.976 frames per second
The Video has 196032 frames [ 02:16:16 ]
Average Frame quality is MEDIUM [Average DRF/quantizer is 3.39]
Standard Deviation: Quality is MEDIUM [Std. Deviation is 1.00]
Image Resolution is MEDIUM
There are NO frame drops ( NO drops is better )
Recomended Resolution: [544x320] (Target DRF/quantizer=2.8)
Performance Caracteristics:
Macroblocks per frame: 836
The Width is multiple of 32
Kilobits per Second: 958.22
Kilobits per Frame: 39.96
Kilobits per Macroblock: 0.048
Bits per Pixel: 0.19
Frame Type Statistics :
I Frames: 0.80%
P Frames: 50.17%
B Frames: 49.04%
S Frames: 0.00%
N Frames: 0.00%
(More Advanced Codecs use B and S frames)
Frame Quality Statistics :
DRF=1&2: 46005 23.7%
DRF=3: 52335 26.9%
DRF=4: 67696 34.8%
DRF=5: 28431 14.6%
DRF=6: 0 0.0%
DRF=7: 0 0.0%
DRF=8: 0 0.0%
DRF=9: 0 0.0%
DRF>9: 0 0.0%
KeyF/DeltaF: 0.80%
KeyDRF<4: 1565
KeyDRF=4: 0
KeyDRF>4: 0
AverageKeyDRF: 2.44
MAXDRF: 5
AverageDRF: 3.39
Deviation: 1.00
*********************
***FILE 1 ANALYSIS***
*********************
DivX DRF Analyzer v0.9.5 Report!
File Name: J:\Encodes\File2.avi
FourCC: XVID
Codec: XviD0030
Resolution: [ Width: 640 Height: 368 ]
Frame Rate: 23.976 frames per second
The Video has 196032 frames [ 02:16:16 ]
Average Frame quality is MEDIUM [Average DRF/quantizer is 3.41]
Standard Deviation: Quality is MEDIUM [Std. Deviation is 1.00]
Image Resolution is HIGH
There are NO frame drops ( NO drops is better )
Recomended Resolution: [576x320] (Target DRF/quantizer=2.8)
Performance Caracteristics:
Macroblocks per frame: 920
The Width is multiple of 32
Kilobits per Second: 1020.72
Kilobits per Frame: 42.57
Kilobits per Macroblock: 0.046
Bits per Pixel: 0.19
Frame Type Statistics :
I Frames: 0.80%
P Frames: 50.20%
B Frames: 49.00%
S Frames: 0.00%
N Frames: 0.00%
(More Advanced Codecs use B and S frames)
Frame Quality Statistics :
DRF=1&2: 43696 22.5%
DRF=3: 54714 28.1%
DRF=4: 66130 34.0%
DRF=5: 29927 15.4%
DRF=6: 0 0.0%
DRF=7: 0 0.0%
DRF=8: 0 0.0%
DRF=9: 0 0.0%
DRF>9: 0 0.0%
KeyF/DeltaF: 0.80%
KeyDRF<4: 1565
KeyDRF=4: 0
KeyDRF>4: 0
AverageKeyDRF: 2.48
MAXDRF: 5
AverageDRF: 3.41
Deviation: 1.00
I've done several tests, and I am *not* saying there's anything wrong, this is just for my own interest and discussion.
The latest test I did last night, I ran AutoGK 1.19 with autowidth settings and did a 2-cd encode with AC3-6CH on a 2h16m movie. AutoGK chose a resolution of 608x352. The final encode looks fine to me. I ran it through 'DivX DRF Analyzer v0.9.5' from
http://www.geocities.com/analyzerDRF/
and it determined that the average DRF quantizer was 3.39, and recommends that I should select a target size of 544x320. So, I reran AutoGK, and left the autowidth turned on, but this time I set the audio to AC3-2CH, assuming that AutoGK would use the same resolution, but use the extra bits to get a lower DRF quantizer. But instead, it now chose a resolution of 640x368, and the resulting DRF quant was 3.41 with a recommended resolution of 576x320, not much change in the DRF Analyzer report.
Both of the final encodes look fine to me, but that's what I've noticed in just about all cases over the past months when I enable autowidth - AutoGK always produces files that DRF Analyzer pegs at average Q~3.4, and it always recommends using a smaller size.
I don't know if my theory has any merit or not, but since encoding video is a lossy process, and you *have* to throw away data, the way I look at it is you have 2 choices:
1) go with a smaller WxH size so that the codec has less pixels to encode, and therefore can allocate more bits per pixel (and so the codec has to do less of the data dumping) - in this case you have to let the resizer throw away the data without a whole lot of control,
*or*
2) go with a larger WxH size, and let the codec do it's magic in throwing away the data.
The way I look at it, the codec *should* be the more intelligent of the 2 (codec vs. resizer), and therefore it's probably better to let it do it's work, since that's what it was designed to. Going with the resizer as the brains behind the data discard operation probably isn't as good an idea, since it can't make intelligent decisions and it just averages out the process. In the resizer case, you probably get a worse *overall* end product, even though DRF Analyzer will tell you that your average quantizer is lower (and therefore the codec had to throw away less data) - The way I'd see it is that the codec had to throw out less data simply because less data existed in the first place to work with, so the DRF analyzer report is somewhat 'artificial'.
What are your thoughts - is that the logic you implemented in your decision scripts?
I've appended the DRF Analyzer Reports for both trials following:
*********************
***FILE 1 ANALYSIS***
*********************
DivX DRF Analyzer v0.9.5 Report!
File Name: J:\Encodes\File1.avi
FourCC: XVID
Codec: XviD0030
Resolution: [ Width: 608 Height: 352 ]
Frame Rate: 23.976 frames per second
The Video has 196032 frames [ 02:16:16 ]
Average Frame quality is MEDIUM [Average DRF/quantizer is 3.39]
Standard Deviation: Quality is MEDIUM [Std. Deviation is 1.00]
Image Resolution is MEDIUM
There are NO frame drops ( NO drops is better )
Recomended Resolution: [544x320] (Target DRF/quantizer=2.8)
Performance Caracteristics:
Macroblocks per frame: 836
The Width is multiple of 32
Kilobits per Second: 958.22
Kilobits per Frame: 39.96
Kilobits per Macroblock: 0.048
Bits per Pixel: 0.19
Frame Type Statistics :
I Frames: 0.80%
P Frames: 50.17%
B Frames: 49.04%
S Frames: 0.00%
N Frames: 0.00%
(More Advanced Codecs use B and S frames)
Frame Quality Statistics :
DRF=1&2: 46005 23.7%
DRF=3: 52335 26.9%
DRF=4: 67696 34.8%
DRF=5: 28431 14.6%
DRF=6: 0 0.0%
DRF=7: 0 0.0%
DRF=8: 0 0.0%
DRF=9: 0 0.0%
DRF>9: 0 0.0%
KeyF/DeltaF: 0.80%
KeyDRF<4: 1565
KeyDRF=4: 0
KeyDRF>4: 0
AverageKeyDRF: 2.44
MAXDRF: 5
AverageDRF: 3.39
Deviation: 1.00
*********************
***FILE 1 ANALYSIS***
*********************
DivX DRF Analyzer v0.9.5 Report!
File Name: J:\Encodes\File2.avi
FourCC: XVID
Codec: XviD0030
Resolution: [ Width: 640 Height: 368 ]
Frame Rate: 23.976 frames per second
The Video has 196032 frames [ 02:16:16 ]
Average Frame quality is MEDIUM [Average DRF/quantizer is 3.41]
Standard Deviation: Quality is MEDIUM [Std. Deviation is 1.00]
Image Resolution is HIGH
There are NO frame drops ( NO drops is better )
Recomended Resolution: [576x320] (Target DRF/quantizer=2.8)
Performance Caracteristics:
Macroblocks per frame: 920
The Width is multiple of 32
Kilobits per Second: 1020.72
Kilobits per Frame: 42.57
Kilobits per Macroblock: 0.046
Bits per Pixel: 0.19
Frame Type Statistics :
I Frames: 0.80%
P Frames: 50.20%
B Frames: 49.00%
S Frames: 0.00%
N Frames: 0.00%
(More Advanced Codecs use B and S frames)
Frame Quality Statistics :
DRF=1&2: 43696 22.5%
DRF=3: 54714 28.1%
DRF=4: 66130 34.0%
DRF=5: 29927 15.4%
DRF=6: 0 0.0%
DRF=7: 0 0.0%
DRF=8: 0 0.0%
DRF=9: 0 0.0%
DRF>9: 0 0.0%
KeyF/DeltaF: 0.80%
KeyDRF<4: 1565
KeyDRF=4: 0
KeyDRF>4: 0
AverageKeyDRF: 2.48
MAXDRF: 5
AverageDRF: 3.41
Deviation: 1.00