View Full Version : QuEnc 0.59 [BETA]


Nic
3rd November 2004, 17:29
I normally don't like making more threads for the same toy but this is quite a radical code change, so I thought it deserved it.

http://nic.dnsalias.com/QuEnc.zip

EDIT:
Please check http://nic.dnsalias.com for all the latest updates

Changes:

Now has Audio Encoding support! It can encode to raw mp2/ac3 :)
Can mux and encode at the same time! Can now encode video and audio from an AVS into a SVCD or DVD compatible MPG file, or into a VCD compatible MPEG-1 System file.
Can automatically create an AVS for AVI or WAV files, so it can load them directly, "as is" for encoding.
Uses Quant 2 for 1st pass encoding, for a mild boost to 2 pass encoding quality
Can now do Constant Quantizer encoding, just use a bitrate of 31 or less and it will encode using that quantizer.
Bugfixes

Let me know of any problems. This is quite a lot of code change as you'll see from the source, so it's likely there are bugs somewhere(although I have tested it quite a bit).

Cheers,
-Nic

Koepi
3rd November 2004, 17:44
Yay, thanks Nic! I can't wait to get home from work and stress test the new version :) (Though I just bought a DVD+-RW burner and shouldn't need that anymore ;) But there's no thrill in 1-click-shrinks. I'll still do DVD-9-to-1CD-SVCD encodes with QuEnc!)

/me happy.

One question though - if I already encoded an ac3 to mp2 audio, is it possible for QuEnc to simply mux that into a final program stream? Or is that on the ToDo-list? :)

Cheers,

Koepi

Nic
3rd November 2004, 17:49
It's not particularly straightforward to use external files, codecs and libavformat together. But is do-able. I'd much rather use tooLame than libavcodec's MP2 Encoder, so that's probably on the list first. :)

Cheers,
-Nic

Guest
3rd November 2004, 18:25
Very cool!!!
Tin2tin

Teegedeck
3rd November 2004, 19:04
Hip-hip-hooray! Now things should get much easier for me, thanks to you!

SILICON
3rd November 2004, 19:10
Sorry,

The link download the version 0.55 Alfha. Am I wrong?

Teegedeck
3rd November 2004, 19:19
It's 0.56 alpha over here.

It works (with 2-channel audio)!! - how remarkably easy it all is now! :) QuEnc must be the most complete and user-friendly encoder on the market, now, I guess.

The way you use the same field for entering bitrate or constant quant is a bit of a startler... Like it. ;) How about writing "quantizer or bitrate" next to it for us numbskulls, though?

bergi
3rd November 2004, 19:58
Thanks Nic!

But another feature would be cool. I don't want to run the 2nd pass immediately. XviD like 2pass mode with stats-file would be cool :)

Nic
3rd November 2004, 21:37
@SILICON: Must just be a cacheing problem, try downloading again, if you still have problems, i'll make another copy of the file on my website for you to download that won't be cached.

@Bergi: I can see what your saying, and it does actually create a log file. But I think adding that into the options may just confuse things a little...I'll have a think about how I could integrate it. Suggestions are welcome :)

@Tee: I know ;) I bet most people don't even know you can pause the encoding by pressing the Pause button....Maybe i'll think of a way to make these things a bit more obvious. But I like keeping things uncluttered as much as possible :)

Let me know any more suggestions, I'm slowly running out of ideas.

Cheers,
-Nic

bergi
3rd November 2004, 22:37
If you want some suggestions how the gui could look:

You could add a combobox, that is activated only if 2pass box is checked. The combobox would have 3 differnt options, 1st "Run both passes", 2nd "Run 1st pass of 2 passes" and the 3rd "Run 2nd pass of 2 passes". If the combobox is set 1st or 2nd all options are active, if 2nd option is active there is also the fileselector for the stats file active. If the 3rd option is selected only the fileselector is active, other parts of the gui are inactive.

Amnon82
3rd November 2004, 22:45
@bergi:

Thats exactly I would do it ...

@Nic:

Suggestions:

You can build in a prediction-mode. As You know I've coded ESD (EasySVCD/DVD (http://www.brckomania.net/CYBERNETSOFTWARE/FILES/EasySVCDDVD62.exe)). It is a GUI for Encoding DVDs and AVIs easierly.
I used Incredible Slicer.avs for the Core.

Also I added a resizing-mode to my GUI, including preview in window and fullscreen. Maybe You want also add this feature to your encoder directly.

Also Subtitle-support will be cool. I added also this to my GUI.
If you want I can upload the Delphi-Source for You. PM me if You want it.

Bugs in 0.56:

The switch -cmatrix and -nocmatrix don't exists. It is still
-qlb and -noqlb. I hope You fix this in the next release ;)

Questions:

I don't get it yet how the audioencode works. MP2 will be Stereo. What is with AC3? Will it copy the source AC3? Can You post a Sample-AVS-Script? Can I only add one AC3-Stream? Will I get also a MPG-File in the DVD-Mode or a VOB-Structur? (THX for answering this.)

I hope this helps You.

Regards

Amnon82

Nic
3rd November 2004, 22:56
@bergi: Yeah, that does sound like a fair idea. Maybe.... ;)

@Amnon82: I don't want to bloat QuEnc too much (it's already getting rather large, I think resizing and the like are for other programs (like your GUI :) ) ). Same with subtitle support.

-cmatrix works here for me?

I just tried:
QuEnc -cmatrix c:\matrix.txt
and looking in the Advanced Options Dialog c:\matrix is selected. -nocmatrix worked for me as well? Could you (or anyone) describe the exact problem.
(ok -cmatrix qlb actually tries to load the file qlb, but because it doesn't exist it will use the builtin qlb matrix anyway, so the effect is the same)

What don't you understand about the audio?
Audio will be exactly the same number of channels as the input audio (same with samplerate). Yes you can only add one audio stream at present (does AviSynth support more? I don't know). The DVD mux profile, adds blank NAV packets, so hopefully it can then be used with dvdauthor for authoring (although libavcodec may need improvements to work 100% correctly, but essentially you will get one big vob).
(The audio is encoded from raw audio provided by the AVS, so of course it will not be an exact copy of the source AC3, but a re-encoded version).

Hope that clears things up a little,

-Nic

Peter1234
3rd November 2004, 23:31
Nic,
Thanks for great program. The audio seems to always get encoded at 44.1 KHz even when DVD mux profile is selected (I am using WavSource to input audio).

EDIT - Oh! From your last post I see it will always be same as source bit rate.

Amnon82
3rd November 2004, 23:38
I did a little test with the version 0.56.

The AVS-Script I used:

# Created with EasySVCD/DVD 0.63 RC1 - visit: www.cydvd.tk
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\D2V\DGDecode.dll")
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\D2V\ac3source.dll")
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\D2V\grip.dll")
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\VSRip\VSFilter.dll")
mpeg2source("D:\test\testac3.d2v")
AC3source("D:\test\testac3.ac3")
#SourceColour
GripCrop(480, 576, source_anamorphic=TRUE, dest_anamorphic=false)
GripSize(resizer="BicubicResize")
#NoSubtitle1
GripBorders()
Subtitle(" encoded with EasySVCD/DVD 0.63 RC1 - (C) 2004 CYDVD.Inc",5,60,0,250,"Arial",14,$999999)
Subtitle(" Final avg.Bit: 1850 GOP: 15",5,80,0,250,"Arial",14,$999999)
#NoSubPlace_here

The Result:

I tested DVD and SVCD. In both modes I only get the right front channel. This is a bug I already know of my program ACDrei which used the ffmpeg-codec for audio-encoding. If the source is AC3 5.1 Channel it encodes wrong. Maybe You should use another audioencoder.

The Samples:

SVCD-MPEG (6 MB) (http://www.brckomania.net/CYBERNETSOFTWARE/FILES/testac3svcd056.mpg)

Original AC3 Source (1.3 MB) (http://www.brckomania.net/CYBERNETSOFTWARE/FILES/testac3.ac3)

@Nic:

this is my Batch:

@ECHO off
ECHO Batchfile created with EasySVCD/DVD 0.63 RC1 - visit: www.cydvd.tk
ECHO Start encoding 3 percent of movie for prediction
C:\Cybernetsoftware\EasySVCD-DVD\Encoder\QuEnc.exe -i "D:\test\final62.avs" -o "D:\test\fin62.m2v" -b -4550 -maxbitrate 9550 -dc 10 -1 -mpeg2 -nohq -vbr -noscene -notrell -nocgop -nointerlaced -noextreme -gopsize 15 -maxbframes 2 -cmatrix -matrixfile "C:\Tools\cqme\CYMAT2.0EX.txt" -aspectratio 16:9 -bff -auto -close
exit

-cmatrix gives me 'Bad Parameter'.

If I change it to this:

@ECHO off
ECHO Batchfile created with EasySVCD/DVD 0.63 RC1 - visit: www.cydvd.tk
ECHO Start encoding 3 percent of movie for prediction
C:\Cybernetsoftware\EasySVCD-DVD\Encoder\QuEnc.exe -i "D:\test\final62.avs" -o "D:\test\fin62.m2v" -b -4550 -maxbitrate 9550 -dc 10 -1 -mpeg2 -nohq -vbr -noscene -notrell -nocgop -nointerlaced -noextreme -gopsize 15 -maxbframes 2 -qlb -matrixfile "C:\Tools\cqme\CYMAT2.0EX.txt" -aspectratio 16:9 -bff -auto -close
exit

... it works. I tried it many times!

Amnon82
4th November 2004, 00:06
It maybe a Bug:

I changed my last Script a littlebit to this version:

# Created with EasySVCD/DVD 0.63 RC1 - visit: www.cydvd.tk
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\D2V\DGDecode.dll")
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\D2V\ac3source.dll")
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\D2V\grip.dll")
LoadPlugin("C:\Cybernetsoftware\EasySVCD-DVD\VSRip\VSFilter.dll")
###CHANGE BEGINNING
a=mpeg2source("D:\test\testac3.d2v")
b=directshowsource("D:\test\testac3.ac3",fps=25)
audiodub(a,b)
###CHANGE END
#SourceColour
GripCrop(480, 576, source_anamorphic=TRUE, dest_anamorphic=false)
GripSize(resizer="BicubicResize")
#NoSubtitle1
GripBorders()
Subtitle(" encoded with EasySVCD/DVD 0.63 RC1 - (C) 2004 CYDVD.Inc",5,60,0,250,"Arial",14,$999999)
Subtitle(" Final avg.Bit: 1850 GOP: 15",5,80,0,250,"Arial",14,$999999)
#NoSubPlace_here

I checked 2Pass and started encoding. Before QuEnc begins to do the 2nd Pass it closes it self without a error message...
If I don't check 2Pass it closes it self if I click on 'Start'.

dragongodz
4th November 2004, 00:12
Let me know any more suggestions, I'm slowly running out of ideas.
i thought we had enough on the to-do list for 0.60 atleast. i planned to update it after 0.60 was released. :)

Also I added a resizing-mode to my GUI,
since Avisynth has a variety of resizing options there is no need for it to be in QuEnc aswell.

Also Subtitle-support will be cool.
since QuEnc is doing the muxxing thats not such a bad idea. the mplex source could be used for adding that of course. maybe something for after 0.60 ?

-cmatrix gives me 'Bad Parameter'
the implamentation of this is being changed to simplify things(less commands etc). try these instead

to use the internal QLB matrix -
C:\Cybernetsoftware\EasySVCD-DVD\Encoder\QuEnc.exe -i "D:\test\final62.avs" -o "D:\test\fin62.m2v" -b -4550 -maxbitrate 9550 -dc 10 -1 -mpeg2 -nohq -vbr -noscene -notrell -nocgop -nointerlaced -noextreme -gopsize 15 -maxbframes 2 -cmatrix qlb -aspectratio 16:9 -bff -auto -close

to load and use your own matrix -
C:\Cybernetsoftware\EasySVCD-DVD\Encoder\QuEnc.exe -i "D:\test\final62.avs" -o "D:\test\fin62.m2v" -b -4550 -maxbitrate 9550 -dc 10 -1 -mpeg2 -nohq -vbr -noscene -notrell -nocgop -nointerlaced -noextreme -gopsize 15 -maxbframes 2 -cmatrix "C:\Tools\cqme\CYMAT2.0EX.txt" -aspectratio 16:9 -bff -auto -close

as Nic also said, if the "C:\Tools\cqme\CYMAT2.0EX.txt" doesnt exist or cant be loaded then the QLB matrix will be used.

oh and i am guessing Nic changed -qlb option to be an alias for "-cmatrix qlb" since thats what he told me he would probably do when we were discussing how this should all work. :)

Amnon82
4th November 2004, 00:33
I did another test using this example-script:

ovText = "AviSynth Authors:"+chr(13)+
\ "----------------------------"+chr(13)+
\ "Ben Radiak Gould"+chr(13)+
\ "Klaus Post"+chr(13)+
\ "Richard Berg"+chr(13)+
\ "Dividee"+chr(13)+
\ "David Pierre"+chr(13)+chr(13)+
\ "Documentation:"+chr(13)+
\ "----------------------------"+chr(13)+
\ "Wilbert Dijkhof"+chr(13)+
\ "Jonathan Ernst"+chr(13)+
\ "Ernst Peche"+chr(13)+
\ "Arne Stäcker"+chr(13)+chr(13)+
\ "Contributions by:"+chr(13)+
\ "----------------------------"+chr(13)+
\ "Avery Lee, Milan, Naoki Shibata, "+chr(13)+
\ "Peter Pawlowski, Olli Parviainen,"+chr(13)+
\ "Nicolas Capens, DevIL team,"+chr(13)+
\ "Donald Graft, poptones, ARDA"+chr(13)+
\ "Kevin Atkinson, many more..."+chr(13)+chr(13)+
\ "Thanks to:"+chr(13)+
\ "----------------------------"+chr(13)+
\ "Everyone contributing to the project,"+chr(13)+
\ "Doom9 & team, kwag, stickboy"+chr(13)+
\ ""


Blankclip(length=128, width=32,height=32, fps=25)
converttoyuy2()
Coloryuv(showyuv=true)
bg = loop(last + reverse(), 10)

c = framecount(bg)
t_mask = messageclip(ovText, height=c).converttoyv12().coloryuv(levels="tv->pc").trim(0,1)
t_blank = blankclip(t_mask, color=$ffffff)

t_mask_bl = t_mask.blur(1.0).blur(1.0).blur(1.0)

overlay(bg, t_mask_bl, mode="subtract")
overlay(t_blank, mode="blend", mask=t_mask)

frameevaluate("ol_x_offset = 40")
frameevaluate("ol_y_offset = 256 - (current_frame)")

fadeio(15)
converttoyuy2()

video = last

##############################################################
######################### AUDIO ##############################
##############################################################

s_type= "square"
freq_mul = 1.25
len_16 = 0.13

dis_16 = tone(len_16, 311/freq_mul, 44100, 1, s_type) # D#
cis_16 = tone(len_16, 277/freq_mul, 44100, 1, s_type) # C#
sil_16 = dis_16.amplify(0.0) # Silence
e_16 = tone(len_16, 329.5/freq_mul, 44100, 1, s_type) # E
d_16 = tone(len_16, 293.7/freq_mul, 44100, 1, s_type) # D
c_16 = tone(len_16, 261.6/freq_mul, 44100, 1, s_type) # C

p1 = dis_16 ++ sil_16 ++ e_16 ++ dis_16 ++ dis_16 ++ e_16 ++ dis_16 ++ dis_16 ++ e_16 ++ dis_16 ++ dis_16 ++ dis_16 ++ d_16 ++ dis_16 ++ dis_16 ++ dis_16
p2= cis_16 ++ sil_16 ++ d_16 ++ cis_16 ++ cis_16 ++ d_16 ++ cis_16 ++ cis_16 ++ d_16 ++ cis_16 ++ cis_16 ++ cis_16 ++ c_16 ++ cis_16 ++ cis_16 ++ cis_16

p1 ++ p1 ++ p2 ++ p2
last ++ last ++ last
#convertaudioto16bit()
v_low = timestretch(pitch=50).amplifydb(-6)
v_high = timestretch(pitch=200).amplifydb(-12)
mergechannels(last, v_low, v_high)
converttomono()
amplifydb(-12)
audio = last

###################################################################

audiodub (video, audio)

This has audio and generated video. I tried to encode it with QuEnc. QuEnc encoded it but the result isn't acceptable. I encoded it also in TMPGEnc. There it worked out. Try it... ;)

@Dragondogz: For what is then the -matrixfile <custom matrix> switch?
is it the same like -cmatrix <custom matrix>?

-cmatrix <custom matrix> works by the way ;)

Nic
4th November 2004, 00:37
@dgz: qlb, and noqlb just ensure that QLB is used (and vice versa)

-matrixfile is no longer supported, it is now an alias for -cmatrix.

"result isn't acceptable"...doesn't give me much to go on, what isn't acceptable?

I'll try downloading your files tomorrow and replicate the problem.

-Nic

Amnon82
4th November 2004, 00:48
Try the script out. I can't encode it with QuEnc. You can find it also in the Avisynth 2.5 folder. It is called Authors.avs.

You don't need to download the files. The soundproblem with the right-channel is cos of ac3source. It downsamples wrong. So I changed my script form

Mpeg2Source ("MPEG.D2V")
AC3Source ("MPEG.AC3")

into

a=Mpeg2Source ("MPEG.D2V")
b=Directshowsource ("MPEG.AC3")
audiodub (a,b)

... then QuEnc crashed.

If You solve this problem it will be great.

... and I get now the -cmatrix, -matrixfile, -qlb stuff ;)

gn8 my friend.

P.S. If you want you can download my files. You've only to demux the MPG to get the Video ES.

CraigBjorn
4th November 2004, 01:27
I may have messed up something, but I encoded an avs of mine and the result was a ver greenish screen with dots all over the place. I can sort of see the video, but zoomed in and the picture is kind of wrapped around... I've used QuEnc before on my system with out any problems, and it may just be my script.. any ideas?

dragongodz
4th November 2004, 02:06
and I get now the -cmatrix, -matrixfile, -qlb stuff
ye sorry about that. the idea is to make it as simple as possible so the use of 1 command (-cmatrix) to handle loading a custom matrix or using QLB seemed the best idea. :)

This has audio and generated video. I tried to encode it with QuEnc. QuEnc encoded it but the result isn't acceptable
the result was a ver greenish screen with dots all over the place. I can sort of see the video, but zoomed in and the picture is kind of wrapped around
add ConvertToYV12() as your very last line. that fixes the problem of unacceptable picture quality with Amnon82's above script, which the results of before looked like CraigBjorn's description. :D

umm i will try and try the audiodub bit out soon. just have to find another 5-10 break to do so. :)

CraigBjorn
4th November 2004, 02:15
thanx, duh... now I feel like an idiot

dragongodz
4th November 2004, 04:20
thanx, duh... now I feel like an idiot
hahaha dont worry it happens to us all. :)
actually it shows that YV12 detection isnt working so thats useful.


ok tested out Amnon82's

a=Mpeg2Source ("MPEG.D2V")
b=Directshowsource ("MPEG.AC3")
audiodub (a,b)

no crash and encoded fine using intervideo ac3 decoding. so i downloaded ac3filter 0.70b(yes i know there are RC versions aswell, with their own bugs) and tested that. no problems again.
so Amnon82 can you disable ac3 decoding in MediaPlayerClassic, close it and then run it and load the avs in it ? then you will be able to see what filters are being used, assuming it plays ok in that.

Peter1234
4th November 2004, 09:12
Nic,
If you are looking for useful features to add to QuEnc, I suggest adding the ability to use a pulldown flag. I am not an expert, so I may just not know how to do this, but it seems that the pulldown flag needs to be added before the audio is muxed. Therefore, having the ability to mux audio within QuEnc does not help if a pulldown flag is to be added. It would seem like an easy addition to provide an option to add a pulldown flag before muxing audio. I assume you could call pulldown.exe.

Koepi
4th November 2004, 11:01
Ok, my first feedback:

"usual", simple m2v-encoding works flawless and produces very nice quality output (IMO better than QuEnc 0.55a 2pass output, const. quant first pass seems to proove once more to be superiour to CBR first pass).

Currently I'm testing matrix 1+2+3 -to - 1dvd ;) There I also use the built-in ac3-encoder at 192kbps. Matrix1 will be ready in ~3 hours but I can't really check the result until i get home.

(I know that it's nuts and even when resized to 688x304+borders in 4:3 AR it can't look good, but I want to find the "border line" to acceptable results. Now I only need to dig up the stuff on how to implement a simple menu for the dvd with freeware tools...but that doesn't belong here.)

I hope this helps

Regards
Koepi

dragongodz
4th November 2004, 11:32
Now I only need to dig up the stuff on how to implement a simple menu for the dvd with freeware tools...but that doesn't belong here
http://www.videohelp.com/~liquid217/dvdauthorgui.pl
http://www.dvdshrink.info/titlewriter/
:D

dragongodz
4th November 2004, 11:36
hmm i was thinking about the muxxing of subs. when a vob or svcd mpeg ,that has subs already muxxed in, is loaded in to an authoring program are they detected ? this needs to be really known for it to be worth considering because if the subs are not picked up(as i suspect they may not be) then it would be pointless adding sub muxxing to QuEnc. :)

Abond
4th November 2004, 15:15
@dragongodz
dvdauthor will make it with audio and subs muxed. In fact all the guis for dvdauthor mux the files with spumux before the "real" authoring with dvdauthor.

@Koepi
I would recomend GFD
http://www.boraxsoft.de/GUI_DVDauthor_eng_01.shtml

Koepi
4th November 2004, 15:53
@dragongodz, Abond:

thank you for the hints mates, I'll have a closer look at those GUIs (most amzingly: those GUIs already support QuEnc :cool: ) But let's get back on-topic, we don't want to ruin the feedback thread, right?

@Nic:

another suggestion about the audio stuff. Would it be possible to have a third textbox where you could select an audio-file to multiplex into the final file? (this could be used to i.e. start a list of audio files,...). It would be simpler than using AudioDub (and decode the ac3 to wav first - somehow the ac3-decoding-dshow-graph won't talk to avisynth on my system). Well, simpler for the user at least :D

And yet another one. If you set bitrate between 1 and 32, you use fixed quant. How about using "quality" for the range 33-100? (Like in fractional quantisers.) Oh, and another good one. If you set something above let's say 25000 as bitrate, treat it as kbytes for target size.

EDIT:
I never mentioned the bugs fixed for me in this version, here we go:
- crash during 2nd pas / star wars episode 6 is gone
- AR signaling works as expected now (former versions scaled correctly on DVD player soft- and hardware, but i.e. MPC and VLC didn't correct the AR)
- bitrate reaches desired size more gracefully since QuEnc 0.55a.
/EDIT

Thank you for that great GUI and added code Nic!

Cheers (well, in exactly 1 hour I'll have my first hefeweizen, but you can't start early enough training the cheers ;) )

Koepi

Teegedeck
4th November 2004, 16:25
Hefeweizen? Why, for Christ's sake, why?!? ;)

Koepi
4th November 2004, 16:57
LOL :eek:

Ok, I pretend to not have understood what you meant ;) :
Because "hefeweizen" is international. Kristallweizen is not that understandable I fear.

I could go with Beck's, but I just read some marketing news today that Beck's is Inbev's (formerly known as Interbrew) best selling high price trade mark. (Still I prefer it...).

This is SOOOO off-topic now.

Ok, gotta go and meet some friends in a pub :)

Cheers again

Koepi

Koepi
4th November 2004, 20:17
Unbelievable. The result looks better than any Nandub SBC rip i've ever seen of The Matrix. The sound is a little to silent (hm, wrong word, it's not loud enough for my taste).

Bitrate for video is 1278kbps - resized+bordered as already written before.

Anyhow, excellent work!

Regards,

Koepi

Amnon82
4th November 2004, 22:33
ConvertToYV12() ... yes this I didn't added to the script ...

It was the AC3Filter 1.01a RC1 who crashed QuEnc. RC5 gives me a wrong-speed for the audio, but works well in MPC.
Also 0.70b do this. If I select AC3 in QuEnc it encodes with the wrong speed for audio. As I swiched it to MP2 in QuEnc it crashed again. Also with 0.70b. Which source did You used for Your test dragongodz?

spase
4th November 2004, 23:40
I made several test files with quenc (muxed audio/video streams... .mpg files) and they dont seem to work with either dvdauthorgui or GFD.

here is the dvdauthor log as given by dvdauthorgui: http://wam.umd.edu/~ramseth/DVDAuthorLOG.txt

and in GFD it simply doesnt accept the .mpg

(in dvdauthorgui the mpg has to be renamed to vob.)

edit: i can provide dvdauthor.exe.stackdump if needed

edit2: the .mpg file is playable in media player classic and looks and sounds fine.

edit3: perhaps an option for not muxing the audio and video, but still encoding it would be a good temporary fix if you can't figure it out at first.

Peter1234
5th November 2004, 00:25
Nic,
QuEnc 0.56a mpeg2 files produce error in DoPulldown GUI. The error is not specified. It only says "Pulldown finished with errors". The following was script used;

Mpeg2Source("C:\Documents and Settings\user\Desktop\test.d2v",cpu=4,idct=5)
killaudio()
trim(44407,45848)

I am using 3GHz P4 with XP.


EDIT: no error when QuEnc 0.55a is used.

dragongodz
5th November 2004, 02:41
If I select AC3 in QuEnc it encodes with the wrong speed for audio. As I swiched it to MP2 in QuEnc it crashed again. Also with 0.70b. Which source did You used for Your test dragongodz?
well i can jump back and forwards from ac3 to mp2 etc with no crash. hmm may i suggest you run bigfix on your system to make sure this isnt being caused by a windows codec problem ?
http://forums.divx.com/viewtopic.php?topic=54711&forum=1

i used the files you provided the links for. i demuxxed the video and used the seperate ac3.

in dvdauthorgui the mpg has to be renamed to vob.
perhaps an option for not muxing the audio and video, but still encoding it would be a good temporary fix if you can't figure it out at first.
or simply have use the .vob extension when thats selected as mux type. though outputting seperate files may be worth doing aswell because not all authoring programs may accept/want an already muxxed vob. would be nice if some people would test some different programs out and report back. :)
oh i should mention there is some work being done on dvd output type in Ffmpeg at the moment so that may not be 100% yet anyway.

let's get back on-topic, we don't want to ruin the feedback thread, right?
remotly related information is still useful for feedback. so long as its related to the output(or use thereof) from QuEnc i am sure Nic wont mind. :)

Would it be possible to have a third textbox where you could select an audio-file to multiplex into the final file?
already suggestion to Nic. may be worth starting a new thread just for peoples ides/suggestions. :)

The sound is a little to silent (hm, wrong word, it's not loud enough for my taste).
some ac3 codecs have an option for boosting the output. if not then there is also the Amplify() and AmplifydB() commands in Avisynth.

PatchWorKs
5th November 2004, 03:06
QuEnc rulez now !

FairUse style would be cool also...

...and, why not, CDRDAO support too !

HaPpY CoDiNg !

burnman99
5th November 2004, 06:39
Have just tried it out and it works great, but is there a way that this can encode audio separately from video? I can demux it myself but it would be nice if this had an option to just encode audio.

Thanks! and great update!

Rog

Nic
5th November 2004, 09:51
@burnman: Yeah you can encode just audio? What makes you think you can't? You can load in a Wav File or an AVS with just audio and it will encode to .mp2 or .ac3...

CraigBjorn
5th November 2004, 13:19
I just encoded a 45min long avs, everything looks great, except the audio near the end is all of a sudden extremely loud, and filled with some white noise, and such. Any ideas?

Peter1234
5th November 2004, 13:44
CraigBjorn,
Are you sure that the source video audio was OK? What was the source video audio format? What audio format were you using for the output video (MP2 or AC3)?

Koepi
5th November 2004, 15:30
Further results:

the DVD mux isn't working correctly. No matter if i keep the output as mpg or vob, it gets reported as broken by every splitting-software. The file plays fine though in MPC, VLC and PowerDVD.
I managed to extract the m2v with vstrip and the ac3 with VobEdit (vstrip won't extract the ac3, and the m2v extracted by vobedit is unplayable). The ac3 gets reported as broken by GUIforDVDAuthor.

Currently I'm reencoding the audio with BeSweet and will start the next try to author my DVD ;)

Regards
Koepi

dragongodz
5th November 2004, 16:18
just ran a short encode through mpeg validator(the thread about it is in the general section somewhere if you want to find it).

dvd mux with ac3 audio -

Begin Program Streams Summary:
Missing Progam End Code...
File "G:\temp2\test.mpg.vob" is a DVD MPEG-2 Program Stream
MPEG file size 4.99 MB
MPEG Packs = 2553
Sectors delay = 0.0 ms
System headers = 64
Rate Bound = 10080000 bps -> 9843 Kbps
Video Bound = 1 active video streams
Audio Bound = 1 active audio streams
Variable Bitrate Operation (System MPEG-2 VBR)
MPEG Pack Size = 2048
Packets per Pack = 1
Program Mux Rate = 9843 Kbps
*PTS underflow (Mux Error)...!!
DTS underflow (Mux Error)...!!
*PTS//DTS Out of Sync (Mux Error)...!!
Total PES packets = 2555
PES Packet Lenght Max. = 2028
Number of Video Streams: 1
Number of Audio Streams: 1
Private Stream 1, ID: BD, packets = 354, Total = 697 KB
*Substream (DVD): AC3 Audio substream 80
PES packets = 354,
Total = 695 KB
Padding Stream, packets = 2, Total = 2 KB
Video stream, ID: E0
PES packets = 2199,
Total = 4.24 MB
End Program Streams Summary.


Begin Video Streams Summary:
*Sequence_end_code NOT FOUND, in Stream E0!!
Video Delay Stream E0 = 0.0 ms
Number of Frames = 637 -> 25.48 Sec
Number of Sequence Headers = 43
Sequence Headers Aligned = No
*Horizontal Size = 480
Vertical Size = 576
Aspect Ratio = 4:3
Frame Rate = 25 fps
P-STD Buffer Size Bound = 230 KB (From System Header)
VBV Buffer Size = 112 -> (224 KB)
Stream Type = MPEG-2 MP@ML VBR
Chroma Format = 4:2:0
Picture Structure = Frame
Intra DC Precision = 8
*Top Field First = No
*DCT Type = Frame
Quant. Scale = Linear
Scan Type = Alternate
Frame Type = Interlaced
Number of GOPs = 43
*First GOP Closed = No
Number of Closed GOP = 0
Max. frames per GOP (without first & last) = 15
Min. frames per GOP (without first & last) = 15
Avg. frames per GOP (Total) = 14.81
Max. Frame Size = 68418
Min. Frame Size = 1040
Average Frame Size = 6954
Frames I = 43 -> 6%
Avg. Frame I Size = 100 KB
Frames I Total Size = 1220143 bytes, size 27%
Frames P = 171 -> 26%
Avg. Frame P Size = 25 KB
Frames P Total Size = 1620175 bytes, size 36%
Frames B = 424 -> 66%
Avg. Frame B Size = 10 KB
Frames B Total Size = 1589483 bytes, size 35%
Nominal bitrate (Sequence Header) = 6800000 bps -> 6640 Kbps
Average Bitrate = 1358 Kbps
Peak Bitrate (1 sec) = 2033 Kbps
End Video Streams Summary.


Begin Audio Streams Summary:
End Audio Streams Summary.

Video Stream Duration: 25.48 sec -> 25:12 (secs:frames)

Duration Difference from Video to Audio = 25480 msec
Initial Delay Audio to Video (PTS based) = 0 msec

----------------------------------------
dvd mux with mp2 audio -

Begin Program Streams Summary:
Missing Progam End Code...
File "G:\temp2\test2.mpg" is a MPEG-2 Program Stream
MPEG file size 4.98 MB
MPEG Packs = 2552
Sectors delay = 0.0 ms
System headers = 64
Rate Bound = 10080000 bps -> 9843 Kbps
Video Bound = 1 active video streams
Audio Bound = 1 active audio streams
Variable Bitrate Operation (System MPEG-2 VBR)
MPEG Pack Size = 2048
Packets per Pack = 1
Program Mux Rate = 9843 Kbps
*PTS underflow (Mux Error)...!!
*DTS underflow (Mux Error)...!!
*PTS//DTS Out of Sync (Mux Error)...!!
Total PES packets = 2554
PES Packet Lenght Max. = 2028
Number of Video Streams: 1
Number of Audio Streams: 1
Padding Stream, packets = 2, Total = 1 KB
MPEG Audio stream, ID: C0
PES packets = 353,
Total = 0.69 MB
Video stream, ID: E0
PES packets = 2199,
Total = 4.24 MB
End Program Streams Summary.


Begin Video Streams Summary:
*Sequence_end_code NOT FOUND, in Stream E0!!
Video Delay Stream E0 = 0.0 ms
Number of Frames = 637 -> 25.48 Sec
Number of Sequence Headers = 43
Sequence Headers Aligned = No
*Horizontal Size = 480
Vertical Size = 576
Aspect Ratio = 4:3
Frame Rate = 25 fps
P-STD Buffer Size Bound = 230 KB (From System Header)
VBV Buffer Size = 112 -> (224 KB)
Stream Type = MPEG-2 MP@ML VBR
Chroma Format = 4:2:0
Picture Structure = Frame
Intra DC Precision = 8
*Top Field First = No
*DCT Type = Frame
Quant. Scale = Linear
Scan Type = Alternate
Frame Type = Interlaced
Number of GOPs = 43
*First GOP Closed = No
Number of Closed GOP = 0
Max. frames per GOP (without first & last) = 15
Min. frames per GOP (without first & last) = 15
Avg. frames per GOP (Total) = 14.81
Max. Frame Size = 68418
Min. Frame Size = 1040
Average Frame Size = 6954
Frames I = 43 -> 6%
Avg. Frame I Size = 100 KB
Frames I Total Size = 1220143 bytes, size 27%
Frames P = 171 -> 26%
Avg. Frame P Size = 25 KB
Frames P Total Size = 1620175 bytes, size 36%
Frames B = 424 -> 66%
Avg. Frame B Size = 10 KB
Frames B Total Size = 1589483 bytes, size 35%
Nominal bitrate (Sequence Header) = 6800000 bps -> 6640 Kbps
Average Bitrate = 1358 Kbps
Peak Bitrate (1 sec) = 2033 Kbps
End Video Streams Summary.


Begin Audio Streams Summary:
Elementary Stream C0 is a MPEG Audio Stream
Audio Delay Stream C0 = 0.0 ms
Audio decoded bytes = 4884480 -> 25.44 Sec
P-STD Buffer Size Bound = 4 KB (From System Header)
Found 0 sync words
Audio Sync Losses: 0
Layer = 2
bitrate = 224 Kbps
Frequency = 48000 Hz
Error protection = Disabled
Private flag = 0
Mode = stereo
Copyright flag = 0
Original flag = 0
Emphasis = none
Left Channel DC Level = -84.3 dBFS
Right Channel DC Level = -100.0 dBFS
Left Channel Peak Level = -0.5 dBFS
Right Channel Peak Level = -1.0 dBFS
Left Channel RMS Level = -17.5 dB
Right Channel RMS Level = -17.4 dB
Difference Left-Right RMS Level = 0.0 dB
End Audio Streams Summary.

Video Stream Duration: 25.48 sec -> 25:12 (secs:frames)

Duration Difference from Video to Audio = 40 msec
Initial Delay Audio to Video (PTS based) = 0 msec

dragongodz
5th November 2004, 16:33
note that frame type is reported as interlaced in validator but it bitrate viewer its reported as progresive. :)

also did a couple of quick interlaced encodes. basically the same results but frame type reported as interlaced in bitrate viewer as it should be.

note though that the Top Field First did not work according to both programs no matter if it was ticked in QuEnc or not. both reported not TFF.

is there a way that this can encode audio separately from video? I can demux it myself but it would be nice if this had an option to just encode audio.
Nic what he may mean is encode both video and audio at once but to their elementary streams so you dont need an avs to do first video and then another to do audio. so that would be an extra option in mux profile called "none" so they are not muxxed. :)

Nic
5th November 2004, 17:33
@dgz:
Damn, must have broken the tff feature...I'll look into that tomorrow.
It'd be a bit hacky to create two elemental streams at the same time, but I can see why it'd be useful with libavformat not working as it should...(I have seen that DVD patch, i'll try contacting it's author too)

ffmpeg is a weird project, you'd think they'd get the basics working and build upon it like other projects....still, I'm not complaining, but I do find it strange.

@Koepi: Thanks for the testing Koepi, and sorry it wasn't more successful :(

Cheers,
-Nic

dragongodz
5th November 2004, 17:49
It'd be a bit hacky to create two elemental streams at the same time, but I can see why it'd be useful with libavformat not working as it should
i agree. it would be better to do if avs has both video and audio and mux is none then encode video and then encode audio.

ffmpeg is a weird project, you'd think they'd get the basics working and build upon it like other projects....still, I'm not complaining, but I do find it strange.
yes reading the ffmpeg mailing list can be a real eye opener. :D

Koepi
5th November 2004, 17:51
No big deal at all, Nic! I'm testing for the _fun_ :)

I'm already burning the authored DVD, so I can (hopefully - maybe I messed up something, I needed 3 attempts to make the output of DVDAuthor show me no error messages ;) ) start watching Matrix1 and fall asleep doing that! :)

EDIT: yay, it works :) I finally authored my first DVD, and that only by using freeware. I like that! Thanks everyone for the hints and the tools!

Cheers,

Koepi

makoto916
5th November 2004, 19:42
One slight improvment you could use would be to change the behavior of the -close attribute so it can execute an external file such as a batch as it exits. This would allow for automated execution of muxing tools if you did implement a no-mux feature and just let MPLEX handle it. Sounds like it might be less code to maintain in that case since you wouldn't have to worry about MUXING at all. In fact, if you did implement something like that then technically you wouldn't even need to worry about AC3 or MP2 encoding by just outputting raw PCM and let something like BESweet handle that on the batch execution. Everyone would then be free to use their favorite encoder and tweak it to their hearts desire.

For example, -close could be changed to something like:

-closex "proc.bat %vfn %afn %vbr %abr %asp"

Where vfn = video filename
afn = audio filename
vbr = video bitrate
abr = audio bitrate
asp = aspect ratio

etc, etc. The idea of having these kinds of outputs is so any kind of post-process tool can be used with as much flexability as possible. If you use the naming scheme then a user can affect the executed command line as much as they need.

On the batch end obviously the user just needs %1 %2 %3 variables. If you wanted to get really fancy, you could include a variables section where someone could list the location to the audio encoder, multiplexer, DVD authoring tool, etc and QuEnc could ouput that as a variable on the close statement, or you could even generate the batch file to reduce the steps for the newbie users. If you do auto-execute a self-generated batch, please retain the ability to use just execute a command line for those of us who like to batch everything.

Lots of possibilities.

Either way... thanks for QuEnc. Can't say enough about much this thing rules.

burnman99
5th November 2004, 20:19
Originally posted by Nic
@burnman: Yeah you can encode just audio? What makes you think you can't? You can load in a Wav File or an AVS with just audio and it will encode to .mp2 or .ac3...

Well I'm trying to extract the audio from an AVI File. I know i can just extract as wav or whatever and then encode it but was trying to do it all at once. I tried saving my file as an .mp2 but the video is still there.

Thanks

Rog

CraigBjorn
6th November 2004, 02:07
Originally posted by Peter1234
Are you sure that the source video audio was OK? What was the source video audio format? What audio format were you using for the output video (MP2 or AC3)?

The source was a a type-2 avi extracted from a DV cam. The odder part was that I eventually took it into TMGEnc DVD Author, made the vob files and such, and when I burned it, not just the last bit of the audio, but most of the audio was garbled like that... any ideas?

Peter1234
6th November 2004, 03:11
CraigBjorn,
I do not think the problem is QuEnc. I have encoded type2 DV with it and the audio was fine. Have you played the DV file? What DV codec are you using? What operating system are you using, XP?

EDIT: DV has more than one audio format. If some of your recording was done in one format and some in another, maybe the encoder can not handle the switch. I have not tried that. The audio coming into QuEnc needs to be 48KHz to work in a DVD.

Peter Cheat
6th November 2004, 12:01
@Nic
It looks like using libavformat for muxxing is pretty useless. Although its not as convenient, it would be much better to use mplex because it is dedicated to muxxing. The ffmpeg project is all over the place, they keep adding new codecs while core elements are still broken :rolleyes:

A lot of work needs to be done including:
proper working closed gop
chroma motion (parts are broken or not even written)
scene detection for b-frames (commented out)
decent rate control
quantiser 1 mathematical overflow with mpeg codecs needs to be fixed(occurs rarely)
and the list goes on...

Buggered if I can get through all that myself!

Nic
6th November 2004, 12:52
Hmmm, completely agree on the problems Peter C. (thanks for source BTW :) )

But the current muxing isn't useless, I'm finding it very useful, but it's a shame they don't improve things.

Don't think I'll add mplex to QuEnc, but might make a separate app that QuEnc can co-operate with based on mplex...Might do it in ReJig, haven't decided yet.
(Hmmm, then again I maybe able to plug mplex code into QuEnc, without having to make temporary files...I'll have to check ;) )

-Nic

Peter Cheat
6th November 2004, 14:09
Yeah I was thinking about adding it to QuEnc source since mplex is already in C++. I'm not sure how easy it would be to encode and mux simultaneously, but it shouldn't be too hard. I'll have a quick look over the code to see how hard it would be to do.

Saying that the muxxing was useless was a little harsh I have to admit. But the SVCD profile is not SVCD compliant, it must be a system stream, not a program stream. Libavformat can't output a (valid) system stream.

Nic
6th November 2004, 14:35
But the SVCD profile is not SVCD compliant, it must be a system stream, not a program stream. Libavformat can't output a (valid) system stream.
Really? I didn't know that, I don't know why libavformat bother calling it a "svcd" profile then? (you'll see the "svcd" profile I use in libavformat/mpeg.c)

-Nic

dragongodz
6th November 2004, 14:52
SVCD profile is not SVCD compliant, it must be a system stream, not a program stream.
sorry but thats wrong. svcd does use a program stream but it is not exactly the same as a normal program stream. try muxxing with say Tmpgenc to system, program, svcd mux types. then load them in to something to identify them(i quickly tested Gspot 2.52) and you will see svcd is identified as a program stream even though it is slightly smaller than the normal program stream mux. also Philips who was one of the companies that set the standard say its a program stream aswell.
http://www.licensing.philips.com/information/cd/video/documents575.html

jdobbs
6th November 2004, 15:22
Great work, Nic. You never cease to amaze me. I want to be just like you when I grow up. :D

Peter Cheat
7th November 2004, 10:38
Originally posted by dragongodz
sorry but thats wrong. svcd does use a program stream but it is not exactly the same as a normal program stream. try muxxing with say Tmpgenc to system, program, svcd mux types. then load them in to something to identify them(i quickly tested Gspot 2.52) and you will see svcd is identified as a program stream even though it is slightly smaller than the normal program stream mux. also Philips who was one of the companies that set the standard say its a program stream aswell.
http://www.licensing.philips.com/information/cd/video/documents575.html

Super Video CD stream (I was calling it a system stream by mistake) is a little different to a program stream. When you author an SVCD, you can have up to 800MB of audio+video (error resilience is reduced). When I use the 'SVCD' profile in QuEnc, I'm restricted to 700MB (Program Stream) by Nero (and WinOnCD). It's reported that the stream is invalid for a Super Video CD. This is the same error you get when muxxed using TMPEnc's MPEG-2 Program Stream profile. My DVD player plays it without problems, but I lose 100MB :(. This tells me something is wrong. But try it for yourself. Its a program stream sure, but it has a different packet size and other differences. Libavformat doesn't produce an SVCD compliant stream (might be DVD compliant, but I don't think so if the PTS and DTS are out of sync).

dragongodz
7th November 2004, 11:27
Super Video CD stream (I was calling it a system stream by mistake) is a little different to a program stream.
Its a program stream sure, but it has a different packet size and other differences.
i will quote myself
svcd does use a program stream but it is not exactly the same as a normal program stream.
i was correcting your saying svcd used a system stream. i did not say svcd used a normal program stream, infact i already said it didnt.

Libavformat doesn't produce an SVCD compliant stream (might be DVD compliant, but I don't think so if the PTS and DTS are out of sync).
no not dvd compliant either. thats why i mentioned to Nic before about the dvd patch a guy had done and mentioned on the Ffmpeg mailing list. its meant to try and fix things like the PTS and DTS sync problems. he has only done it for the dvd profile in the patch but it would be interesting to see how the fixes effected the svcd output if applied to that profile aswell.
Nic has already said he is going to try and contact the author of the patch.

Nic
7th November 2004, 11:33
"but it has a different packet size and other differences"

Does it? What packet size is it outputting (when using SVCD profile) and what program do you use to check it with? Also, what other differences have you spotted. I think it's nearly there being compliant by the looks of things, so maybe I can hack it about a bit ;)

DVD compliance, might take a little more work, might have some time today to look into it.

-Nic

dragongodz
7th November 2004, 13:04
BBmpeg has a svcd muxxing profile so that may provide you with some information. i cant remember seeing too many reports of problems with its muxxing. atleast its a place to start. :)

Peter Cheat
7th November 2004, 13:41
SVCD and VCD have a packet size of 2324 bytes while DVD is 2048 bytes. The extra 276 bytes per packet give the extra 100MB. Instead of error detection/protection information, more data is thrown in. I'll look into other difference. bbMPEG uses mplex AFAIK.

dragongodz
7th November 2004, 14:03
actually bbMPEG says
The multiplexing was derived from Christoph Moar's MPLEX, version 1.1.
and under the contributers section
Kevin Cribbs - for help solving and fixing SVCD problems

but yes latest Mplex is another(more up-to-date) source where Nic can look for answers. actually ,for the dvd profile patch i mentioned, i seem to recall the changes were based on how Mplex works. :)

Koepi
7th November 2004, 15:01
I know that request isn't new, but I want to emphase it a little ;)

How about a small (resized, maybe to 320x240) preview window which works with thinning (like 1 fps)? I think it would rock if you switch it on and can see _wher_ you actually are in the movie (and then switch it off again to save CPU time).
Also, some fixed quant credits would be amazing.

(I'd like to look at that code then - i tried to do something like that with XviD's encoding GUI, but I always failed when it came down to do a proper image copy, colour space conversion, resize, copy to GUI element,... I suck at such code).

Regards
Koepi

dragongodz
7th November 2004, 16:01
I'd like to look at that code then - i tried to do something like that with XviD's encoding GUI, but I always failed when it came down to do a proper image copy, colour space conversion, resize, copy to GUI element,... I suck at such code
you can see such code already if you want. DVDx's main window displays every Nth frame(set in output settings) resized etc to the current gui's window size when encoding. no doubt there are other open source programs that do it aswell. :)

Mug Funky
7th November 2004, 16:11
hmm. found a not-very-significant crash bug.

if max rate is lower than average rate, it quits on "encode". i had this by accident (perhaps max and average could be moved to the same screen, because i often do this... if it's just me then don't worry :))

dragongodz
7th November 2004, 16:23
perhaps max and average could be moved to the same screen
yes good idea. also though have QuEnc check max larger than average and if not(and using VBR of course) then set max to average + 100 or such.

alfixdvd
7th November 2004, 19:16
Why do I get: "warning NUMBER OF SequenceEndCode is 0 in Scenarist" ?

I'm using QueEnc 0.56

Perhaps, do I have to mark the checkbox Scene Detection ?

Thanks from alfixdvd

dragongodz
8th November 2004, 01:17
read back over the last 2 pages. the muxxing is not working.

Peter Cheat
8th November 2004, 02:36
Update about muxxing with avformat:

Avformat does use a packet size of 2324 bytes for SVCD it seems (it says it does). The problem then may be related to the DTS/PTS syncronisation too, but I'm just speculating.

Nic
8th November 2004, 11:13
@allfixdvd:
Don't worry about that warning, as it shouldn't be a problem. I reckon I can fix that for another release, although the difference should only be little...

@Peter: Yes, I felt that was the case, I can't believe there is much wrong with the SVCD profile (apart from ratecontrol) so it should be fixable by us...

@MugFunky: Thanks for that, i'll fix that for next release.

@koepi: The key, of course, would be to decode the video your encoding, so people could actually watch the quality that's being produced. I will do it, but towards the end, because it's more of a gimmick than really that useful ;) (for the amount of coding it would take)

Cheers,
-Nic

ps
Got all the bits for my new computer today, yay!
(so, i'll be on a p4 3.2, WinXP, 6600GT thing from now on...)

SILICON
9th November 2004, 17:52
Bug Report

Program: QuEnc 0.56 [Alpha]
MPEG 2 = Check
Bitrate = 1080
Use VBR = Check
High Quality = Check
Use Trellis = Check
2 pass encoding = Check
Extreme & Slow settings = Check
GOP size = 12 (I have PAL)
Max B Frames = 2 (The program every use one. Never use two)
DC precision = 8
Scene Detection = Check
Mac Bitrate = 8000
Aspect Ratio = 4:3
Use QLB Matrix= Check (Bulletproof's High Quality Matrix.TXT or
Bulletproof's Heavy Compression Matrix.TXT)
Image source = A film 352x576 25fps /no audio

BUG1 = The average bitrate are 502
(quality min=0, Max=3.16, Average=1.36)

BUG2 = Never use IBBP (two B frames)

Trahald
9th November 2004, 20:15
Originally posted by SILICON
Bug Report

BUG2 = Never use IBBP (two B frames)

The option says 'MAX' b-frames.. . it isnt 'necesarily' a bug that it never uses 2.. it just means if you ever had 3 (or more) B frames it is a bug.. .. less than 2 is fine. There is a separate option in nuenc that forces B frames to 2. (turn dynamic b frames off)

dragongodz
10th November 2004, 05:34
The option says 'MAX' b-frames.. . it isnt 'necesarily' a bug that it never uses 2.. it just means if you ever had 3 (or more) B frames it is a bug.. .. less than 2 is fine.
not exactly correct. what you set B frames at should be what it uses EXCEPT when you enable scene detection. QuEnc also turns on non standard GOP patterns with that option. so you can actually get IPPP for example with scene detection on. i personally am not a fan of that and would rather see scene detection being JUST scene detection, i just have to get Nic to agree. :)

also for anyone that doesnt get the FFmpeg mailings another problem with the muxxing(for dvd, MainConcept sets it for SVCD sequence alined automaically so relevant for svcd aswell i would say) is GOPs should be sector aligned.

Peter Cheat
10th November 2004, 08:46
Yes, you should be able to turn off dynamic b-frames. It's not even enabled in FFMpeg, because it can totally screw up rate control prediction, sometimes its ok, sometimes its not. Also, its far too sensitive and p-frames are put in when b-frames would be far more efficient...

Nic
10th November 2004, 10:42
"i just have to get Nic to agree."
I don't recall disagreeing ;)

"you should be able to turn off dynamic b-frames"
Ok, i'll turn off dynamic b-frames in the next release, pretty much got everything going on my new PC the way I like it, so can get back to coding soon.

Cheers,
-Nic

Peter Cheat
10th November 2004, 12:25
Don't completely disable it, just let the user chose whether they want to use it or not.

dragongodz
10th November 2004, 13:18
looks like there will be patch for the alignment soon which should match up to mplex's output. that will be 1 problem down atleast. :)

I don't recall disagreeing;)
ahhh so if you dont reply you agree ? you should have told me you were going to do it that way. :D

Teegedeck
15th November 2004, 23:13
I did a short test-encode with some clips from Kill Bill I and it would seem that using the standard matrix @quant=2, as well as using SixOfNine @ quant=3 resulted in overcompressing flat areas with film-grain in them - blocking. The QLB matrix @ quant=2 looked fine in that same scene. (Trellis, DC-precision 10, slow settings...)

dragongodz
16th November 2004, 00:19
The QLB matrix @ quant=2 looked fine in that same scene.
thanks, its nice to get some feedback for it. some of the guys that have been doing matrices for ages would probably call it simplistic i know but it serves the purpose it was made for(lower file size than standard matrix at same quant while retaining fair detail), at least in my limited testing. :)

can you say what sizes the different matrices produced by the way ?

Teegedeck
16th November 2004, 01:03
Good work! :)

Oh, on that clip standard matrix produced about 152 MB filesize, QLB 137 (both at quant=2) and SixOfNine 114 (at quant=3; it would probably have done OK at quant=2 but I cannot try that out now as I prematurely erased all that stuff from my HD).

QLB seems a definite winner - still, I have to dampen that a bit because that overcompression in flat areas seems to be more of a general kind of a problem which shouldn't be necessary to work around by using the QLB matrix. I am stunned how overly strongly SixOfNine compresses with QuEnc.

dragongodz
16th November 2004, 01:51
SixOfNine 114 (at quant=3; it would probably have done OK at quant=2
yes doing them all at the same quant would have been fairer. :)

overcompression in flat areas seems to be more of a general kind of a problem which shouldn't be necessary to work around by using the QLB matrix. I am stunned how overly strongly SixOfNine compresses with QuEnc.
it may also be a problem with trellis. one of the reasons the notch matrix was removed was because it produced an easily reproducable error(bad blocks) with trellis.
infact if you read the divx plasma thread you will see a similar situation with their new optimized H.263 quantization(bad blocks that is), with example pictures by nicco. kind of suggests that it may be similar to trellis. akupenguin asked that very question(is it the same or different) and has got no reply. :)

actually you should remember this thread aswell.
http://forum.doom9.org/showthread.php?s=&threadid=84999
:D

petermg
16th November 2004, 02:18
Question here, though it may be a bit OT. I've followed the development of other mpeg2 encoding programs that started out at no cost, then they get a notice that they can't continue to distribute a program that encodes mpeg2 for free because of licensing issues with mpeg2. Is there any indication that this won't happen with QuEnc? Two examples of this are TMPGENC and YMPEG, which both originally started out as free mpeg2 encoders.

Teegedeck
16th November 2004, 08:33
Originally posted by dragongodz
actually you should remember this thread aswell.
http://forum.doom9.org/showthread.php?s=&threadid=84999
:D
edited: An overflow (perhaps) at quant=1 with a high-bitrate matrix only is not quite the same as the tendency to overcompress with the standard matrix. :)

Talking about effects of course.

SixOfNine at quant=3 yields about the same filesizes in XviD asstandard quant=2, that was the reason for trying quant=3 here, also.

dragongodz
16th November 2004, 13:02
An overflow (perhaps) at quant=1 with a high-bitrate matrix only is not quite the same as the tendency to overcompress with the standard matrix
no of course. what i was trying to show is that trellis already shows an occasional problem. since avcodecs rate control is kind of funky aswell the combination of the 2 could be a contributing factor to the problem. you would have to retest without using trellis to see if the same effect was still present to know for sure though. :)

Guest
18th November 2004, 14:34
Hi,
When encoding sound(wav 44HZ) the first bit comes out loud and then it turns down the volume and stays at that level.

Maybe this is a settings thing - but when I'm encoding looped stills some of the pixels are moving rythmic - why?

Thanks for this great tool,
Tin2tin

dragongodz
19th November 2004, 05:26
when I'm encoding looped stills some of the pixels are moving rythmic - why?
what settings are you using ? you say nothing to be of help.

When encoding sound(wav 44HZ) the first bit comes out loud and then it turns down the volume and stays at that level
try playing the avs in something and see if it also happens. it may be the decoding filters settings that need changing.

Peter Cheat
19th November 2004, 10:48
Going back a few posts...
The bad macro block problem, I believe, is rather related to quant=1 with trellis increasing the numberof occurences. Doesn't seem to be related to any particular matrix, but it seems to happen more with the notch matrix. The bad macro blocks seem to be mirrored or inverted. On one occasion it occured without trellis, so I think that it a mathematical overflow related to quant=1 rather than anything else. I've kept a source which causes this effect so I can do some debugging in the near future. IMHO quant=1 is a waste of bits anyway.

dragongodz
19th November 2004, 10:57
IMHO quant=1 is a waste of bits anyway.
good rate control should be able to handle quant 1 though. also if your target bitrate is say above 4200(from memory) you really do need quant 1.

I've kept a source which causes this effect so I can do some debugging in the near future.
its easy to reproduce for QuEnc with the notch matrix. try this script

BlankClip(length=100, width=720, height=576, fps=25, color=$000000)
ConvertToYV12()
Subtitle("YOU CAN SEE THE BUG", 0, 126, 0, 100, "Arial", 36)

thanks to SILICON for that way back in the QuEnc 0.51 thread. :)

Guest
19th November 2004, 11:41
Hi,When encoding sound(wav 44HZ) the first bit comes out loud and then it turns down the volume and stays at that level. The sound doesn't do this when I run my avs in any other apps.when I'm encoding looped stills some of the pixels are moving rythmic It's the same with any of the settings I've tried - try encoding a looped image.

Greetings,
Tin2tin

Peter Cheat
19th November 2004, 13:28
I haven't tested, but it seems that motion is detected when there isn't any. Make sure that the source doesn't do this.

Guest
19th November 2004, 14:10
(I've found that with QuEnc I get the the same problem if I use 1 pass or 2. In NuEnc I get the same with 1 pass - but with 2 or more passes there is no pixel jitter)

(tin2tin)

DarkFoon
25th November 2004, 09:32
I hope this is the right place to post this...
Well, I have read (most of) this thread and I got very interested in QuEnc 0.56a. Being a quality junkie ever in the search of a higher quality way to encode, I downloaded it because it looked better than the tools I already posess.
Then the problems began...
Every AVS, and I mean every, that I open up in Quenc returns one of two errors:
1)
Quenc has caused an error in <unknown>.
quenc will now close
(this happens when I use a script that references a video file, like the example at the bottom)
or

2)
Quenc has caused an error in KERNEL32.DLL
blah, blah, blah
(this happens when using generated clips, like colorbars or blankclip)

They're all in yv12, and I'can't seem to find a reason for it to not work. And this doesn't happen when I hit the "Encode" button, this happens when I load an AVS into the source line.
I am running Windows ME (I know, it sux)with a PIII 866Mhz and 512MB of pc133 ram. If those help whatsoever.
I am also posting one of my scripts AS IS in case that helps too.


loadplugin("C:\plugins\dgdecode.dll")
loadplugin("c:\plugins\MPASource.dll")
loadplugin("C:\plugins\guavacomb.dll")
loadplugin("C:\plugins\peachsmoother.dll")
loadplugin("C:\plugins\decomb521.dll")
loadplugin("C:\plugins\kerneldeint140.dll")
loadplugin("C:\plugins\mipsmooth.dll")
loadplugin("C:\plugins\msmooth.dll")
loadplugin("C:\plugins\vaguedenoiser.dll")
loadplugin("C:\plugins\GrapeSmoother.dll")
v=mpeg2source("fma1.d2v",cpu=0,idct=4,ipp=true,moderate_h=20 ,moderate_v=40 ,showq=false,fastmc=false,cpu2=" ")
a=MPASource("fma1.mpa", normalize=false)
AudioDub(V,A)
trim(0, -1)++trim(680, 0)
trim(0, 17960)++trim(22157, 0)
trim(0, 41101)++trim(41505,0)
#tweak(sat=1.50, coring=false)
#Levels(0, 0.9, 255,0, 255, coring=false)
telecide(order=1, guide=1, post=0, back=0, nt=15, gthresh=15, vthresh=35, show=false, hints=true)
#kerneldeint(order=1, threshold=255, map=false)
decimate(mode=2,threshold=1.0, threshold2=3.0, quality=3, show=false)
msmooth(threshold=4, strength=3)
VagueDenoiser(threshold=4,method=1,nsteps=8,chromaT=1,debug=false,interlaced=false,wavelet=1,wiener=false,wratio=0.5,percent=100)
converttoyv12(interlaced=false)
#converttoyuy2(interlaced=false)
#TemporalSoften(8,4,6,15,2)
#lanczosresize(480,480)


My eventual goal is to make an SVCD with this.

Thank you for your time. If this has already been answered, just tell me which page of the discussion I should look at, and I'll go there.

Nic
25th November 2004, 13:48
Hi, thanks for the bug report.

Don't know what's causing that....What version of AviSynth are you using? (A Re-install of AviSynth might help, but it's a long shot).

I don't know anyone running Win ME so I can't test if it's a problem there...Or it might be a vfw codec installed that's causing the problem. I'll have a think, and see if I can fix it.

-Nic

Wilbert
25th November 2004, 14:55
What happens if you open that script in VDub/VdubMod?

If that plays fine open the following script


v=mpeg2source("fma1.d2v", cpu=0, idct=4, ipp=true, moderate_h=20, moderate_v=40, showq=false, fastmc=false, cpu2=" ")
a=MPASource("fma1.mpa", normalize=false)
AudioDub(V,A)


in QuEnc. Any errors?

DarkFoon
25th November 2004, 18:36
@Nic
It may be a winME problem, unfortunately. I put Quenc on a PII MMX running win98, and I opened a similar script(similar as in it uses DGdecode and mpasource). It worked fine! Or perhaps my avisynth has been damaged (BSOD's, ya know). Or it's time for that dreaded re-format I have been putting off... On the vfw subject, my system uses Xvid to decode/display yv12. I got this info from using the File>File Information in Vdub.

@Wilbert
All my scripts open up fine in Vdub. Well, that's not true, nothing works fine on this computer. When I close Vdub with an AVS open in it, without encoding, it pops up some dumb error message:
Vdub has caused an error in: 1) virtualdub.exe, 2)kernel32.dll 3)<unknown>.
that and it doesn't pop-up with the Avisynth errors like it used to... ahem. sorry, Back onto topic.
I tried the script you posted. When I open it in Quenc, I get a new error:
Avisynth open error
MPEG2Source: couldn't open file
And when I click OK, I get the regular error I get when I open an AVS in Quenc. I think the reason that script doesn't work is because it doesn't load the DGdecode MPEG2source filter. Unless Avisynth comes with DGdecode built in. I also tried the script you gave me in Vdub, and it just wouldn't open. It probably tried to give me the Avisynth error, but since it can't, it just threw it's regular "caused an error in ...."

I hope this post makes sense. I just woke up and ran to see if anybody gotten back to me here. Please, pardon any grammatical errors.
Thanks again all!

Wilbert
25th November 2004, 21:56
1) Of course you need to add

loadplugin("C:\plugins\dgdecode.dll")

in your script (as the first line).

2) If you empty AviSynth's auto loading plugin dir '..\AviSynth25\plugins' do you still get the kernel32 error?

Nocturno
26th November 2004, 00:48
Hi Nic, and the rest of you guys working on these tools.

i'm making yet another gui for avi 2 dvd conversions, and i've been trying to make quenc work in it, but after a few succesfull conversions i've run into some trouble.

i'm using mplex and the dvdauthor toolkit for authoring to dvd, besweet for audio conversion and CCE or Quenc for video encoding.
if quenc would work it would be an freeware conversion gui all the way!

but on an avi i tried recently mplex gives me some errors before quitting.

ok here are my logs and settings.

avi:
Codecs:xvid/MPEG Layer-3
Dim:640x352
Frames:153400 at: 25 fps

avs:
LoadPlugin("C:\Program Files\avi2dvd\filters\mpeg2dec3.dll")
LoadPlugin("C:\Program Files\avi2dvd\filters\VSFilter.dll")
avisource("D:\movie.avi",False)
LanczosResize(720,424,0.0,0.6)
AddBorders(0,76,0,76)
textsub("D:\movie.srt")
FreezeFrame(0,1,1)

quenc:
Quenc.exe -i "D:\avi2dvdtemp\Movie0.avs" -o "D:\avi2dvdtemp\Movie0.m2v" -maxbitrate 0 -b 5815 -2 -aspectratio 16:9 -gopsize 12 -mpeg2 -vbr -hq -scene -auto -close

The encode goes well, and i end up with an 2,489,073,664 bytes file
the movie seems ok when played in MPC , only it shows 19:09 as length,
but skipping through the film all of it seems to be there.

running mplex:
mplex.exe -f 8 -o "D:\avi2dvdtemp\muxed0.mpg" "D:\avi2dvdtemp\Movie0.m2v" "D:\avi2dvdtemp\audio0.mp2"

gives the following error and quits at 184mb

C:\Program Files\avi2dvd\dvdauthor>mplex.exe -f 8 -o "D:\avi2dvdtemp\muxed0.mpg"
"D:\avi2dvdtemp\Movie0.m2v" "D:\avi2dvdtemp\audio0.mp2"
INFO: [???] mplex version 2.2.2 ($Date: 2003/05/13 20:27:15 $)
INFO: [???] File D:\avi2dvdtemp\Movie0.m2v looks like an MPEG Video stream.
INFO: [???] File D:\avi2dvdtemp\audio0.mp2 looks like an MPEG Audio stream.
INFO: [???] Video stream 0: profile 8 selected - ignoring non-standard option
s!
INFO: [???] Found 1 audio streams and 1 video streams
INFO: [???] Selecting dvdauthor DVD output profile
INFO: [???] Multiplexing video program stream!
INFO: [???] Scanning for header info: Video stream e0 (D:\avi2dvdtemp\Movie0.
m2v)
INFO: [???] VIDEO STREAM: e0
INFO: [???] Frame width : 720
INFO: [???] Frame height : 576
INFO: [???] Aspect ratio : 16:9 display
INFO: [???] Picture rate : 25.000 frames/sec
INFO: [???] Bit rate : 17445200 bits/sec
INFO: [???] Vbv buffer size : 229376 bytes
INFO: [???] CSPF : 0
INFO: [???] Scanning for header info: Audio stream c0 (D:\avi2dvdtemp\audio0.
mp2)
INFO: [???] MPEG AUDIO STREAM: c0
INFO: [???] Audio version : 1.0
INFO: [???] Layer : 2
INFO: [???] CRC checksums : no
INFO: [???] Bit rate : 24576 bytes/sec (192 kbit/sec)
INFO: [???] Frequency : 48000 Hz
INFO: [???] Mode : 2 dual channel
INFO: [???] Mode extension : 0
INFO: [???] Copyright bit : 0 no copyright
INFO: [???] Original/Copy : 0 copy
INFO: [???] Emphasis : 0 none
INFO: [???] SYSTEMS/PROGRAM stream:
INFO: [???] rough-guess multiplexed stream data rate : 17907648
INFO: [???] target data-rate specified : 10080000
++ WARN: [???] Target data rate lower than computed requirement!
++ WARN: [???] N.b. a 20% or so discrepancy in variable bit-rate
++ WARN: [???] streams is common and harmless provided no time-outs will occur
INFO: [???] Run-in Sectors = 89 Video delay = 13019 Audio delay = 0
INFO: [???] New sequence commences...
INFO: [???] Video e0: buf= 237568 frame=000000 sector=00000000
INFO: [???] Audio c0: buf= 4096 frame=000000 sector=00000000
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20039826 required(
DTS)=0
++ WARN: [???] Video e0: buf= 141986 frame=005563 sector=00047824
++ WARN: [???] Audio c0: buf= 2739 frame=009272 sector=00002644
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20083858 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005572 sector=00048120
++ WARN: [???] Audio c0: buf= 4096 frame=009286 sector=00002648
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20127890 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005580 sector=00048416
++ WARN: [???] Audio c0: buf= 4096 frame=009300 sector=00002652
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20171776 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005588 sector=00048712
++ WARN: [???] Audio c0: buf= 4096 frame=009314 sector=00002656
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20215808 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005596 sector=00049008
++ WARN: [???] Audio c0: buf= 4096 frame=009328 sector=00002660
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20259840 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005604 sector=00049304
++ WARN: [???] Audio c0: buf= 4096 frame=009342 sector=00002664
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20303725 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005613 sector=00049600
++ WARN: [???] Audio c0: buf= 4096 frame=009356 sector=00002668
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20347757 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005622 sector=00049897
++ WARN: [???] Audio c0: buf= 4096 frame=009367 sector=00002671
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20391789 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005631 sector=00050192
++ WARN: [???] Audio c0: buf= 4096 frame=009384 sector=00002676
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20435821 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005641 sector=00050487
++ WARN: [???] Audio c0: buf= 4096 frame=009402 sector=00002681
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20479853 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005652 sector=00050782
++ WARN: [???] Audio c0: buf= 4096 frame=009419 sector=00002686
**ERROR: [???] Too many frame drops -exiting


running the same order through CCE came out flawless, so audio must be ok.

any ideas?

DarkFoon
26th November 2004, 01:03
Wilbert! You genius! You fixed it! Everything! I am having none of the problems I was having before. NONE.
Quenc works. Vdub works! Everything!
Thank you! thank you! thank you!

dragongodz
26th November 2004, 01:24
2) If you empty AviSynth's auto loading plugin dir '..\AviSynth25\plugins' do you still get the kernel32 error?
1 of the most commen mistakes and i must say bad practises with avisynth. that is actually putting all plugins in the plugins folder. ok thats what it is meant for but after all this time and the many many problems this has caused with avisynth updates its really not worth it.

-maxbitrate 0
you realise thats turning max bitrate off dont you ? try setting it to 9000 and see what happens.

when played in MPC , only it shows 19:09 as length,
yes i have come across that problem. its in 1 of the threads around here somewhere. what i found is that certain mpeg2 decoders do it while others show correct length. when muxxed to a program stream(and/or PTS is used) then they all show the correct time.

Peter Cheat
26th November 2004, 10:45
Originally posted by Nocturno

gives the following error and quits at 184mb

++ WARN: [???] Video e0: buf= 235543 frame=005652 sector=00050782
++ WARN: [???] Audio c0: buf= 4096 frame=009419 sector=00002686
**ERROR: [???] Too many frame drops -exiting


any ideas?

Yep, I have an idea. Set the target bitrate to 17907648 and it will mux correctly. But it seems that the stream wil not be within standards, but should still play on a dvd player, maybe not perfectly.

Nocturno
26th November 2004, 10:59
you realise thats turning max bitrate off dont you ? try setting it to 9000 and see what happens.

Actually according to the helpfile it sets max bitrate to "Auto"
i assumed that it would choose the correct max bitrate when dvd profile was selected, but i'll try with manual parameter,thanx.


Yep, I have an idea. Set the target bitrate to 17907648 and it will mux correctly.

why exactly this number? could you explain it please?

dragongodz
26th November 2004, 12:38
according to the helpfile it sets max bitrate to "Auto"
ah ye sorry i didnt check the code just went from actual avcodec. it is relevant though since you set -b 5815 and auto sets the max to 3 times that value, so 17445, which is way out of dvd specs.

Nocturno
26th November 2004, 13:45
ok thanx. i tried it with maxbitrate set to 9000 and it didn't work either.


C:\Program Files\avi2dvd\dvdauthor>mplex.exe -f 8 -o "D:\avi2dvdtemp\muxed0.mpg"
"D:\avi2dvdtemp\Movie0.m2v" "D:\avi2dvdtemp\audio0.mp2"
INFO: [???] mplex version 2.2.2 ($Date: 2003/05/13 20:27:15 $)
INFO: [???] File D:\avi2dvdtemp\Movie0.m2v looks like an MPEG Video stream.
INFO: [???] File D:\avi2dvdtemp\audio0.mp2 looks like an MPEG Audio stream.
INFO: [???] Video stream 0: profile 8 selected - ignoring non-standard option
s!
INFO: [???] Found 1 audio streams and 1 video streams
INFO: [???] Selecting dvdauthor DVD output profile
INFO: [???] Multiplexing video program stream!
INFO: [???] Scanning for header info: Video stream e0 (D:\avi2dvdtemp\Movie0.
m2v)
INFO: [???] VIDEO STREAM: e0
INFO: [???] Frame width : 720
INFO: [???] Frame height : 576
INFO: [???] Aspect ratio : 16:9 display
INFO: [???] Picture rate : 25.000 frames/sec
INFO: [???] Bit rate : 9000000 bits/sec
INFO: [???] Vbv buffer size : 229376 bytes
INFO: [???] CSPF : 0
INFO: [???] Scanning for header info: Audio stream c0 (D:\avi2dvdtemp\audio0.
mp2)
INFO: [???] MPEG AUDIO STREAM: c0
INFO: [???] Audio version : 1.0
INFO: [???] Layer : 2
INFO: [???] CRC checksums : no
INFO: [???] Bit rate : 24576 bytes/sec (192 kbit/sec)
INFO: [???] Frequency : 48000 Hz
INFO: [???] Mode : 2 dual channel
INFO: [???] Mode extension : 0
INFO: [???] Copyright bit : 0 no copyright
INFO: [???] Original/Copy : 0 copy
INFO: [???] Emphasis : 0 none
INFO: [???] SYSTEMS/PROGRAM stream:
INFO: [???] rough-guess multiplexed stream data rate : 9335800
INFO: [???] target data-rate specified : 10080000
INFO: [???] Setting specified specified data rate: 10080000
INFO: [???] Run-in Sectors = 89 Video delay = 13019 Audio delay = 0
INFO: [???] New sequence commences...
INFO: [???] Video e0: buf= 237568 frame=000000 sector=00000000
INFO: [???] Audio c0: buf= 4096 frame=000000 sector=00000000
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20039826 required(
DTS)=0
++ WARN: [???] Video e0: buf= 141986 frame=005563 sector=00047758
++ WARN: [???] Audio c0: buf= 2739 frame=009272 sector=00002644
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20083858 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005572 sector=00048054
++ WARN: [???] Audio c0: buf= 4096 frame=009286 sector=00002648
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20127890 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005580 sector=00048350
++ WARN: [???] Audio c0: buf= 4096 frame=009300 sector=00002652
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20171776 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005588 sector=00048646
++ WARN: [???] Audio c0: buf= 4096 frame=009314 sector=00002656
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20215808 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005596 sector=00048942
++ WARN: [???] Audio c0: buf= 4096 frame=009328 sector=00002660
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20259840 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005604 sector=00049238
++ WARN: [???] Audio c0: buf= 4096 frame=009342 sector=00002664
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20303725 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005613 sector=00049534
++ WARN: [???] Audio c0: buf= 4096 frame=009356 sector=00002668
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20347757 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005622 sector=00049831
++ WARN: [???] Audio c0: buf= 4096 frame=009367 sector=00002671
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20391789 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005631 sector=00050126
++ WARN: [???] Audio c0: buf= 4096 frame=009384 sector=00002676
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20435821 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005641 sector=00050421
++ WARN: [???] Audio c0: buf= 4096 frame=009402 sector=00002681
++ WARN: [???] Stream e0: data will arrive too late sent(SCR)=20479853 required(
DTS)=0
++ WARN: [???] Video e0: buf= 235543 frame=005652 sector=00050716
++ WARN: [???] Audio c0: buf= 4096 frame=009419 sector=00002686
**ERROR: [???] Too many frame drops -exiting

the strange thing is i did some ntsc movies without problems with the last settings, this is the first pal i tried.

i'm going to try peters solution now, but i would like to now what exactly this solution does.

the only thing different is the gopsize? maybe i'm doing something wrong there?
i'm used to using 3/4 in CCE (that's 12 in Quenc right?) for Pal

Nocturno
26th November 2004, 13:47
hmzz setting bitrate to 17907648 crashed Quenc completely.
going to try different gopsize instead.

Peter Cheat
27th November 2004, 06:48
I meant change the muxing bitrate. Try this commandline to mux the file. I think the "data will arrive too late" error means that the mux bitrate is too high or too low "-r 0" option should select to use the value that was guessed. It worked for me when one stubborn file wouldn't mux.

C:\Program Files\avi2dvd\dvdauthor>mplex.exe -f 8 -r 0 -o "D:\avi2dvdtemp\muxed0.mpg"
"D:\avi2dvdtemp\Movie0.m2v" "D:\avi2dvdtemp\audio0.mp2"

Nocturno
28th November 2004, 15:00
didn't work either.. i'm giving up on this one.. will test some other movie's and report problems should they occur.

Nocturno
4th December 2004, 17:12
found another movie with the same problem, this time NTSC 23.9
at a bitrate of 5300 .. same error in mplex.
i'm downloading bitrate viewer atm so i might find some answers there.

i'm trying all possible settings with a trimmed version (4000 frames) to see if i can get anyone of them to work.
i know that doing 4000 frames isn't the same as doing the entire movie, but it seems that the problem also occurs at within 4000 frames.
audio = ac3 5.1 at 448 bitrate

strange thing is i've done some other movies no problem at all.

sofar :

trellis /2pass /max bitrate 9000 /bitrate 5300 - Fail
2pass / max bitrate 9000 / bitrate 5300 - Fail
2pass/ auto max bitrate /bitrate 5300 - Fail
1pass/max bitrate /9000 bitrate 5300 - Fail
1pass/auto max bitrate/ bitrate 5300 - Fail
1pass/vbr off /max bitrate 9000/ bitrate 5300 - SUCCES
2pass / max bitrate 8000 / bitrate 5300 - Fail

ok i've just downloaded bitrateviewer.. and it seems it's still the rate-control problem as far as i can tell.

the last encode : 2pass / max bitrate 8000 / bitrate 5300
spikes in BV at 10728! (Q19.60) , avg 4737.
the frame it spikes on is the first real movie frame after the filmcompany logo and a few black frames.
i'm guessing that's causing the framedrops?

dragongodz
5th December 2004, 02:41
if you are doing 23.97fps this will be pulldowned to 29.97fps(whether by your or the authoring program). as such you should lower your max bitrate further as you did with he last test.

and yes rate control spiking is still here for now. go try out Peter Cheats NuEnc beta and see if that does better, it should.

freelock7
5th December 2004, 09:14
@Nic
Const Quant has been added and will be in the next version. At present if the bitrate is set to 31 or less then it becomes Const Quant mode. (you'll see what I mean)First pass of a 2 pass encode will be done in constant Quant (Q=2)
(from the QuEnc0.55Alpha thread)

-

Q0.55Alpha works better than the actual version.
See the results from a high motion Mpeg2 clip:
0.56:
GlobalQLevel=4.22
Bitratepeak=5332
peakQ=7.44

QuEnc0.55A:
GlobalQLevel=6.15
bitratepeak=5720
peakQ=10.68

Settings
2Pass
VBR-High quality:2700
Treillis:on
DC precision:8
Gop:12
High bitrate:9800
scene change off
CYMAT1.2 matrix

Pixels+++ with QuEnc0.56 in high bitrate.
What kind of problem did you encountered in 0.55Alpha to change the quantisation level?
Can you fix it in your next version?

Yuri
7th December 2004, 18:50
QuEnc 0.56 is producing great results with hard-to-quantize-&-bitrate-distribute material - some comparison tests at http://sch-yuri.narod.ru/DVD/QuEnc.htm

Great work, Nic!
----------------------
@ Nic
Will there be a chance of loading segmented avi-s directly into QuEnc but not through avs?

Best regards,
Yuri

dragongodz
8th December 2004, 05:35
Will there be a chance of loading segmented avi-s directly into QuEnc but not through avs?
i wouldnt hold my breath for that. i am curious, how many other mpeg encoders do you know of that can load multiple avi and encode them as one ? :)

Yuri
8th December 2004, 06:17
@ dragongodz
how many other mpeg encoders do you know of that can load multiple avi and encode them as one ?

CCE

Regards,
Yuri

dragongodz
8th December 2004, 06:44
is that for both SP and Basic versions ? any others ? i am seriously curious as to what ones can.

Yuri
8th December 2004, 19:52
CCE Basic cannot but CCE SP and CCE PRO versions can all load segmented avi-s directly:

"To output one file from multiple of input files
Add the first file in the way described above, and click that item in
the list to open the window shown in Fig. 3.3. Then click Setting...
button to open the window shown in Fig. 3.4. After adding other files
on the window, click OK button twice to return to the main window.
Note that in Fig. 3.6, the value Files is 4, which means four input
files are used to produce one output file." p.13 CCE Manual

Another one is Canopus, still another one is TMPGEnc ...

They all have this useful feature but they lose heavily in picture quality encoding to glorious QuEnc and NuEnc:

Canopus http://sch-yuri.narod.ru/DVD/canopus.htm
TMPGEnc http://sch-yuri.narod.ru/DVD/tmpgenc.htm
CCE SP http://sch-yuri.narod.ru/DVD/CCE250.htm
QuEnc http://sch-yuri.narod.ru/DVD/QuEnc.htm

Best regards
Yuri

dragongodz
9th December 2004, 00:50
Another one is Canopus, still another one is TMPGEnc ..
ah since there is no procoder demo naturally i would not know that one could. :)
as for Tmpgenc, i have 2.54 and dont see any option etc for loading multiple avi to 1 output. so what version is it in and how is it selectable ?

did you try segmentedavisource() or segmenteddirectshowsource() with QuEnc 0.56 yet to see if it throws the error aswell ?

Yuri
9th December 2004, 20:16
Tmpgenc 2.58.44
---------------------
Enable reading referred AVI through the network (Canopus DV Codec)
This feature is always enabled, and cannot be disabled.

AVI files have a maximum size of 2gigs. In order to get around this, larger files are often saved into sequential parts. This feature let's TMPG automatically use sequentially saved files.

This is needed for the Canopus DV CODEC. (from the help file)
---------------------

segmenteddirectshowsource() doesn't work for me at all.
segmentedavisource() throws the error in QuEnc but it doesn't in CCE.

jdobbs
9th December 2004, 23:55
Originally posted by dragongodz
i wouldnt hold my breath for that. i am curious, how many other mpeg encoders do you know of that can load multiple avi and encode them as one ? :) I guess I'm not sure what the disadvantage of using an AVS is... I use it for all my DV files that are segmented.

dragongodz
10th December 2004, 01:10
This feature let's TMPG automatically use sequentially saved files.
so i assume they have to be specifically named or such and it automatically loads the next in line ?

I guess I'm not sure what the disadvantage of using an AVS is... I use it for all my DV files that are segmented.
not something i have ever tried. guess i will have to bite the bullet and try and make some time on the weekend to run some tests. :)

dragongodz
10th December 2004, 12:35
Yuri - something you could try aswell if you get the time. try using a different codec than huffyuv. there are plenty of other lossless codecs such as corepng, ffv1, lagarith, etc.

Yuri
10th December 2004, 15:14
@ dragongodz

I'll try corepng, ffv1, lagarith
thanx
Yuri

Boulder
10th December 2004, 17:29
You could also try setting up ffvfw for decoding HuffYUV content.

codecoder
20th December 2004, 14:23
I'm giving Quenc a try, convertin my AVI 640 x 480 3ivx source to 352 x 480 MPEG2. When should I enable trellis quant? Or when do I not need it? because disabling it makes the encoding jump from 5-6fps to over 20fps. What is QLB matrix?

lithoc
21st December 2004, 02:47
Originally posted by codecoder
What is QLB matrix?

Quenc Low Bitrate, which make better looking video for low bitrate( < 2kbps)

I've tested some 352X480 @ 600kbps(2 pass) and it look great on TV.

;)

Koepi
21st December 2004, 12:46
A little off-topic:

Nic, can you put up a QuEnc version with the small fixes from ffmpeg (i.e. for the muxing code)? This would be great!

Thanks in advance ;)

Cheers
Koepi

Holomatrix
30th December 2004, 03:25
Hey Nic, how's the progress comming? Looking for the latest stable version to download. I've been getting wired encodes with CCE and would like to try your program again. Thanks

Nic
1st January 2005, 15:34
I really should put up a new version soon...I can't even remember the changes I've made...but I'm sure they're good ;)

-Nic

Holomatrix
1st January 2005, 20:11
Cool, were you able to fix the blockyness on low bitrate encodes? to bad your program couldn't just blur/blend the blockyness away :)
Thanks

Nic
1st January 2005, 20:38
http://nic.dnsalias.com

Just a quick update then...QuEnc 0.57 Alpha.

Changes:

Has the latest CVS (should be improved DVD/SVCD/VCD Muxing)
Added a No Mux feature for people that just want to encode the video from an AVI.
Hidden SNOW Codec Mode


Happy New Year :)

-Nic

Koepi
1st January 2005, 21:15
Hooray,

thank you for the gift Nic! :)

Cheers
Koepi

Fishman0919
1st January 2005, 22:06
Thank You Nic........:D

Holomatrix
1st January 2005, 22:52
Thanks bud :) Happy new year :)

unixfs
2nd January 2005, 11:01
Originally posted by Nic


Hidden SNOW Codec Mode


Happy New Year :)

-Nic [/B]

SNOW mode? what do you mean? Thanks and happy new year

buzzqw
2nd January 2005, 11:35
could be this
http://forum.doom9.org/showthread.php?s=&threadid=84593&highlight=snow+codec
?

(don't know..., now go to do some test :) )

BHH

P0l1m0rph1c
2nd January 2005, 11:38
Hint: Check resources...

easyfab
2nd January 2005, 13:32
Thanks nic

Really a good mpeg2 prog.

For the snow "hidden" mode .

- when you select snow, exit and reopen quenc you can't select mpeg-1 nor mpeg-2 (bugs?) you must apply the magic keys to go in the hidden mode to allow the selection.

- Is two pass enable for snow (constant quant.)?

First time i try a snow encode, it look promising for the futur

Nic
2nd January 2005, 14:05
Ok, I don't want to discuss the "snow" mode too much (thanks for the bug report though)

Bitrate doesn't mean bitrate with Snow, when Snow is selected it's an arbitary quality number. Try numbers like 500 and see what bitrate that gives you....lower the number and the bitrate goes up and so does the quality. 2 pass is not supported for Snow. "Extreme Quality" settings do effect Snow though (they add QPel and 4MV to Snow's encoding).

-Nic

jdobbs
2nd January 2005, 15:10
Looks great, Nic!

jdobbs
2nd January 2005, 15:23
Hmm... 0.57a seems to be running faster. Is that my imagination or has it been optimized?

ReinerSchweinlin
2nd January 2005, 17:04
Sorry, maybe this is dumb...
I can´t find the "hidden snow mode". Hm... Please help, I read this thread, the snow-thread, looked at the cli-commands... can´t find snow-mode...

Nic
2nd January 2005, 23:36
@jdobbs: I don't remember optimising anything, so maybe something was done in ffmpeg CVS (but I don't remember that either....but then again I remember very little...as my friends would testify ;) )

@ReinerSchweinlin et al: It's hidden for a reason...So please anyone, don't post on this forum how to open it. But feel free to PM ReinerSchweinlin with the solution if you really feel the need :)

Cheers,
-Nic

ReinerSchweinlin
3rd January 2005, 00:17
Okok, i get it :) but don´t get too stuck up :) If u don´t want everybody to know that there is a "hidden mode", don´t post it in the changelog, just tell people in the "developers Club" :) This way, u avoid stupid questions.
Did some encoding with snow. Quite impressive, imho. Didn´t use quenc though, just ffdshow an VD...

ReinerSchweinlin
3rd January 2005, 01:00
Oh, just curios...

If u don´t want people to try out the SNOW-Mode..... Why do u post of its existence here???

Bah...

By the way, don´t bother anymore. Hitting a certain letter in combination with certain other keys did the job, reading the source helps, but took time :(
Don´t get me wrong, I really like your work and appreciate all your developments and efforts, but this kind of behavior I don´t understand..

Thanx for NOT helping.

jdobbs
3rd January 2005, 02:16
Gee, ReinerSchweinlin, we're a little hostile today, eh? I can understand his reasoning. Nic has experienced being swamped with "Why did it shit on my cat?" questions before. This way it is at least limited to those who can open up the source and understand it.

Ebobtron
3rd January 2005, 07:00
My 2 cents.

TFF flag not working
QuEnc no longer warns about YU12 if you feed it RGB

Thanks Nic, I admire your work.

Shinobu
3rd January 2005, 07:20
@NIC
I realy like Quenc for mpeg2 encoding, i've used it a lot for dvd creation, and i must say it is simple, fast, and as a good quality.

i've only noticed one bad thing, the scene detection option doesn't seems to works, when i encode with or without it, i always see keyframe insersion in the middle of a scene (in fact it is inserted at regular interval regardedless of the scene change), and that's too bad because the quality change at that moment and it is realy visible, at average bitrate at least (ultra constant quality fan inside ^^).
do you plan to add more advanced options like the ones in nuenc ? (quant gestion and pass number for exemple)?

i've tested snow and quality it produce is realy better thant ffdshow does, could you post the setting you use for snow in quenc?
the "scene detection bug" is also present when i use snow.
i also have the bug of the mpeg1/mpeg2 selection once i set the quenc on snow mode.

thanks again for Quenc it's a realy cool encoder.

++

ReinerSchweinlin
3rd January 2005, 12:28
Originally posted by jdobbs
Gee, ReinerSchweinlin, we're a little hostile today, eh? I can understand his reasoning. Nic has experienced being swamped with "Why did it shit on my cat?" questions before. This way it is at least limited to those who can open up the source and understand it.
Of course, that´s plausible. But if NIC doesn´t want every newby asking dumb questions, the "hidden feature" shouldn´t be mentioned on the doom9 front-page, the download-page and in a public forum. It´s like putting a sticker about a easter egg or a hidden feature on a DVD and then comlain about people asking questions about it. That´s not very mature.
If only those people being included in a closed circle of developers should have knowledge about a feature, then a non-public forum or a mailing-list is more suitable. This way, you could easily avoid unwanted questions.
I just don´t like being turned down this way after asking a simple question in a polite maner. A simple "look in the source, the file xyz.123 is where u can find it" would have done the job and would have saved me a lot of time. If u want people to give a feedback about a new feature, the least u should do is provide them with the information how to use it. If u only want certain people to report, then only tell those people, don´t point it out in public like this.
Ok, let´s settle here. Back to topic:

- Using quenc, encoding seems to be a bit slower than using ffdhsow implementation, even if "high qual" is turned on. Usind "sad" instead of "sadt" though speeds up enconding up to a par.
- ffdshow and quenc show totaly different behavior in scene change detection. In a testencoding of the same file, ffdshow puts 2 keyframes into 2000 encoded frames, quenc sets a keyframe around every 20-30 frames.
- from a visual comparison, ffdshow seems to preserve more detail but introduces color jumps in smooth transitions. it´s hard to compare, because quality settings react different in both an hitting the same bitrate is almost impossible.

So far, I like it :)

Nic
3rd January 2005, 16:30
QuEnc 0.58a
http://nic.dnsalias.com

Minor Update:

TFF Bug Fix (Well spotted Ebobtron)
Now will only accept YV12 ColorSpace (Well spotted Ebobtron!)

In regard to KeyFrame Insertion:-
A KeyFrame is always added at every GOP. So even with SceneDetection off, KeyFrames will still be added at GOP intervals. (Therefore if encoding with something like SNOW raise the GOP value to something like 250....)

-Nic

CruNcher
3rd January 2005, 16:38
hi Nic i tested the Snow mode of quenc and i saw something which might be of interest maybe it has todo with the basics of snow a bug ? its about the picture stability i saw that the picture is changeing every 12 frames dramaticly im sure that this "change effect" has a pattern of 12 frames, maybe that can help :)

this effect in motion is realized by the viewer as a slight jerking

Nic
3rd January 2005, 16:53
@Cruncher: Has it anything to do with the GOP size being too small as mentioned in the above post?

-Nic

Shinobu
3rd January 2005, 17:01
@nic
ok i've tried to improve the gop size for snow and it's all fine ^^ no more "savage" kf insersion.

what the highter gop size i can use for compliant dvd stream ?

thanks.

@cruncher
try a gop size of 250, the problem is here like nic said

++

Nic
3rd January 2005, 17:19
@Shinobu: 18 Frames Per GOP for NTSC and 15 Frames Per GOP For PAL is the DVD Standard (AFAIK)

-Nic

Nic
3rd January 2005, 17:57
http://nic.dnsalias.com

Just updated again :) Only a minor update, but I wanted to add an "I"nformation button to QuEnc so you can see the length of the AVS file along with the resolution.

-Nic

Fl0ppy
3rd January 2005, 18:45
@Nic, updated in cvs the new version of snow :-D

Nic
3rd January 2005, 19:00
@Fl0ppy: That's just a compilation patch for encoding with/without encoders in libavcodec...So no need for a recompile :)

Shinobu
3rd January 2005, 22:48
any hope to have a dual cpu support for quenc ? (it's already fast, but it took only one of my two athlon mp...).

i can't find a way to use snow in 0.59 version. Do you removed it because of my lame report ? :p

++

Nic
3rd January 2005, 23:10
@shinobu: That all depends on how you used Snow Mode ;) If you did it using the registry, it will no longer work.
Writing true multithreaded code always (for me) very slightly slows down encoding on 1 CPU machines. And therefore isn't really worth it...At least at the minute, especially as I don't have a true multi-CPU machine to test on.

-Nic

CruNcher
3rd January 2005, 23:22
@Nic
i tried to higher the Gop size to 15 now the effect gets triggered every 15nth frame :P

Nic
3rd January 2005, 23:40
@Cruncher: With Snow you mean? Yeah...so why didn't you try it with 250 ??? :)

CruNcher
3rd January 2005, 23:55
yeah lol sorry i must be dreaming i better get some sleep gn8 :P

h00z
4th January 2005, 00:27
Originally posted by Nic
Writing true multithreaded code always (for me) very slightly slows down encoding on 1 CPU machines. And therefore isn't really worth it...At least at the minute, especially as I don't have a true multi-CPU machine to test on.

-NicI'm playing with QuEnc right now (for the first time), and I would be happy to test an SMP enabled build if you'd like to try one. I have an Athlon64, HT enabled P4s, dual HT enabled Xeons and dual Opterons (running in 32 and 64bit). I'd be happy to beta test for you! :)

Ebobtron
4th January 2005, 01:37
Unexpected behavior of encoder:

During test of 59 alpha discovered small random blocks of white or black in bottom right corner of video when decoded by Ligos MPEG Video Decoder Version 4.0.0.77 with either Mplayer Classic or Widows Media Player. PowerDVD 5.0 and VideoDubMod didn’t show the blocks.

MPEG-2, 5800kbps, 6200kbps max, VBR, NO MUX, GOP 18, B-Frames 2, Force Closed GOPs, 4/3, Interlaced, TFF, DC 10, MP2, 192kbps.

Source was 720x480 29.97 with Audio 2 channels @ 48000

Changed Mux profile to DVD and blocks were gone.

Killed the audio in the script and tried NO MUX again and the blocks were gone as well.

Blocks only generated when feeding audio to QuEnc with NO MUX selected. Blocks only shown by Ligos decoder

TFF Flag and the YU12 warning working.

Thanks,

Rob
Screen samples: is there a trick I don't understand about the attachments.

dragongodz
4th January 2005, 04:53
any hope to have a dual cpu support for quenc ?
yes i already have that on the list to test later down the track. being able to select single or double threads. i have said before though that i wont work on something(such as QuEnc) while Nic is because its to hard to try and mix in what we both have done. easier to just take in turns. :D

Writing true multithreaded code always (for me) very slightly slows down encoding on 1 CPU machines.
avcodec can be compiled threaded already. however the last comments i saw about it said the output from single and multiple cpu(3 threads used) versions was slightly different. i dont remember if they said anything about single cpu encoding being slower but i bet it would be if set to multiple cpu. however if set to single then there shouldnt be any difference. all needs testing later anyway. :)

Mug Funky
4th January 2005, 13:58
ah. i like this new version. seems faster to me as well.

are there any updates on the rate-control spike handling? i haven't heard anything for a while, but it's working pretty well for me so far (i'm not using extreme bitrate settings, like average=max).

this is my default mpeg-2 encoder now :)

snow is cool, too (the secret's safe with me :)).

lithoc
4th January 2005, 17:27
Originally posted by Mug Funky
ah. i like this new version. seems faster to me as well.


A Turbo mode for 1st pass would definitely a boost.
Thanks Nic for the great QuEnc.

Guest
5th January 2005, 11:00
Maybe it's a bug, maybe a missing feature or maybe it's just me... but QuEnc doesn't seem to render mono sound correctly.

Anyway, great work Nic!! :)

Tin2tin

Ebobtron
5th January 2005, 17:24
Originally posted by Guest
Maybe it's a bug, maybe a missing feature or maybe it's just me... but QuEnc doesn't seem to render mono sound correctly.


Never use single channel sound.

Guest is correct, feed in mono and you get really bad sound MP2 or AC3.

lithoc
5th January 2005, 22:55
Hi Nic,

I've notice QuEnc 0.59a didn't use B-frames much.

I've set Max B-Frames = 2 + Scene Detection.

But when I mux using mplex. I always notice B frame didn't use much.

INFO: [???] VIDEO_STATISTICS: e0
INFO: [???] Video Stream length: 597820183 bytes
INFO: [???] Sequence headers: 7698
INFO: [???] Sequence ends : 0
INFO: [???] No. Pictures : 167674
INFO: [???] No. Groups : 7698
INFO: [???] No. I Frames : 7698 avg. size 18605 bytes
INFO: [???] No. P Frames : 105724 avg. size 3713 bytes
INFO: [???] No. B Frames : 54253 avg. size 1143 bytes
INFO: [???] Average bit-rate : 683600 bits/sec
INFO: [???] Peak bit-rate : 3044800 bits/sec
INFO: [???] BUFFERING min 6717 Buf max 224578
INFO: [???] MUX STATUS: no under-runs detected.

scharfis_brain
5th January 2005, 22:56
A german forum member recently told me,
that QuEnc swallows the last Frame of a video.

ie.
Stream length before encoding: 501 Frames
Stream length after encoding: 500 Frames.

this is not an error of DVD2AVI/DGindex, cause the framecount had been fixed in AVISynth.

Is this issue known?

Are there any workarounds, exept repeating the last frame using AVS?

Nocturno
6th January 2005, 00:29
are there any updates on the rate-control spike handling?

my question exactly, although i did a quick test with max bitrate to auto and it peaked at 9870 in bitrate viewer with bitrate set to 6500

mplex doesn't like these kind of peaks very much i noticed, after a few of them it quits multiplexing.
This is for me still the only reason not to use quenc.

dragongodz
6th January 2005, 00:50
are there any updates on the rate-control spike handling?
no.

the only option at the moment is to use Peter Cheats rate control but as he is still working on it it would be best to release a version with normal avcodec rate control aswell. that may be confusing having 2 releases so maybe best stick to 1 for now.
Peter has said he is going to make old rate control and his new rate control selectable so when that happens Nic or i would be able to release 1 version of QuEnc. you will just have to wait for it. :)

Nic
6th January 2005, 12:31
Thanks for the feedback guys:

So my list is:

1) Mono Sound not working correctly
2) Swallowing of the last frame
3) Check B Frame Usage

Ok, I'll get onto that and release 0.6. I think i've fixed the bug with NOMUX that was mentioned before...

Cheers,
-Nic

Shinobu
6th January 2005, 15:50
4)add multi thread options ;)
5)unlock hidden snow mode (can't play with it by setting up de right reg key)
6)take some rest sometime.

++

lithoc
6th January 2005, 15:58
I've done some analysis on the B-frames usage.

B-frames is only used when there's very small changes between frames(ie almost static).

P-frames is often used if there's medium to small changes.

I frame is used when scene changed or at max GOP.

I've found out that using peter's NuEnC, the max allowed is 50.
But QuEnc doesn't have limitation.
Combining unlimited/very large GOP and Scene Change is very good if it doesn't brake any compatibility with hardware player.


1.) What is the Max GOP for MPEG-2 standard(especially DVD)?

2.) Is there a way to make libavcodec to have less sensitive P and B frames usage detection?

IMHO, I think B-frames it's too sensitive. Any small panning or small to medium changes(like people/car passed by at the background) will trigger the P frame usage.
I'm not sure if this decission is best for bitrate saving or quality.

Any comment is welcome

Thanks in advances.

makoto916
6th January 2005, 17:21
Also, what about PCM audio support? Sometimes I prefer to leave the audio untouched from the AVISynth script and a PCM mux option would definately let me do that.

hank315
6th January 2005, 17:57
What is the Max GOP for MPEG-2 standard(especially DVD)?For DVD creation Max GOP length is 15 for PAL and 18 for NTSC.

lithoc
6th January 2005, 18:33
For DVD creation Max GOP length is 15 for PAL and 18 for NTSC.

Something I forgot to put, I always encode my video with GOP size to 24(or follow the FPS of the video).
It play well on my DVD player. Even TMPGENC encourage to have larger GOP.

Well, I've tried encode some trailer.

B-frame = 4
Scene Detection
VBR
HQ
Trellis
2 Pass


Just for comparison sake, my video is 720x360@600kbps

A = GOP size 9999

B = GOP size 18

Quality A really better than B.

The reason is, a lot of unnecessary I-frame being inserted to video when max GOP reached. It could have ideally use P or B-frames which use less space.

Any scene change will insert I-frames.

I've notice that putting B-frames to 4 is better since libavcodec only use it on "almost static" scene and it never use 4 in a row but 3 instead.

I haven't tried on my DVD player, I only use VirtualDUB-MPEG2 to test.

BTW, I've found some web-site:
http://www.amigodvdripper.com/dvdspec/video_spec.html

"MP@ML has no GOP size restriction. In fact, the GOP() is considered to be an insignificant layer in MPEG-2. Instead the sequence() layer serves as the most important boundary in the generic MPEG sense."


I do not have my DVD player with me right now. Can anybody try it?

Asmodeus
6th January 2005, 18:44
I've used gop 50 for some time, and even tryed gop 100, and two independent SAPs plays this type DVDs perfectly, as far as bitrate and VBV restrictions was preserved.

lithoc
6th January 2005, 18:47
Hi Nic,

I've found a bug.

1.) Putting Max GOP to 0 will crashed QuEnc during 2nd pass.

2.) Select Const Quant and 2 pass encoding will crash QuEnc.


Can Max GOP = 0 treated as unlimited and can be activated only if Scene Detection is used?
Or else there'll be only one I-frame for the entire movie!!! :D



BTW Nic, is there any chance you will enable user to tweak pVideoCodecParams with implementation of quenc.ini or in the registry?
Yet another hidden features?

Thanks

hank315
6th January 2005, 22:25
"MP@ML has no GOP size restriction. In fact, the GOP() is considered to be an insignificant layer in MPEG-2. Instead the sequence() layer serves as the most important boundary in the generic MPEG sense."That's right for MPEG2 creation but not for DVD. A large GOP length may play well on many DVD players but it is just not DVD compliant.
DCT mismatch errors may accumulate in P pictures for very large GOP's depending of the quality of the decoder, insertion of I frames prevents these mismatch errors.

@Nic
Did some encodings with Quenc, runs very nice, fast and stable but please have a look at the next picture: http://hank315.dyndns.org/mpeg.jpg
The upper picture is the output of Quenc, the lower of another encoder. The encoded scene is a quiet scene and exactly the same for both encoders.
The Quenc picture shows only 2 B pictures in this scene...
I know you're already working on this, so just consider it informative :)

lithoc
6th January 2005, 23:10
Originally posted by hank315

The Quenc picture shows only 2 B pictures in this scene...
I know you're already working on this, so just consider it informative :)

I think b_quant_offset need to be tweak to use more B-frame.

Currently there're no way to tweak without recompiling the source code.

Nic
7th January 2005, 00:20
The wacky B-Frames issue is caused by b_frame_strategy = 0;

This happens if Closed GOP is on. Or if Scene Detection is off.
I can't remember why I make b_frame_strategy = 0 at those points...Can anyone enlighten me? :)

-Nic

ps
You were right about QuEnc swallowing a frame. I don't understand why, just added the number of frames to encode by 1 and all seems well....Hmmm. I'll keep testing.

pps
Also fixed the mono audio bug for the next release :)
Also lithoc's GOP = 0 suggestion and will no longer do const quant 2 pass
Also Now instead of a "No Mux" option has a "No Audio" and a "No Video" option

dragongodz
7th January 2005, 02:26
I can't remember why I make b_frame_strategy = 0 at those points...Can anyone enlighten me?
because that is the default and should be used. to quote from http://homepages.pathfinder.gr/ffvfw/libavc-options.txt
vb_strategy 0-1 for pass 2
0 allways use the max number of B frames (default)
1 avoid B frames in high motion scenes (this will cause bitrate
misprediction)

that should mean that for a GOP with 2 B frames set and no scene detection should look like IBBPBBPBB etc except the very first GOP which should be IPBBPBBPBB. when scene detection is turned on you have it set to 1 however and so can have IPPPP etc.

i said a long time ago that i thought scene detection should not set b frame strategy to 1 aswell but thats just my personal opinion.

DarkFoon
7th January 2005, 05:54
Allow me to be impudent:
could somebody post the intra/inter-frame matrices of the QLB matrix?
I like what I see with it, but I need to use a differnt encoder for the time being (sorry Nic, Quenc is a great Encoder, IMO, but this situation requires a different MPEG2 encoder).
Is it possible, without hurting anybodys feelings, that it could be posted? Thanks!

dragongodz
7th January 2005, 06:11
could somebody post the intra/inter-frame matrices of the QLB matrix?
yes you can see it here
http://forum.doom9.org/showthread.php?s=&threadid=86204

Is it possible, without hurting anybodys feelings, that it could be posted?
nobodys feelings hurt at all. its not a secret or anything, its in the QuEnc source code for anyone to see. :)

any comments or impressions about it should probably go to that thread i linked. that way this 1 can be just for any problems etc with QuEnc itself.

mean
7th January 2005, 08:05
Last frame drop:
Maybe because there is a one frame delay when using B frame(s) ?
(The 1st frame is 0 sized)

Nic
7th January 2005, 10:15
@mean: Well that's a good enough reason for me ;) It does seem to work now...so all is well :)

@dragongodz: The problem is that if b_frame_strategy = 0 then almost no b-frames ever get used...if b_frame_strategy = 1 then we get the normal regiment of IBBPBBPBB etc So the documentation seems wrong (???)
If you've got any time could you do some testing on it for me? To see what the right solution is....(You can use Elecards MPEG Viewer to check B-Frame distribution http://www.moonlight.co.il/download/MMSEye.zip )

At present I feel like setting b_frame_strategy = 1 all the time. Because I prefer a uniform use of B-Frames. Maybe when b_frame_strategy = 0, different b-frame parameters should be used (???) Let me know your thoughts :)

@DarkFoon: Why can't you use QuEnc? If you want a different encoder use CCE or TMPGENC....But I can't tell if that's what your asking for.

Cheers,
-Nic

Guest
7th January 2005, 10:49
Great stuff your adding to QuEnc, Nic!

One thing which could be useful for us gui-proggy-writers using avisynth script and QuEnc to render is a silent mode to the cli.

I'm working on a free slideshow gui. It's scaling each odd sized image with avisynth and render them one by one with QuEnc, and for each slide the QuEnc interface pops up and closes(when rendering the final mpg it runs a new script using the temp imagesequence generated with QuEnc where the QuEnc interface opens normally to let the user tweak the settings).

So for me a '-silent' would be a nice option to the cli. Meaning running QuEnc without opening the interface, but I'm just talking cosmetics here - nothing too important.

Tin2tin

Nic
7th January 2005, 11:19
@guest: Not sure about running silent...how about I make it so -silent makes it run minimalized in the taskbar? That way it wouldn't pop up in the way but people could still look at it if they wanted to.

-Nic

Guest
7th January 2005, 12:01
Good idea :) :) :)
Tin2tin

dragongodz
7th January 2005, 13:22
ok did some quick testing. hmm well i couldnt reproduce odd number B frames with closed GOP but with scene detection i could. very strange with it being set to 0(B strategy that is). especially if you look at mpegvideo.c in ffmpeg, specifically this

if(s->avctx->b_frame_strategy==0){
b_frames= s->max_b_frames;
while(b_frames && !s->input_picture[b_frames]) b_frames--;
}else if(s->avctx->b_frame_strategy==1){
for(i=1; i<s->max_b_frames+1; i++){
if(s->input_picture[i] && s->input_picture[i]->b_frame_score==0){
s->input_picture[i]->b_frame_score=
get_intra_count(s, s->input_picture[i ]->data[0],
s->input_picture[i-1]->data[0], s->linesize) + 1;

so what i would do is set b_frame_strategy to 1 before the options and remove the ones in closed GOP and scene detection. thus having strategy = 1 for everything and then see if the odd number B frames is reproducable. if not then leave it that way.

sorry i dont have time to do more extensive tests at the moment but i should be able to do some more sunday all going well. :)

Trahald
7th January 2005, 14:40
Sorry if i missed it but i dont see it in the /? dialog... what is the command line for 'nomux'?

Nic
7th January 2005, 15:51
@Trahald: Yeah, I forgot to add it in the list. It's under the -mpeg2mux (I think that's the option I don't have it in front of me). Use "nomux" instead of "dvd" or "svcd".
However, in the upcoming release that's removed and will be called "noaudio".

-Nic

EpheMeroN
8th January 2005, 02:19
I think I found an issue within QuEnc v0.59a. When I encode this script (see below) using 4:3 AR option it adds and muxes the audio successfully. If I tick the 16:9 AR option (the one I need) and encode it only gives me a *.m2v and does not encode / mux the audio at all. Below is the script I've been using for the latest QuEnc:

#PLUGINS
LoadPlugin("C:\Video Related\AviSynth v2.5.5\Plugins\TDeint.dll")
LoadPlugin("C:\Video Related\AviSynth v2.5.5\Plugins\DeFreq.dll")
LoadPlugin("C:\Video Related\AviSynth v2.5.5\Plugins\RemoveDirt.dll")
Import("C:\Video Related\AviSynth v2.5.5\Plugins\LimitedDirt.avsi")
LoadPlugin("C:\Video Related\AviSynth v2.5.5\Plugins\Convolution3D.dll")
Import("C:\Video Related\AviSynth v2.5.5\Plugins\LimitedSharpen.avsi")
LoadPlugin("C:\Video Related\AviSynth v2.5.5\Plugins\UnDot.dll")

#INPUT INFO
Video = Trim(AVISource("C:\Documents and Settings\Blank\Desktop\xxxx.avi"),300,4380).FadeIn(25).FadeOut(25)
Blank = BlankClip(Video).Trim(0,59).Amplify(0.0)
AlignedSplice(Blank,Video,Blank)

#AUDIO
DelayAudio(-0.2)
Normalize(0.97)
SSRC(48000)

#VIDEO - INTERLACED FILTERING
Crop(0,40,0,-44,Align=True)
Levels(62,1.3,235,8,235)
ConvertToYV12(Interlaced=True)

Even=Last.SeparateFields().SelectEven()
Odd=Last.SeparateFields().SelectOdd()

Even = Even.DeFreq(fx=0,fy=-44).LimitedDirt()
\ .Convolution3D(Preset="movieHQ")
\ .LimitedSharpen().UnDot()

Odd = Odd.DeFreq(fx=0,fy=-44).LimitedDirt()
\ .Convolution3D(Preset="movieHQ")
\ .LimitedSharpen().UnDot()

Interleave(Even,Odd).Weave()

#VIDEO - INTERLACED RESIZING
TDeint(1,1)
BicubicResize(704,480,0,0.5)
SeparateFields().SelectEvery(4,1,2).Weave()

AddBorders(8,0,8,0)

Nic
8th January 2005, 11:11
@EpheMeroN: I find that strangely hard to believe...Could you try and do some more testing for me to try and get it down to a much simpler script. As that script is a bit heavy going for me to try and replicate that bug.

-Nic

Koepi
8th January 2005, 11:28
I have another suggestion. I'd like to see something like "fixed quant credits" in quenc - i started with LOTR-SEE (all episodes) and the credits there seem to need nearly the same amount of space as the main movie - that's quite a waste IMO. I tried to soften the effect in "return of the king" by smoothing out the credits and it seems to help, but it would be nice to set a quant for the credits like i.e. 16 or 20 (and bframes even higher quantized).

I think I could add that and send the changed sources. What do you think, Nic?

Cheers
Koepi

EpheMeroN
8th January 2005, 11:56
@Nic: I will definately run more tests and I'll limit the script so I can find out what is causing this. I'll post again when I find something.

Nic
8th January 2005, 13:31
@Koepi: It's a good idea. I'm trying to keep QuEnc as simple as possible. It's all aimed to be so someone with even a basic knowledge of video encoding doesn't need any manual or readme to understand the options.....If you could make it very simple and clean in the interface then I'll add it in. I'm not sure how simple it will be to get libavcodec to do what you want....it can be...tricky ;)

@EpheMeroN: Thanks, let me know your results. The next version will be QuEnc 0.59 Beta 1. And if that works i'll make it a 0.60 Stable release. So I want all bugs gone :)

@DragonGodz: I must of got things the wrong way round. Which would make sense. It seems setting pVideoCodecParams->b_frame_strategy = 0; always produces the normal B-Frame distribution will probably be the setting used in the next release.

-Nic

Koepi
8th January 2005, 14:04
Ok, I fetch the sources now and will see if I can get the magic done ;)

Cheers
Koepi

Koepi
8th January 2005, 14:29
Ok, gotta do some research, I'm seriously lacking something in my dev environment:

E:\Development\QuEnc_src\QuEnc\AVSEnc.h(6): catastrophic error: could not open source file "avformat.h"
#include "avformat.h"

Cheers,
Koepi

dragongodz
8th January 2005, 16:33
#include "avformat.h"
you need to do a cvs checkout of ffmpeg for such files. :)

Koepi
8th January 2005, 16:48
Ok, I lack ffmpeg sources then.Thank you for the hint! :)

Cheers,
Koepi

DarkFoon
8th January 2005, 21:41
@Nic
I'm using TMPEG, I have never seen CCE, but I have heard about it often in this forum. Anywhere I could get a trial or something?
Keep up the good work! I look forward to the next Quenc version all the time.

the viking
8th January 2005, 22:12
DarkFoon,you can get trial of CCE here:http://www.cinemacraft.com/eng/index.html

EpheMeroN
9th January 2005, 06:35
@Nic: I simply cannot reproduce the error again. I tried a simpler script using 4:3 AR, and then 16:9 AR. I also tried the same, more complex, full script again using both 4:3 and 16:9 AR options and they all encoded the audio to MP2 and muxed it perfectly.

I'm gonna say for whatever reason, it was simply a fluke the first time the error happened because I cannot reproduce it. But while I'm on the topic of audio within QuEnc, what are you using to encode the audio to MP2? Is it MP2Enc or tooLAME? tooLAME IMHO yields the best MP2 quality.

Peter Cheat
9th January 2005, 08:16
Originally posted by Nic
You were right about QuEnc swallowing a frame. I don't understand why, just added the number of frames to encode by 1 and all seems well....Hmmm. I'll keep testing.

I put this down to an FFMPEG issue. What seems to happen is b-frames get chopped off at the end if they can't reference a future i or p frame.

So what should be IBBPBBPBBPBBPB actually encodes as IBBPBBPBBPBBP, chopping off a frame (or two). Well, I think this was the problem. My computer blew up (literally, yes really), so I can't exactly confirm this right now, but I did have a go at fixing it.

lithoc
13th January 2005, 21:20
It's been very quiet week for QuEnc. I'm sure Nic is busy coding.

Nic, is there any chance you will setup a CVS server for the public?
So that, anyone will get access to your codes.

:)

freelock7
15th January 2005, 13:31
Suprised to see the quality improvement of this new update!
The great softness of the image is astonishing! Fabulous! All frames and background are very clean and picture looks very well

test report from DVD player:

-QuEnc0.59Alpha works better in high motion scenes than 0.56 & 0.57
-quantization scale optimized (beautiful)!
-1Pass VBR produces great quality (>5000kbs) but the prediction average can be wrong (oversized or downsized) (1)
-DVD player freezes sometimes -very quickly-when scene changes. B frame or I frame inserted?(treillis & scene change disabled).
-2Pass is very high quality >3000kbs
-constant quant=7 seems to be DVD compliant(2)
-faster
(1)Fixed. Just limit the max bitrate at 8000 or less (9800 by default produces too many high bitrate peak) to avoid oversized file.
(2) constant quant [1 to 5]: high bitrate exeeds 10.000kbs.
No limit(?)

Great job Nic!

Nocturno
15th January 2005, 21:49
hmzz.. i just did another avi --> dvd conversion and set the max bitrate to 7000, to reduce spikes.

this time it didn't spike that much,so mplex multiplexed perfectly.
i authored the dvd with dvdauthor and played it with powerdvd..
no problems there.. but after burning it and putting it in my player, much to my surprise i had no video, just audio.. my Kiss dp500@508 gave me a black screen! that's really strange..

i'll investigate some more if i get a chance.
and try to remember what settings i used this time ;)

it can also be a dvdauthor problem.. i'll try and find out.

lithoc
17th January 2005, 03:46
The bitrate spike mostly affect when there's too many I-frames inserted too closely.
I think PeterCheat's NuEnc already workout the solution by preventing too many I-frames in a sequence.

DarkFoon
17th January 2005, 07:20
I'm not sure what kind of bug this is, but when I use extreme and slow with certain custom QMs, I get really wierd blocking on objects that are mostly luma (little to no chroma), such as white text on black background.
Examples:
http://virus-pserver.ath.cx:81/kizawa/bad.png

This is an I-frame. This thing only happens one I-Frames.

Some QM's that it does this to:

Maximum

8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8

16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16
16 16 16 16 16 16 16 16


A DCTuned matrix (0.33, 1.0)

8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 16 16 16 16
8 8 8 8 16 16 16 24
8 8 8 8 16 24 24 24
8 8 8 8 16 24 24 32

16 16 16 16 16 16 16 24
16 16 16 16 16 16 16 24
16 16 16 16 16 16 24 24
16 16 16 24 24 24 24 32
16 16 16 24 24 48 56 40
16 16 16 24 48 80 104 104
24 16 24 32 80 96 160 255
32 24 32 40 72 104 136 255


and Bulletproof's High Quality Matrix.

This happens with a few other QMs, but I cant remember them.

My AVS is:

loadplugin("C:\plugins\ReInterpolate411.dll")
loadplugin("C:\plugins\DCTfilter.dll")
loadplugin("C:\plugins\blockbuster.dll")

a = avisource("IJ-001.avi").trim(5228,0).fadein(50).converttoYUY2(interlaced=true).reinterpolate411()
b = avisource("credits(YUY2).avi")
c = avisource("IJ-002.avi").converttoYUY2(interlaced=true).reinterpolate411()
d = avisource("IJ-003.avi").converttoYUY2(interlaced=true).trim(0,32842).fadeout(100).reinterpolate411()
e = avisource("ending(YUY2).avi")
f = Blankclip(length=29, width=720,height=480, pixel_type="YUY2", fps=29.97, audio_rate=0, stereo=true)
g = avisource("utp(YUY2).avi").doubleweave().changefps(29.97)

video = b++a++c++d++e++f++g

audio = wavsource("IJ-audio(Final).wav")

audiodub(video,audio)

blockbuster(method="noise", variance=0.3, seed=1)

coloryuv(levels="PC->TV")



My Quenc settings were:

MPEG-2: yes
bitrate: 6400
Use VBR: on
High Quality: on
Gop size: 18
Max B-frames: 2
Extreme and Slow: on
Scene Detection: on
Interlaced Encoding: on
DC Precision: 10
Max Bitrate: 8000
Audio: No MUX

When I turned off "Extreme and slow" the problem went away. So, I think it's isolated to that.
By the way, what does "Extreme and Slow" turn on?
I hope I have provided enough info for a fix (unless this problem is well known, and I'm just in the dark).

Bogalvator
17th January 2005, 11:13
There is a well known bug in avcodec which affects trellis when used with high definition CQM's at low quants (overflows, which cause blocking)

From the QuEnc_settings.txt from version 0.54 package:

"Extreme & Slow" Settings
-------------------------
This is experimental, not recommended, but turns on many settings that can increase quality
but slow down the encoding alot.
The settings it turns on are as follows:

Trellis Quant
HQ
CBP Rate Distortion
MV0 (always try a MB with MV=<0,0>)
Change MB dicisions from SAD to SATD
luma elimination threshold = -4
chroma elimination threshold = -7
ratecontrol qsquish = 1

(These are subject to change ;) )

So it seems that would answer that. From my experience (admittedly limited), "Extreme & Slow settings" is just not worth the effort. Just stick to "Enable HQ", and don't use trellis when using a high-def matrix (e.g. Didee 6 of 9)

Also, don't raise DC precision above 9 (waste of bitrate otherwise. 8 is usually just fine)

DarkFoon
17th January 2005, 18:29
so all it really is, is just the well-known trellis bug? Seems kinda silly to have a trellis option, and then have another option that enables trellis also. Maybe Nic should fix that sometime. ;)
I use extreme and slow just because I have the time, and the speed difference isnt too bad. I have a lot of space for the encode I'm currently working on (1 hr movie onto 4GB DVD) so I have been using DC precision 10, but mainly for compatability.

Nic
18th January 2005, 00:34
@DarkFoon: Not as silly as you may think ;) CBP Rate Distortion requires Trellis Quant. But, i'll make it so "extreme" doesn't turn Trellis on. But if it is on, it turns CBP RD on too....how's that? :)

-Nic

Nic
18th January 2005, 00:47
http://nic.dnsalias.com
Changes:

B-Frame strategy should always produce uniform B-Frame placement
Fixed mono audio encoding
When GOP=0 means GOP size will be infinitely large
Now has encode only audio or video options
Fixed last frame not encoding when using B-Frames
Added -silent option (loads QuEnc minimized)
"Extreme" Settings don't automatically turn on Trellis


I haven't made any huge changes. Trying to stabilze everything, before moving on to working on either ratecontrol or SNOW.

Cheers,
-Nic

lithoc
18th January 2005, 04:31
Thanks NIC,

Encode few trailers,

First, B-frames works but I think the Scene Change is broken.
It can't detect scene change while B-frames is used(or something like that).

I think QuEnc 0.59 Alpha is better in detecting Scene Change.

Cheers,

dragongodz
18th January 2005, 05:15
just did a quick test and scenechange with B frames works fine.

DarkFoon
18th January 2005, 05:16
@Nic
Nice compromise!
Does 'HQ' turn on mb_decision=2 (rate distortion)?

I think it would be cool to have maybe an 'expert' button on the advanced menu where the user could pass their own arguments to LAVC; to me, it looks like a list of the variables with a text box next to each one for the value. Probably not needed or maybe even too complicated, but it would allow the user to have the same (or close to) ammount of control available through Nuenc (I don't like Nuenc ;) ). Or is the user already able to pass arguements to LAVC through the command-line interface?

dragongodz
18th January 2005, 05:43
@DarkFoon - the idea is to not have every option because the simple fact is that people who dont know what they are doing(even if they belive they do) or what should be changed or why will screw it up. they will then turn around and blame QuEnc for their mistakes.
ok some people like to control every single thing they can but when there is a 90% chance of screwing it up for a potential 1% quality or speed increase why would a programmer want to give those options ? :)

DarkFoon
18th January 2005, 06:24
*bows to dragongodz*
I stand corrected, and what a well put argument too. I understand now; I never really think of the (stupid) people who don't know what they are doing (and possibly think they do). I like to experiment, so I don't mind messing things up in the search for higher quality (and smaller sizes if I am lucky).
[OT]
On another note, how does one take mono audio and convert it to stereo within AviSynth? My script posted higher up on this page is the one that I need to convert mono -> stereo. (Just in case anybody needs to see how I have it set up).
Thanks!

[EDIT]
Maybe the 'expert' button or whatever should be hidden, like the SNOW mode. Just for reference, I haven't figured that one out (not that I have been trying to ;) )

lithoc
18th January 2005, 06:41
Originally posted by dragongodz
just did a quick test and scenechange with B frames works fine.

There's something weird regarding the B-frames.

I try to encode T3: Rise of machines trailer.

For example.

Scene Change Off
I BB P BB P BB ...

Scene Change On
I BB P BB I BB ...

QuEnc 0.59 Alpha Scene Change On
I BB P B I BB P ...


When scene changed, I-frames only replace the nearest P-frames with I-frames.

If the actual scene change happened on any of the B-frames. It won't change the B-frames to I frames but wait until the next P-frames.

Also, I found out that QuEnc can't have 2 or more I-frames together even though it is suppose to be scene change(I-frame) which is good to reduce bitrate spike.

I'm no expert in programmiing, just my 2 cent findings.

Thanks

Boulder
18th January 2005, 06:51
Originally posted by DarkFoon

[OT]
On another note, how does one take mono audio and convert it to stereo within AviSynth? My script posted higher up on this page is the one that I need to convert mono -> stereo. (Just in case anybody needs to see how I have it set up).
Thanks!

Use the internal function MergeChannels.

From the docs:

# Example, converts "uncompressed wav" audio to a 44.1 kHz stereo signal:
video = AviSource("c:\divx_wav.avi")
audio = WavSource("c:\divx_wav.avi")
l_ch = GetChannel(audio, 1)
r_ch = GetChannel(audio, 2)
stereo = MergeChannels(l_ch, r_ch).ResampleAudio(44100)
return AudioDub(video, stereo)

dragongodz
18th January 2005, 07:07
If the actual scene change happened on any of the B-frames. It won't change the B-frames to I frames but wait until the next P-frames.
yes thats basically the idea. consistant use of B frames. the odd(as in single) B frames throw rate control off(according to the documentation) worse than it already is. plus we are talking about a 1 or 2 frame delay in the scene change, you wont notice it when playing.

Also, I found out that QuEnc can't have 2 or more I-frames together even though it is suppose to be scene change(I-frame) which is good to reduce bitrate spike
as compared to something like IBBI ? B frames should be smaller than I frames so that should not increase spiking.

lithoc
18th January 2005, 08:17
Hmm... thanks for the answer. I'm quite agree with you.
:D

freelock7
18th January 2005, 11:13
QuEnc0.59Beta report:
The complicated pictures encoding with a lot of scene change still remains (blocks) at low bitrate (under 4500). The scene change & treilli options don't bring a better quality.
CCE with its Q factor (=40) setting don't create blocks in the same conditions.
But I have to mention a test with NuEnc0.01b with the same <CQ> option=40 and the result is great too (no blocks).
CCE don't put Peter to shame.:p
So why QuEnc don't have the CQ option which works so well??

Boulder
18th January 2005, 11:22
NuEnc's CQ value and CCE's Q value are not the same!

You can't test with the exact same value, you must test with values that give almost exactly the same filesize.

lithoc
18th January 2005, 11:35
Originally posted by freelock7
So why QuEnc don't have the CQ option which works so well??

You can try put 1-31 to Bitrate fields to enable Const Quant.

:D

katjarella
18th January 2005, 12:25
Hello Nic,
*Fixed last frame not encoding when using B-Frames

and the Global Last Frame Fix?

Avisynth: BlankClip(length=1,width=720,height=576,fps=25)
KillAudio()
Info()
Converttoyv12()


Encoding Quenc & BitrateView Info:
Num. of picture read: 2
Gop no.,Timecode,Pic n.,Pictures,Closed,Broken l.,Has SeqHdr,Offset
1,00:00:00.00,1,I,Yes,No,Yes,000001a
2,00:00:00.01,1,I,Yes,No,Yes,000a41f

Encoding CCE & BitrateView Info:
Num. of picture read: 1
Gop no.,Timecode,Pic n.,Pictures,Closed,Broken l.,Has SeqHdr,Offset
1,01:00:00.00,1,I,Yes,No,Yes,000005c

freelock7
18th January 2005, 12:50
@Lithoc
Yes, but the constant quant QuEnc is unable to fix the max bitrate spike. only quant=6 or 7 are DVD compliant. With NuEnc, it is perfect (excepted some overflow log report).
So, constant quant is DVD compliant or is it experimental in QuEnc?

Boulder
18th January 2005, 13:06
Constant quant is DVD-compliant provided that the video and video+audio+subs bitrate doesn't exceed the specified maximum. Thus, a smart constant quant encode might actually be pseudo-constant. The quants would need to be higher in places where the maximum bitrate would otherwise be exceeded.

EDIT: And actually CQ doesn't mean constant quantizer. It means constant quality, the quants are not constant in that mode either;)

Rockas
18th January 2005, 19:54
@NIC
Don't know if this has been asked before but here it goes....
Any clue about the recent incompatibility with DVD Rebuilder (since 0.59 Alphaa... I think as 0.58 didn't stayed long on the market :))

keep it UP

ps. [ot] any new ReJig coming up soon?

Nic
19th January 2005, 00:17
"The more you tighten your grip, Tarkin, the more star systems will slip through your fingers."

There's me thinking everything was getting sorted and finished and now it has problems with Rebuilder.

One of the problems I have is, when using B-Frames your supposed to use this pseudo-code:

for ( i = 0; i != nFrames+bFrames; i++ )
{
if ( i < nFrames )
EncodeFrame(Reader.GetFrame());
else
EncodeFrame(NULL);
}
(I hope understand the above)


So, basically you're supposed to call "EncodeFrame" aka "avcodec_encode_video" with NULL at the end to make up for the latency introduced when using B-Frames. The problem is: NULL sometimes crashes it...grr. Seems to be working ok so far in this next build though. That might help things.

-Nic

Nic
19th January 2005, 00:29
http://nic.dnsalias.com

Trying to do B-Frame support properly. Hopefully will be stable. Maybe help with ReBuilder.

-Nic

lithoc
19th January 2005, 03:31
@Nic

IMHO, is there anychance in bitrate fields from 32-100 becoming Constant Quality since libavcodec supporting it and quality below 32 is almost unacceptable.

Thanks

jdobbs
19th January 2005, 04:14
Originally posted by Nic
http://nic.dnsalias.com

Trying to do B-Frame support properly. Hopefully will be stable. Maybe help with ReBuilder.

-Nic I'm testing it with DVD-RB overnight on two movies.

Peter Cheat
19th January 2005, 06:24
Originally posted by Nic

So, basically you're supposed to call "EncodeFrame" aka "avcodec_encode_video" with NULL at the end to make up for the latency introduced when using B-Frames. The problem is: NULL sometimes crashes it...grr. Seems to be working ok so far in this next build though. That might help things.


If using NULL is a problem just use the last frame that was encoded. It doesn't really matter what data you use, it wont be included in the stream anyway. Just a thought.

mean
19th January 2005, 07:55
I've been doing like P Cheat suggested for a long time with no problem.

fray
19th January 2005, 08:35
Hi Nic,

you asked for suggestions, so here are some
comments on the user interface.

It has happened to me twice within a week that I accidentally stopped/deleted an encode when I pressed the SPACE key to deactivate the screen saver. In one case a three hour encoding was finished, but one space key deleted that right away to restart it.

That's why these options would be useful:
- confirm stopping
- confirm file overwriting

and as encoding takes a long time
- shut down PC after encoding.

TEB
19th January 2005, 09:30
@Nic, nice program u made there. Quality is very good. On the same level as Procoder 2.0.x and such..
One thing tho: On my workstation at work im only getting around 40% cpu usage when encoding with all the bells and wistles on. If i turn em off and encode a cbr basic stream its down to around 25% cpu time.
Its a p4-3,6ghz Intel 925xe chipset based thingy. It cannot be IO either since im encoding from a 10k-rpm drive and the source is a uncompressed avi file.. Any idea? And will quenc use HT or SMP in the future?

keep up the splendid work.
teb

Nic
19th January 2005, 09:51
@Teb: Weird? It's always maxed out any CPU I've used. Maybe a SMP version...one day. (OT: When I upgraded my machine, I almost got a 10k drive....wish I had now.)

@fray and everyone: I could make that an option. Personally for me I prefer not being asked questions to commands I've requested. Would me making it so that "space"/"enter"/etc doesn't cause encoding/stopping suffice?

@mean & Peter Cheat: That's what I was doing! :) And that's also what was causing the problems as katjarella pointed out. The latest build uses NULL, hopefully that won't cause crashing. If it does, i'll have to trace it in libavcodec and patch it....

@jdobbs: Thanks :)

@lithoc: I didn't know libavcodec did support it. D'oh! Ok I can add that if that's the case.

-Nic

TEB
19th January 2005, 10:08
@Nic, my machine is a Hyperthreaded machine. And it seems that it balances fine over the 2 Virtial cpu's... Isnt that wrong? I thought that if the app was a single threaded beast it should maximize one of the cpu's..

Btw, prolly a dumb question since this is a avs-mpegenc.. but will quenc
evolve into a more generic "über enc app" in the future? If it does, heres some suggestions:

1. Mpeg2 (ES,PS,TS) support as input
2. Mpeg2 (ES and TS) as output muxing format (PS is supported today)
3. Batchjob support (u can add the paramaters u want and the source and add job, then run job (or run it in the background)

best regards teb

fray
19th January 2005, 10:19
@fray and everyone: I could make that an option. Personally for me I prefer not being asked questions to commands I've requested.
Would me making it so that "space"/"enter"/etc doesn't cause encoding/stopping suffice?


Securing the space/enter key would help a lot in the first place.
Then a confirmation would only really be necessary when QuEnc wants to
overwrite a file.

What did you think of the PC shutdown option once encoding is finished?
If you introduce this, please make it a checkbox on the main form so
that this can be changed while the encoding is done.

While I'm at it - is it possible to move the task priority to the main window as well, so it can be changed while encoding is going on?

Nocturno
20th January 2005, 01:05
i'd like to see all old "bugs" fixed before introducing new ones ;) (new options i mean offcourse)

for me personally the rate control issue is most important.
non dvd compatible streams because of the bitrate spikes make this incredible piece of FREE software useless to me atm.

but offcourse Nic can do as he pleases :D
this app keeps getting better with additions, no doubt about that.

dragongodz
20th January 2005, 01:14
What did you think of the PC shutdown option once encoding is finished?
If you introduce this, please make it a checkbox on the main form so
that this can be changed while the encoding is done.
it is already a CLI option so it only lacks a gui control. :)

And will quenc use HT or SMP in the future?
read back through this thread as i already commented on this.

"The more you tighten your grip, Tarkin, the more star systems will slip through your fingers."
couldnt find an easier quote Nic ? :D

video_magic
20th January 2005, 01:25
Originally posted by Nocturno
...............

for me personally the rate control issue is most important.
non dvd compatible streams because of the bitrate spikes make this incredible piece of FREE software useless to me atm.

but offcourse Nic can do as he pleases :D
this app keeps getting better with additions, no doubt about that.

I also think the same. Queenc (and NuEnc) are great apps, but the rate control thing is in 'Libavcodec' or whatever it's called which is from another project. I think it's all open source so anyone could change it who has the skills, not just the people that did the original project.

I wonder about this requiring YV12 input though, because I think my file I want to encode is YUV or YUY2 or something like that, and would rather not have to change colours which I believe is a lossy step (is that right?)

Either way, Thankyou for what we have so far it's appreciated

dragongodz
20th January 2005, 01:41
I wonder about this requiring YV12 input though, because I think my file I want to encode is YUV or YUY2 or something like that, and would rather not have to change colours which I believe is a lossy step (is that right?)
there may be a little loss with conversion from YUY2 to YV12 but in general you shouldnt notice it.
MPEG1/2 is encoded YV12 so it needs to be converted to that anyway. if QuEnc supported YUY2 input it would still need to do the conversion before actual encoding then. since AviSynth already has the conversion routines why not use them instead of bloating QuEnc ?

the rate control thing is in 'Libavcodec' or whatever it's called which is from another project. I think it's all open source so anyone could change it who has the skills, not just the people that did the original project.
correct. FFMpeg is the project Libavcodec somes from to be exact.
http://ffmpeg.sourceforge.net/index.php

Nic
20th January 2005, 11:47
@Nocturno: You know me...I always do as I please ;) But seriously, it's a case of me wanting to fix all my own bugs before I start on the bugs of other people. Which I think makes sense :)

@dragongodz: It was the quote that was going through my head at the time...

-Nic

Nocturno
24th January 2005, 14:21
i know the rate control problem is known and i don't want to nag about it,but this one is really amazing..

id did another movie, and analyzed it with bitrateviewer
with max bitrate set to 7000, 5600 av-bitrate..

it peaked at.... 22000! .. wow .. it had some peakes around 13000/12000 too

i looked at what magical frame could produce such an excess?
it was a BLACK frame (a tv was turned off from screen static)
i've noticed this before.. on the change from the studio logo to the movie.black frames seem to peak high above the max bitrate.

hope this is usefull to you?

and thank god the forum is back online, i was getting withdrawel symptoms

;)

Ebobtron
24th January 2005, 17:31
2 cents more.

---------------------------------------

MPEG-2 Validator v1.4.0.131 reports:

*PTS underflow (Mux Error)...!!
*DTS underflow (Mux Error)...!!
*PTS//DTS Out of Sync (Mux Error)...!!

I don’t know what this means and I question other compliance markers used by the author of Validator. I do find that streams multiplexed for DVD with Mplex do not report these errors.

-------------------------------------------

Looks like if you feed QuEnc with anything other than frame-rate=29.97 the little “i” button reports the correct input frame-rate but the header flag is set to 25 fps.

Also when I fed the encoder an audio sample-rate other than 48000 the “i” button reports correctly but QuEnc cashes. 48000 is fine by me I caught this by luck.

--------------------------------------------

When opening a video with black the bit-rate is below 200 kbps. Works fine on my computer but is it too low for my stand-alone player? DVDs I have burned have noisy blacks (more like dark gray) on fade-in.

--------------------------------------------
Bit-rate: 6000kbps Max bit-rate: 6100kbps

When repeating a 60 second clip.
Bit-rate rises from about 4500 to average in about 10 seconds. When clip repeats it runs at average with no dip in beginning of clip.

------------------------------------------------

Scene Detection:
Seems better behaved.
I fed the encoder a music video and there is too much to relate. I repeated a simple clip with no scene changes and low motion separated by 3 seconds of black. “I” frame insertion was at least one frame early out of black followed by two “b” frames then a new GOP. Shouldn’t the first GOP and the GOP created at I frame insertion be closed?

---------------------------------------------------------

Closed GOP:
Shouldn’t the encoded result be the same for identical groups of frames?

I set this up shooting for a three GOP per second so I could graph the same frames over time
I had to change the frame-rate with “ReStream“.
I trimmed the clip so “I” frames matched up with first frame of clip after black .
Repeating a 10 second clip three times separated by 3 seconds of black.

GOP=10, b Frames=2, frame-rate= 30.00fps noHQ, noTrellis, 1pass, standard Matrix

Shouldn’t each group look the same? Graph below:

Thanks,
Ebob

Nic
24th January 2005, 18:15
@Ebobtron: Thanks for the detailed bug reports :)

PTS/DTS has never been perfect in libavcodec, i'll use vobedit to see if I can spot anything too bad going on in there. It should be ok though...

Always reports 25 fps?! Dang. That's quite a big bug i'll look into that.

Only accepts 48k input! Double Dang. Again, must be a stupid bug.

Bitrate: Going to look into libavcodec changes from Peter hopefully...to help. Nothing I can do from QuEnc's code really. (sadly)

SceneDetection: Closed GOP and Scene Detection don't mix in libavcodec (they are mutually exclusive (I don't know why)). Again, I think it's a libavcodec problem rather than QuEnc. I'll look into it.

ClosedGOP: I can't see the graph yet, so i'll comment on that later.

Cheers,
-Nic

Nic
24th January 2005, 19:29
@Ebobtron:
I can't replicate the only 48000 bug. I used an AVS file with audio and ResampleAudio(44100). Worked absolutely fine.

I can't replicate the FPS bug. I used the same AVS File with AssumeFPS(29.970) and it worked fine again (I tested the stream in bitrateviewer and restream to check they could read the right FPS)

If you have any suggestions on how to replicate the bugs let me know. (Make sure your using the latest version of QuEnc)

-Nic

Ebobtron
24th January 2005, 20:40
@Nic

.59b2

Yes 29.97 works fine I used “AssumeFPS(30.00)”
That is when I got 25.00 flagged out of the encoder.

I was trying an odd frame-rate to trap the same sequence of frames in the bit-rate viewer each second. I used “AssumeFPS(30.00,sync_audio=true)” and the audio sample rate jumped to 48048 and QuEnc crashed.

I was seeing high rate-spikes coming out of black and I thought it could be the rate viewer. It is the rate viewer.

44100 works fine. Me thinks it is the none standard rate. Maybe not a bug. She crashes instead of bitching so I sent you the report.
The same thought applies to the 30.00fps coding as 25fps

-----------------------------------------------------------------

Looks like my attempt at some objective analysis has a bug.

I though it looked as if the encoder wasn’t encoding the same data twice or three times the same way.

I think that it isn’t, but I still don’t like my testing method as it could be the muxing. So maybe you should ignore the last part of my post while I refine my test method.


Thanks,
Ebob

------------------

Ebobtron
24th January 2005, 21:04
Originally posted by Ebobtron
2 cents more.

---------------------------------------

When opening a video with black the bit-rate is below 200 kbps. Works fine on my computer but is it too low for my stand-alone player? DVDs I have burned have noisy blacks (more like dark gray) on fade-in.




@Nic

And not just black, full white or any still no motion frames sends the frame-rate way down.

Thanks again,
Ebob

Nic
24th January 2005, 22:04
@Ebob: Was a problem with just 30fps. All other MPEG fps work. D'oh. Well caught :)

freelock7
24th January 2005, 22:25
QuEnc0.59B2 report

-Great frame texture quality encoding
-original colors preserved (thanks yv12)
-scene change runs perfectly with DVD player. It is the best performance I've never seen in QuEnc.
It produces a very good response in high bitrate even at low bitrate
-treilli doesn't improve quality
-extreme&slowsetting reduces blocks size at low bitrate

I'm very glad to see the new performances of QuEnc.
Hope to see very soon the new RC capability.

Congratulations, Nic!

Ebobtron
24th January 2005, 22:27
Originally posted by Nic
@Ebob: Was a problem with just 30fps. All other MPEG fps work. D'oh. Well caught :)

20.000fps
I was looking for a multiple of 10 tested 30.00 and 20.00 only.

I guess 20.00 is a little strange but the encoder just defaulted to 25.

Thanks Nic this is a great little ap.

-------

Years ago as an Engineer I would say "Make it simple just on and off"

and someone would remind me, I was assuming that the user can or will read.

jdobbs
25th January 2005, 00:23
@Nic

Any chance the version information can be included so I can check it? It's always showing as 1.0.0.1 now. The version info was there back in v0.54... I'm trying to make DVD-RB recognize when it can use the "-mpeg2mux nomux" or "-mpeg2mux noaudio" functions... I've been told that any difficulty with DVD-RB and the newer versions goes away with this option set.

Thanks.

Nic
25th January 2005, 00:26
@jdobbs: I'll make it so in the next release -nomux will be an alias for -noaudio. (and i'll add version info :) )

I'll look into the difference too, with that on too.

-Nic

jdobbs
25th January 2005, 02:41
Thanks.

manolito
25th January 2005, 16:33
@jdobbs

Could you please make sure that FreeEnc 0.31 stays compatible with DVD Rebuilder? Currently FreeEnc does not return any version number. In this case Rebuilder should just assume that it is an older QuEnc version which has no use for the muxing parameters.

Thanks
manolito

Trahald
25th January 2005, 20:36
Originally posted by jdobbs
@Nic

Any chance the version information can be included so I can check it? It's always showing as 1.0.0.1 now. The version info was there back in v0.54... I'm trying to make DVD-RB recognize when it can use the "-mpeg2mux nomux" or "-mpeg2mux noaudio" functions... I've been told that any difficulty with DVD-RB and the newer versions goes away with this option set.

Thanks. both versions will take both options w/out faulting.. so what i did is just add '-mpeg2mux nomux -mpeg2mux noaudio' and now either version behaves.

jdobbs
25th January 2005, 21:45
Cool... so you don't get an error for in incorrect parameter??? Sounds good to me.

Trahald
26th January 2005, 04:49
no error :). i tested it quick on each version.

Ebobtron
26th January 2005, 05:23
@Nic

Is this a bug?

When trying to encode just video and just audio from the same script.

Encoded m2v is OK ac3 audio is short and mp2 audio is shorter.

---------------------
Clip length 1m25s 2549 frames has video and audio

Tried encoding Mux profile = no audio
Got out 2549 frames of great quality video 1m25s

Tried encoding Mux profile = no video Mp2 192kbps
Got 1m01s of audio out.

Tried encoding Mux profile = no video AC3 192kbps
Got 1m21s of audio out.

Audio plays at normal rate and is short in length at the ends.

Changed source script to output audio only, then using "No Video" in Mux profile audio length was correct for both ac3 and mp2.

These bugs are getting harder to find.
Ebob

lamster
9th February 2005, 17:41
Originally posted by jdobbs
Cool... so you don't get an error for in incorrect parameter??? Sounds good to me.
I tried running Rebuilder 0.75 with QuEnc 0.54, and get a pop-up from QuEnc saying:
Bad Parameter = mpeg2mux

lamster
9th February 2005, 22:12
I'm running QuEnc 0.59 beta 2 by way of DVD-Rebuilder, and encountered a GPF in QuEnc. It's quite repeatable.

I wanted to debug it, but can't build QuEnc.exe without avcodec.lib, avformat.lib, and libgcc.a.

I've been struggling for hours trying to download Cygwin, but the setup program keeps crapping out on me.

Can you please include the files necessary to build QuEnc in the QuEnc source distribution?

Alternatively, can you generate and include the PDB file, so I can generate a crash dump file, load it into the debugger, and see where the problem is? (To do this, open the Settings dialog, on the C/C++ tab set "Debug info" to "Program Database", and on the Link tab check both Generate Debug Info and Generate Map file, change the category to Customize, and make sure that "Use program database" is checked.)

lamster
9th February 2005, 22:20
Originally posted by lamster
I'm running QuEnc 0.59 beta 2 by way of DVD-Rebuilder, and encountered a GPF in QuEnc. It's quite repeatable.
Here's details on the crash.

The command line was:
"c:\bin\QUENC.EXE" -i "E:\DVD_VIDEOS\movie2\D2VAVS\V05000600007001.avs" -o "E:\DVD_VIDEOS\movie2\D2VAVS\V05000600007001.m2v" -b 393 -aspectratio 4:3 -maxbitrate 9000 -gopsize 12 -mpeg2mux noaudio -mpeg2mux nomux -trell -qlb -2 -hq -scene -nointerlaced -auto -close

The exception pop-up said:
The instruction at 0x0050cdc3 referenced memory at 0x000000c4. The memory could not be read.

Call stack:
QUENC! 00407d2f()
...QUENC! 0040de09()
......QUENC! 0050cdc3()

Registers:
EAX = 02C70F80 EBX = 02991178 ECX = 00000000 EDX = 00000000 ESI = 02991178 EDI = 00000000
EIP = 0050CDC3 ESP = 0012ACA0 EBP = 0012ACC8 EFL = 00200297

Disassembly:
0050CDAB 85 C9 test ecx,ecx
0050CDAD 0F 85 E0 04 00 00 jne 0050D293
0050CDB3 31 FF xor edi,edi
0050CDB5 8B 75 08 mov esi,dword ptr [ebp+8]
0050CDB8 3B BE 68 02 00 00 cmp edi,dword ptr [esi+268h]
0050CDBE 7D 68 jge 0050CE28
0050CDC0 8B 55 E8 mov edx,dword ptr [ebp-18h]
0050CDC3 8B B4 BA C4 00 00 00 mov esi,dword ptr [edx+edi*4+0C4h] ; <-- Fault
0050CDCA 8B 8A 8C 00 00 00 mov ecx,dword ptr [edx+8Ch]
0050CDD0 89 4D E4 mov dword ptr [ebp-1Ch],ecx
0050CDD3 8B 55 10 mov edx,dword ptr [ebp+10h]
0050CDD6 8B 86 BC 00 00 00 mov eax,dword ptr [esi+0BCh]
0050CDDC 0F AF D0 imul edx,eax
0050CDDF 89 D0 mov eax,edx
0050CDE1 99 cdq
0050CDE2 F7 7D E4 idiv eax,dword ptr [ebp-1Ch]


Contents of AVS file:
#------------------
# AVS File Created by DVD Rebuilder
# VOBID:07, CELLID:01
#------------------
LoadPlugin("C:\bin\DGDecode.dll")
mpeg2source("E:\DVD_VIDEOS\movie2\D2VAVS\V05.D2V")
trim(21230,21230)
BilinearResize(352,480)
ConvertToYV12()

Nic
10th February 2005, 00:23
Thanks, But anymore details?
i.e.
How frames does that AVS contain?
Does the crash happen straightaway or always at the same point?
Does raising the bitrate help the crash?

I haven't been able to replicate it yet, so any info is appreciated.

-Nic

lamster
10th February 2005, 00:42
If I click on the QuEnc Info icon to the right of the AVS file, it tells me:

Video
-----
Resolution: 352x480
Frames Per Sec: 23.976 FPS
Length (hh/mm/ss): 00:00:00

The corresponding .FLG file is 1 byte long, containing only a Ctrl+F (0x06).

The crash happens straightaway; as soon as I hit "Encode", if I start it without the -auto parameter.

Raised the bitrate to 500, still crashed. Raised it to 1000 - worked fine! (Narrowed it down to: 979 crashes; 980 doesn't.)

(How do I tell how many frames the AVS contains?)

jdobbs
10th February 2005, 00:55
#------------------
# AVS File Created by DVD Rebuilder
# VOBID:07, CELLID:01
#------------------
LoadPlugin("C:\bin\DGDecode.dll")
mpeg2source("E:\DVD_VIDEOS\movie2\D2VAVS\V05.D2V")
trim(21230,21230)
BilinearResize(352,480)
ConvertToYV12()

That's a single frame AVS. You might be able to avoid this if you set the minimum bitrate higher in DVD-RB. There was a similar problem in CCE -- and I just set it to CBR on single frame segments. I should probably do that for QuEnc as well.

dragongodz
10th February 2005, 06:13
I tried running Rebuilder 0.75 with QuEnc 0.54, and get a pop-up from QuEnc saying:
Bad Parameter = mpeg2mux
thats covered here
http://forum.doom9.org/showthread.php?s=&threadid=89646

freelock7
10th February 2005, 09:47
@Nic
Movie tested with 4Bframes.
freezes sometimes when scene changes and sometimes in the middle of a scene.

Mug Funky
10th February 2005, 17:50
@ nic/dragongodz:

not sure whether this is an ffmpeg issue or a quenc one, but i'm getting some bizarre bitrate spikes.

i'm encoding a live gig shot on a DV cam. as you can imagine, it's dark, and it's grainy. in particular, there's 2 bits where the camera guy zoomed right in close to a drummer on a black background. this basically gave dark grey grain, with mid-grey moving detail to the encoder.

now, what surprised me was that way too many bits were thrown at this scene - the avg quant for the movie was about 3.8, but this scene was almost constantly quant 2. as i was using 1-pass mode, this meant that as soom as the camera zoomed back out and there was something else in the scene, it immediately shot to quant ~22 for a period about equal to the length of the high-bitrate scene.

as you can imagine, the quality was not so good for these two bits...

i'm going to re-encode in 2-pass mode, but i thought you guys would want to know about any peculiar behaviours.

oh, btw, max bitrate (8000) wasn't exceeded during these spikes, but i'd call that more good luck than anything.

dragongodz
10th February 2005, 17:56
Mug Funky - can you give all the settings you were using ?

Mug Funky
11th February 2005, 10:00
k.

main settings:

encoding to mpeg-2 (of course), bitrate 4590, vbr, high quality, no trellis, 1-pass.

advanced opts:

no "extreme slow", gop 15, 2 b-frames, scene detection, interlaced (TFF), 10 bit DC, 8000 max bitrate, no QLB matrix.

encoding to m2v file (no audio). 4:3, but i'm certain that doesn't matter :)

the encodes came out great (better than great... transparent on the material i gave it) except for that one situation.

[edit]

i'd provide a sample, but this is a pretty long-term kind of effect so i'm not sure if a short (downloadable) sample would cause this. i'd say you'd need about 200 frames to play with, and in DV that's pretty large.

also, my video was frameserved from the awful Premiere via pluginpac frameserver, then converted to yv12, blurred horizontally through resizing (the DV cam only captured 360 wide and point resized it to 720) and finally put into quenc. oh, and the fields were flipped to make it TFF (doubleweave.selectodd)

dragongodz
11th February 2005, 11:49
i suspect the scenechange detection may be a factor, i have already told Nic i think its too sensative. try it without and see if that spreads it better. also 2 pass results would be interesting.

then again it may be just another down side to the rate control itself. :)

lamster
13th February 2005, 07:22
Originally posted by Nic
Thanks, But anymore details?
Hi,

Do you have a handle on this yet? I encountered another crash (also a single-frame AVS); this time the bitrate was 100, and increasing it to 200 kept it from crashing. In both cases, using 1-pass rather than 2-pass avoided the problem.

If there's any more information you need from me, please let me know.

(I'd be happy to debug this on my own, if I could get hold of the .lib and .a files necessary to build this program...)

Nic
13th February 2005, 19:36
@Iamster: Weirdly, we had this problem before, and I fixed it. But, I must have broke it again. Sadly, I have the worst memory, so I can't remember how I did it. I think I did it so that if it's below a certain bitrate and/or frame count it will force 1-pass. I'll try and do something similar again.

I can understand that perhaps creating QuEnc is tricky. But it's quite straightforward when you get used to it. If you need anything in particular let us know.

-Nic

lamster
14th February 2005, 00:26
@Nic,

The problem was resolved for me by adding "min_bitrate=1000" to my Rebuilder.ini, so my only interest in buiding QuEnc was to help you track down the bug. When I tried running the Cygwin setup program, it talked about downloading hundreds of megabytes, and kept failing on the systems I was trying, and I rapidly lost my enthusiasm.

I tried recompiling all the QuEnc source with full assembly listings, to see if I could match up the assembly with where the crash occurred, but that didn't pan out.

> If you need anything in particular let us know.

Wel, as I've said a few times, I think it would be helpful if you could include the needed .lib files along with the source, so we didn't need to download a whole other build environment just to build QuEnc.

lamster
14th February 2005, 04:57
Originally posted by lamster
I tried recompiling all the QuEnc source with full assembly listings, to see if I could match up the assembly with where the crash occurred, but that didn't pan out.
While posting this, it occurred to me to check out higher up the stack, and I found a match there - the return address for QUENC! 00407d2f() corresponds with the call to avcodec_encode_video() at line 362 of PSEncode.cpp. The parameters are: c is a valid pointer; video_outbuf == NULL; video_outbuf_size == 2000000; picture_pointer == NULL.

Hope this helps.

dragongodz
15th February 2005, 03:29
I think I did it so that if it's below a certain bitrate and/or frame count it will force 1-pass. I'll try and do something similar again.
i think the easiest thing to do is say if less than 3 frames do 1 pass. that way there should be no need to worry about at what bitrate point this may or may not happen.

freelock7
16th February 2005, 22:27
From Nic:
Now will only accept YV12 ColorSpace (Well spotted Ebobtron!)
QuEnc0.51 is working in yuv12 too.
So, where is the change?

Ebobtron
17th February 2005, 02:33
Originally posted by freelock7

QuEnc0.51 is working in yuv12 too.
So, where is the change?
QuEnc would take RGB and encode two hours of garbage. Nic fixed the YV12 color space detection which would pop up a warning that the encoder would only work in YV12. Early versions had the little bitch box and then it stop working in some of the later builds. Not a change but a fix for a bug.

Guest
17th February 2005, 12:07
Just a bug report on something only logic-disabled people(like myself) might run into:

If the bitrate is set higher than the maxbitrate QuEnc fails to render.

:)
Tin2tin

dragongodz
17th February 2005, 12:39
If the bitrate is set higher than the maxbitrate QuEnc fails to render.
an easy fix.

if (max_bitrate < target_bitrate || target_bitrate > max_bitrate){
max_bitrate = target_bitrate;
}

equells CBR setting but will not error out. a good reason to have the max bitrate setting on the main window with the target bitrate. :)

oh and its the little things that are often the easiest to forget or miss. ;)

Nic
17th February 2005, 12:43
a good reason to have the max bitrate setting on the main window with the target bitrate.;)

if ( max_bitrate < target_bitrate || target_bitrate > max_bitrate )
No need to check it twice ;) Only needs:
if ( max_bitrate < target_bitrate )

I'll add that in.

-Nic

dragongodz
17th February 2005, 12:48
No need to check it twice
yes of course. that will teach me to pay more attention to what i am typing instead of what my wife is saying to me. ;)

Koepi
17th February 2005, 13:55
(wife_talking && doom9_posting) ? wife >> 1 : wife & you;

(hehe, I know my code suxx...)

dragongodz
17th February 2005, 14:01
Koepi++; :D

Nic
17th February 2005, 15:26
@Koepi: He should divide his wife in two?! ;)
Mine's a little:

if ( this->IsDoom9Posting() && gf->IsTalking() )
{
if ( FAILED(gf->StopTalking()) )
{
delete gf;
this->GetDrunk();
gf = new CGirlFriend(++this->m_nLastHowBlonde);
}
}

Anyway, enough of this keep to topic.
(Don't you love it when us mod's do that ;) )

I'll release new QuEnc, just to solve some of these problems. I've had no time to look at enhancing it recently. Sadly....

-Nic

ps
mov eax, gf
xor eax, eax ; is normal best option, my gfs would rarely overflow ax though, so could use 16bit

Koepi
17th February 2005, 15:27
shr, Nic, shr ;)

dragongodz
17th February 2005, 15:40
and then she would be only half the distraction that she currently is. :cool:

ah Nic (gf != wife) though does it ? :sly:

sorry, last off topic from me too.

Koepi
17th February 2005, 16:18
Last off-topic here too: I hate pointer arithmetics. So your next instance's gf's blonde'shness affects your decision? You found a way to parallel-universes?

I might be totally wrong of course %)

Btw., one suggestion for QuEnc: some more feedback during the encoding process (current frame type + quant... ;) something similar to XviD's status maybe? :) switchable of course...).

Phew, on-topic again!

Cheers
Koepi

lithoc
18th February 2005, 04:43
What's the equilvalent options for mencoder(libavcodec) when using QuEnc?

Any tweaking/options done which is not available in libavcodec?


Thank you in advance

vlada
28th February 2005, 11:19
Hi,
I tried to do some encoding using QuEnc 0.59, but I had 2 problems with the results. First of all, the video is choppy on a standalone DVD player. I tried to make a DVD using DVDAuthor GUI and MuxMan. This is what MuxMan reported (DVDAuthor GUI also showed similiar warnings):

MuxMan version 0.12a
Accepted video J:\Temp\video.m2v size = 4156637465
Accepted audio J:\Temp\zvuk.ac3
10:28:05 Begin multiplex.
Maximum audio duration 184730 fields.
10:28:05 starting video file number 1.
P-STD buffer underflow by 34498 bytes at 21692, sector 119.
P-STD buffer underflow by 12362 bytes at 36092, sector 218.
End of video file
Bytes remaining in buffer = 46860.
10:40:05 End multiplex.
Bitrate - avg: 9381452, min: 8192000 (lba 935843), max: 12574720 (lba 0).
Shortest GOP has 8 fields, longest GOP has 24 fields.
Fields: 184732, VOBU: 7698, Sectors: 2115545.
Video decoder buffer underflowed 2 times.
Check c:\muxman.log for details.
Resulting DVD will probably not play smoothly.


It seems the max bitrate is way too high. I have set up 1-pass CBR 9000 kbps, Trellis Quantization and from the advanced settings I choosed 4:3 aspect and Interlaced TFF. In Max. Bitrate was set 9500, but I believe it should be ignored in CBR mode.
Do you have any idea what caused the problem? Can I somehow check, that the reported information about bitrate from MuxMan is correct?
Another issue I ran into was broken seeking in created DVD. The resulted MPEG (with AC3 224 kbps sound) did play normally, but after authoring it in DVDAuthor GUI, I couldn't seek within the file (SW and HW players). If I demuxed it to M2V and AC3 and let the authoring SW mux it back, it was O.K.

Thank you for any ideas regarding my problems.

Cheers,
Vlada

dragongodz
28th February 2005, 12:02
What's the equilvalent options for mencoder(libavcodec) when using QuEnc?
i dont use mencoder so i cant tell you.

Any tweaking/options done which is not available in libavcodec?
no.

Do you have any idea what caused the problem? Can I somehow check, that the reported information about bitrate from MuxMan is correct?
yes muxman is correct. its a known problem with avcodecs rate control. it wont stick to the maximum bitrate. as such CBR is pretty much broken aswell for the very same reason.

Mug Funky
5th March 2005, 15:04
@ dragongodz:

ffmpeg's ratecontrol may not be the achilles heel it seems... try run a commercial DVD through BitrateView and you might be unpleasantly surprised :) DVD players seem to handle it alright so long as the spiking isn't too nasty (like over 12mbps or so).

perhaps just setting a conservative max bitrate (8.5 mbps for example) would be enough? if there's a glitch on a test DVD (this is what makes RW so cool...), you can re-encode the offending segment and put it back into the stream with your authoring tool.

it'd be cool if something like ReJig had a "VBV mode" which only requantized a video in the bits that cause underflows (did i already ask this in th rejig thread? i can't remember).

jdobbs
5th March 2005, 16:00
The problem seems to also be the sizing not just the spikes. The stream doesn't seem to come out the right size for a set average bitrate (with QuEnc). Is that something only I have experienced?

lamster
5th March 2005, 17:22
I've seen Rebuilder encodes coming out undersized with QuEnc 0.57 and 0.59; I've dropped back to 0.54, which gives the correct-sized results.

jdobbs
5th March 2005, 18:56
Does it always? I thought I'd looked at that and 0.54 came out small also -- but I wouldn't swear by that.

lamster
5th March 2005, 19:10
Originally posted by jdobbs
Does it always? I thought I'd looked at that and 0.54 came out small also -- but I wouldn't swear by that.
I know that it did for Star Wars VI and Mulan 2 - extensively documented here (http://forum.doom9.org/showthread.php?s=&threadid=89965) - and that 0.54 worked fine. I'll go back and see what else I used 0.57a or 0.59 against. Or, if there's anything in particular you'd like me to try, let me know.

jdobbs
6th March 2005, 01:21
I have to correct myself on this... I just did some testing and it appears that the files are coming out to the correct size on both v0.54 and v0.59. I may have gotten confused based upon some FreeEnc testing I'd done earlier (it definitely undersizes).

As Rosanne Rosanadana says... "Never mind."

jdobbs
6th March 2005, 01:25
@Nic

You know it would be really cool if QuEnc could do one pass Constant Quantizing encoding. Is that possible? I could then tweak some code in DVD-RB, do size prediction, and could probably do DVDs in one pass (plus prediction) like is possible with CCE SP.

dragongodz
6th March 2005, 01:38
well from the limited testing i did 0.59 came out correct size most of the time and when it didnt it was not out by much. still there are some things i will be suggesting to Nic to change once i am more confident in their impact.
however whats really needed is a better overall rate control. something like Mpeg2Enc's adapted TM5 added as a second RC to avcodec would be good, second because GPL versus LGPL. however unless a person wanted to have to make changes everytime the updated avocodec they would have to try and get the FFMpeg guys to accept it aswell. and thats no easy task.

You know it would be really cool if QuEnc could do one pass Constant Quantizing encoding. Is that possible?
not only possible but it already does. go to the first post in this thread and read the changes. ;)
of course it is not max bitrate constrained at all.

jdobbs
6th March 2005, 02:03
Originally posted by dragongodz
not only possible but it already does. go to the first post in this thread and read the changes. ;)
of course it is not max bitrate constrained at all. Man, I've got to get my head out of the sand! I'm going to implement single-pass CQ encoding with QuEnc for DVD-RB before I go to bed tonight!

Did this start with v0.59?

dragongodz
6th March 2005, 02:49
Did this start with v0.59?
on the first page of this thread Teegedeck talks about downloading 0.56 and about the constant quant mode. so it was there in 0.56.

maybe we should have kept a history file for the changes ? be hard to make an accurate one now i think. :)

freelock7
6th March 2005, 13:40
About QuEnc0.59B2 prediction

QuEnc0.59beta2 VBR1Pass don't give the exact prediction. I don't know why. It works like a CQ mode (?). So it is right that v.054 in VBR1Pass (scene change disabled) is more predictive.
The wrong prediction doesn't appear in 2Pass.
About bitrate peak, I'm using max=8500 -it's really enough !
Note: QuEnc0.59B2 works better with a quantization optimized to limit high bitrate spike and underflows that v0.54 couldn't do. So now with the latest version the scene change option works perfectly.

FredThompson
8th March 2005, 06:44
Where are the command line version and docs of the arguments?

dragongodz
8th March 2005, 07:16
Where are the command line version and docs of the arguments?
QuEnc is CLI and GUI all in 1. for CLI arguements simply run it(from the CLI) with the arguement -? . :)

FredThompson
8th March 2005, 07:31
Oh, that's a nice touch.

Is there a way to pipe that to a text file or is a screen capture the "pipe"?

I'm guessing QuEnc is what nic's mpeg2enc morphed into, huh?

dragongodz
8th March 2005, 07:39
Is there a way to pipe that to a text file or is a screen capture the "pipe"?
since it pops up a window with the commands you have to either capture or write them down. sorry about that.

I'm guessing QuEnc is what nic's mpeg2enc morphed into, huh?
hmm well i do remember several years ago Nic released an mpeg2enc(as in mjpegtools) based encoder, i think it may have even been in the programming section. it was just 1 test version and has disapeared from time(wish i had kept it now). so you would have to ask him if it is truly dead and gone. ;)

FredThompson
8th March 2005, 07:47
Not complaining, just asking.

His site still has mpeg2enc listed in the navigation section on some of the pages and that leads to the "not yet, aren't you annoyed at my teasing?" message which has been there for a long, long time.

dragongodz
8th March 2005, 07:51
Not complaining, just asking.
never said you were. :D
just saying sorry its not piped back to the CLI so you could capture it to a text file.

His site still has mpeg2enc listed in the navigation section on some of the pages and that leads to the "not yet, aren't you annoyed at my teasing?" message which has been there for a long, long time.
yes i know. doesnt mean anything will ever be done though. especially with everything else Nic has on hid plate.

freelock7
9th March 2005, 19:19
About QuEnc0.59b2 prediction (2)

In fact, 1Pass is based on a adaptive constant quantizer=2.
"Adaptive" because in high bitrate the quantization can increase to be fully DVD compliant with it-and to prevent underflows.
So, I understand why the prediction is not exact in 1Pass. The encoder works like in a constant quality mode.
You'll have the best quality in 1Pass above a VBR=5000kbs. Under 5000kbs, the 2Pass is recommended.
But be careful, 1Pass can create under-quantization (pixels in a frame). This is a weakness known in the libavcodec.

vlada
13th March 2005, 12:00
Hello,
I have one future request for next QuEnc version. Would it be too difficult to add to the MPEG-2 Mux profile an option to output separate video and audio streams? It would be useful for authoring a DVD using MuxMan, which only supports elementary streams as input.

Thank you,
Vlada

jdobbs
13th March 2005, 12:48
Is there an example anywhere that shows the format of matrix files and how to load custom matrices with QuEnc??

dragongodz
13th March 2005, 13:51
Is there an example anywhere that shows the format of matrix files
the custom matrices are in Xvid format. so you can edit/create and save them in Xvid or Custom Quantization Matrix Editor.
Custom Quantization Matrix Editor can be found here
http://forum.doom9.org/showthread.php?s=&threadid=73666

and how to load custom matrices with QuEnc??
if you mean from the command line its the -cmatrix command, eg. -cmatrix "c:\matrix.cqm"

[EDIT] QLB matrix is actually built in which is why -QLB works or using -cmatrix with a non-existant file,such as "qlb", will default to using the QLB matrix.

jdobbs
13th March 2005, 14:16
I just needed to know the file format. I'm looking at adding custom matrices to QuEnc support in DVD-RB. I wanted to have a single format for matrices that would work for CCE, QuEnc, and HC.

I created a matrix with the editor and dumped it out. It appears to be a straight forward binary representation of the matrix table... cool.

hartford
16th March 2005, 05:05
I guess that I'm stupid. When I pressed the "Stop" button I expected that the program would "stop." Instead, it "quit;" ie, it is the same as "exit." The encode discontinued and was deleted.

Stupid me.

Perhaps another name for the "Stop" button? Perhaps "Kill?" Seems more accurate considering the action that it takes.

dragongodz
16th March 2005, 05:53
When I pressed the "Stop" button I expected that the program would "stop." Instead, it "quit;" ie, it is the same as "exit."
no you expected correctly, for it to just stop and not quit. thats exactly what it does for me and i am guessing the majority of people aswell. i think others would have said something before now if it was a common problem.

Perhaps another name for the "Stop" button? Perhaps "Kill?" Seems more accurate considering the action that it takes.
no it has the correct name its just for some reason its erroring out and quiting. please find out if its you not understanding what a button does or if it is an error before making such suggestions.

Shubin
16th March 2005, 08:50
I agree with vlada. There should be the way to output both
mixed or not mixed data. And even to suppress audio encoding
at all.
That's why - maybe someone wants to add multople audio tracks
or do AC3 encoding in separate program or (like me) to add
PCM audio instead of MP2 encoded. However the possibility
to make .mpg files is great - thus I can quickly preview
on my TV using desktop DVD player which understands CDRW with
mp2 files.

Mug Funky
21st March 2005, 06:33
one thing that i'm not sure has been covered with all these questions, etc...

i like to encode the video as m2v then the audio as ac3 in another pass (often at the same time in another instance). one thing that's got me baffled is that the ac3 doesn't seem to encode all the way through - it comes out quite a bit shorter than the video, though it doesn't error out - according to QuEnc it encodes successfully.

could this be a timecode thing? i may have tried it with mp2 but can't remember if it worked that way or not (besides, mp2 is not really an option).

Guest
26th March 2005, 12:49
Just a suggestion: how about adding a check on if there is enough space left on the harddisk to render/save the file?

For inspiration(empty space left on hdd):

LabWindows/CVI (http://www.gdargaud.net/Hack/LabWindows.html)

Tin2tin

NuPogodi
13th September 2005, 08:37
Hi! Does anybody know how to activate secret "snow" mode in QuEnc? does this mode provide 2-pass encoding or still 1-pass like in ffdshow? Thanks...
PS. I searched this thread and http://nic.dnsalias.com/QuEnc.html for keyword "snow" and found no related info.

ReinerSchweinlin
13th September 2005, 08:40
I asked this a while ago and got no answer. "only for developers" is the response. So I started looking at the source and so should you. There it is easy to find.

Mug Funky
13th September 2005, 08:58
hmmm... there's a reason it's called "secret" mode...

after looking through the source and not finding anything (after all, it is reading another language), i just guessed it.

NuPogodi
13th September 2005, 09:04
Hmmmm.... my innocent desire to play a bit with the 2-pass wavelet encodings (i doubt that snow, rududu, etc. are a proper choice for movie storing) seems to require some efforts. Thanks anyway... i'll look at the source... or just download mencoder + meGUI ( + .NET + ... ?)

ReinerSchweinlin
13th September 2005, 09:34
I couldn´t figure out why it´s hidden. Is there a particular reason? Please fill me in.

Nic
13th September 2005, 10:14
It won't be hidden in the next release. But 2 pass Snow doesn't work i'm afraid. Snow doesn't even have any bitrate control just a quality value.

-Nic

NuPogodi
13th September 2005, 12:20
...But 2 pass Snow doesn't work i'm afraid. Snow doesn't even have any bitrate control just a quality value...
Doom9 has somehow implemented 2-pass workaround in his snow encoding GUI (http://forum.doom9.org/showthread.php?t=98033&page=1&pp=10&highlight=snow). The problem is his soft requires mplayer (3.5MB) + .NET platform (23MB) to be additionally installed in my comp. The latter is, imho, too large price for a curiosity. That's why i asked whether such a trick is implemented in QuEnc... thanks a lot for info, Nic.