Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 Encoder GUIs
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 23rd June 2008, 15:02   #3821  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
"Log audio error messages" was actually done on the stable build. The dev build already has good logging for that.
berrinam is offline   Reply With Quote
Old 23rd June 2008, 15:05   #3822  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
my mistake. ill correct it in the next build.
Sharktooth is offline   Reply With Quote
Old 24th June 2008, 01:21   #3823  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Apparently the new NicAudioSource cannot support some files which the old one could. See this bug for details.
berrinam is offline   Reply With Quote
Old 24th June 2008, 01:25   #3824  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by berrinam View Post
This adds zones support back, in the main window. I've attempted to do the minimum changes simply to get it working:

http://www.box.net/shared/97swopctcg
Can I commit this?
berrinam is offline   Reply With Quote
Old 24th June 2008, 06:37   #3825  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Quote:
Originally Posted by berrinam View Post
Apparently the new NicAudioSource cannot support some files which the old one could. See this bug for details.
I'll check out but this guy could try to transcode his input file directly instead of using the wav...


edit: yes, i confirm this bug...:-/

Last edited by Kurtnoise; 24th June 2008 at 06:56.
Kurtnoise is offline   Reply With Quote
Old 24th June 2008, 06:38   #3826  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Quote:
Originally Posted by berrinam View Post
Can I commit this?
sure...it looks ok for me.
Kurtnoise is offline   Reply With Quote
Old 25th June 2008, 04:26   #3827  |  Link
check
phjbdpcrjlj2sb3h
 
check's Avatar
 
Join Date: Sep 2005
Location: Western Australia
Posts: 1,691
Who is in control the megui.org domain? I need the password for SSH access to the master autoupdate cache again, my mirror has not been updating itself properly.
check is offline   Reply With Quote
Old 25th June 2008, 14:27   #3828  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
IIRC: http://forum.doom9.org/member.php?u=1704
Sharktooth is offline   Reply With Quote
Old 25th June 2008, 19:51   #3829  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,915
Quote:
Originally Posted by Kurtnoise13 View Post
I'll check out but this guy could try to transcode his input file directly instead of using the wav...


edit: yes, i confirm this bug...:-/
NicAudio.dll support wav container with mp3 or ac3 streams, extracted from VDM like wav but with 'Direct Stream Copy' mode, with the appropriate methods NicMPG123Source or NicAc3Source.

Quote:
Originally Posted by berrinam
Apparently the new NicAudioSource cannot support some files which the old one could. See this bug for details.
No changes about this from old/new NicAudio.dll
tebasuna51 is offline   Reply With Quote
Old 25th June 2008, 21:47   #3830  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Quote:
Originally Posted by berrinam View Post
This adds zones support back, in the main window. I've attempted to do the minimum changes simply to get it working
I'm just testing it...(I had only review the code before )

Few notes:
  • quantizers values should be clamped according to the video codec selected I think (i.e for xvid >> not much higher than 31).
  • video preview shouln't be closed when we hit the "edit zones" button first...ok, there is the preview button in the form.


@check: could you try to build a trac system and give an access in private to the all devs for beta testing or something ? that could be great.
Kurtnoise is offline   Reply With Quote
Old 26th June 2008, 03:24   #3831  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by Kurtnoise13 View Post
quantizers values should be clamped according to the video codec selected I think (i.e for xvid >> not much higher than 31).
The problem with this is it introduces a sensitive dependence on which profile is currently selected. Imagine: you set up your zones carefully in x264 at very high quantizers (>31) and then you are changing video profiles and accidentally select xvid. All of a sudden, your zones have been clamped to the xvid range.

Although we wouldn't have had this problem if we kept zones inside the codec config, we had similar problems before: specifically, whenever the user changed selected profile, they would have to copy their zone settings to the new profile.

For simplicity, I would like to avoid adjusting the zones config according to what profile is selected. The best solution I can think of at the moment is:
  • In the zones config, don't provide access to quantizer, but instead let the user choose the abstract "quality level" -- a choice of
    1. Even lower
    2. Lower
    3. Higher
    4. Even higher
  • Each codec profile allows you to set the quantizer for each quality level. So, for instance, in x264, you might have the standard CRF at 22, with lower at 24, even lower at 26, etc. Whereas in xvid you might set CQ=4, lower=5, even lower=6, higher=3, even higher=2.
As far as I can see, this handles the standard use of zones while avoiding explicit dependence on the codec used.

Quote:
video preview shouln't be closed when we hit the "edit zones" button first...ok, there is the preview button in the form.
The zones preview window is slightly different from the standard one, so it makes sense to close the original one. However, it probably makes sense to automatically open the zones preview window; maybe a settings option to automatically open zones preview? Maybe just use the option "automatically open preview window"?
berrinam is offline   Reply With Quote
Old 26th June 2008, 03:27   #3832  |  Link
berrinam
Registered User
 
berrinam's Avatar
 
Join Date: Apr 2005
Posts: 1,740
Quote:
Originally Posted by Kurtnoise13 View Post
@check: could you try to build a trac system and give an access in private to the all devs for beta testing or something ? that could be great.
Indeed.

Thanks.
berrinam is offline   Reply With Quote
Old 26th June 2008, 03:29   #3833  |  Link
check
phjbdpcrjlj2sb3h
 
check's Avatar
 
Join Date: Sep 2005
Location: Western Australia
Posts: 1,691
Sure. I am taking some annual leave this weekend and early next week, so it will happen sometime late next week or (more likely) next weekend.

EDIT: this estimate might turn out to be optimistic. I am planning a few 'architectural' changes to my infrastructure to take place before I get any new services up and running, so the wait might be two weeks now. Sorry to get everyone excited about Trac and then to have such a long wait :P

Last edited by check; 26th June 2008 at 14:47.
check is offline   Reply With Quote
Old 26th June 2008, 11:25   #3834  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,915
Quote:
Originally Posted by tebasuna51 View Post
...
And I suggest use also RaWavSource (included in NicAudio v2.0) for wav (WAVE_FORMAT_EXTENSIBLE header supported) and also other uncompressed formats always supporting files > 4GB.
See the Kurtnoise MeGui Feature request:
Code:
   case ".wav":
   case ".w64":
   case ".aif":
   case ".au":
   case ".caf":
   case ".bwf":
       script.AppendFormat("RaWavSource(\"{0}\", 2){1}", audioJob.Input, Environment.NewLine);
       break;
...
Maybe the problem with the mp3/ac3 in wav container from VirtualDubMod, was this suggestion to replace the standard procedure WavSource with RaWavSource without support for compressed data in wav container. My fault.

The solutions are:
1) return to WavSource losing the support for WAVE_FORMAT_EXTENSIBLE wav headers (until AviSynth v2.5.8) and the support for files > 4GB. If the compress format is ac3 is decoded always using DRC, undesired for transcode.

2) say the users to rename this files to the appropriate extension mp3 or ac3 like now we need rename the wavdts.wav to wavdts.dts. Or best, use the DEMUX button in VDM.

3) try to detect the internal wav data format to send the file to the appropriate method: WavSource, RaWavSource, NicAc3Source, NicMPG123Source. Maybe also we can detect wavdts (with wrong wav header) not supported now, and send the data to NicDtsSource.

Of course the best choice is 3) but need some code effort. The job can't be do by NicAudio because WavSource with internal decoders have support for many formats not supported in NicAudio (ADPCM, ALAW, MULAW, ...).
tebasuna51 is offline   Reply With Quote
Old 26th June 2008, 17:47   #3835  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Quote:
Originally Posted by berrinam View Post
The problem with this is it introduces a sensitive dependence on which profile is currently selected. Imagine: you set up your zones carefully in x264 at very high quantizers (>31) and then you are changing video profiles and accidentally select xvid. All of a sudden, your zones have been clamped to the xvid range.

Although we wouldn't have had this problem if we kept zones inside the codec config, we had similar problems before: specifically, whenever the user changed selected profile, they would have to copy their zone settings to the new profile.
yes, completely agreed...

Quote:
Originally Posted by berrinam View Post
For simplicity, I would like to avoid adjusting the zones config according to what profile is selected. The best solution I can think of at the moment is:
  • In the zones config, don't provide access to quantizer, but instead let the user choose the abstract "quality level" -- a choice of
    1. Even lower
    2. Lower
    3. Higher
    4. Even higher
  • Each codec profile allows you to set the quantizer for each quality level. So, for instance, in x264, you might have the standard CRF at 22, with lower at 24, even lower at 26, etc. Whereas in xvid you might set CQ=4, lower=5, even lower=6, higher=3, even higher=2.
As far as I can see, this handles the standard use of zones while avoiding explicit dependence on the codec used.
sounds good to me...but this needs to be tested. Anyway, my comments were more for the next releases (0.4.xxx), not the current ones.

Quote:
Originally Posted by berrinam View Post
The zones preview window is slightly different from the standard one, so it makes sense to close the original one. However, it probably makes sense to automatically open the zones preview window; maybe a settings option to automatically open zones preview? Maybe just use the option "automatically open preview window"?
well...I'm ok to let the user to choose this via the settings.
Kurtnoise is offline   Reply With Quote
Old 26th June 2008, 17:49   #3836  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Quote:
Originally Posted by tebasuna51 View Post
Maybe the problem with the mp3/ac3 in wav container from VirtualDubMod, was this suggestion to replace the standard procedure WavSource with RaWavSource without support for compressed data in wav container. My fault.

The solutions are:
1) return to WavSource losing the support for WAVE_FORMAT_EXTENSIBLE wav headers (until AviSynth v2.5.8) and the support for files > 4GB. If the compress format is ac3 is decoded always using DRC, undesired for transcode.

2) say the users to rename this files to the appropriate extension mp3 or ac3 like now we need rename the wavdts.wav to wavdts.dts. Or best, use the DEMUX button in VDM.

3) try to detect the internal wav data format to send the file to the appropriate method: WavSource, RaWavSource, NicAc3Source, NicMPG123Source. Maybe also we can detect wavdts (with wrong wav header) not supported now, and send the data to NicDtsSource.

Of course the best choice is 3) but need some code effort. The job can't be do by NicAudio because WavSource with internal decoders have support for many formats not supported in NicAudio (ADPCM, ALAW, MULAW, ...).
Is there somewhere some code to detect dts/ac3/mp3 data streams from the wav container ?


@all : I hope to commit the new DGindex stuff this weekend...before to take a break during July (yeah...some vacations ).

Last edited by Kurtnoise; 26th June 2008 at 17:52.
Kurtnoise is offline   Reply With Quote
Old 27th June 2008, 13:18   #3837  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,915
Quote:
Originally Posted by Kurtnoise13 View Post
Is there somewhere some code to detect dts/ac3/mp3 data streams from the wav container ?
Maybe something like:
Code:
 case ".wav":
        Stream = fopen(wavfile, "rb");
        _fseeki64(Stream, 20, SEEK_SET);                // AudioFormat offset

        fread(aux, 1, 2, Stream);
        AudioFormat = (((aux)[0]&0xff)|((aux)[1]<<8));  // Or something to read a LE int_16


        switch (AudioFormat) {

        case 0x0001:         // PCM Format Int
                _fseeki64(Stream, 44, SEEK_SET);   // DtsHeader offset

                fread(aux, 1, 4, Stream);
                DtsHeader = (((aux)[0]&0xff)|((aux)[1]<<8)|((aux)[2]<<16)|((aux)[3]<<24));  // Or something to read a LE int_32

                if (DtsHeader = 0xE8001FFF) {
                        script.AppendFormat("NicDtsSource(\"{0}\"){1}", audioJob.Input, Environment.NewLine);
                        break;
                }
        case 0x0003:         // IEEE Float
        case 0xFFFE:         // WAVE_FORMAT_EXTENSIBLE header
                script.AppendFormat("RaWavSource(\"{0}\", 2){1}", audioJob.Input, Environment.NewLine);
                break;
        case 0x0055:         // MPEG Layer 3
                script.AppendFormat("NicMPG123Source(\"{0}\"){1}", audioJob.Input, Environment.NewLine);
                break;
        case 0x2000:         // AC3
                script.AppendFormat("NicAc3Source(\"{0}\"){1}", audioJob.Input, Environment.NewLine);
                break;
        default:
                script.AppendFormat("WavSource(\"{0}\"){1}", audioJob.Input, Environment.NewLine);
        }

        fclose(Stream);
        break;
tebasuna51 is offline   Reply With Quote
Old 27th June 2008, 15:04   #3838  |  Link
Underground78
Registered User
 
Underground78's Avatar
 
Join Date: Oct 2004
Location: France
Posts: 567
Hello,

As usual it's without garanty but I've tried to improve this log message a bit. I'm sure the messages aren't perfect but it can give you a starting point to do better ...

Code:
Index: CommandlineVideoEncoder.cs
===================================================================
--- CommandlineVideoEncoder.cs	(revision 566)
+++ CommandlineVideoEncoder.cs	(working copy)
@@ -74,10 +74,14 @@
 
                     LogItem stats = log.Info("Final statistics");
 
-                    if (job.Settings.EncodingMode != 1)
+                    if (job.Settings.EncodingMode == 1) // QP mode
+                        stats.LogValue("Constant quantizer mode", "quantizer " + job.Settings.BitrateQuantizer + " used");
+                    else if (job.Settings.EncodingMode == 9) // CRF mode
+                        stats.LogValue("Constant quality mode", "quality " + job.Settings.BitrateQuantizer + " used");
+                    else
                         stats.LogValue("Desired video bitrate", job.Settings.BitrateQuantizer + " kbit/s");
 
-                    stats.LogValue("Obtained video bitrate (approximate", bitrate + " kbit/s");
+                    stats.LogValue("Obtained video bitrate (approximate)", bitrate + " kbit/s");
                 }
             }
             catch (Exception e)
Underground78 is offline   Reply With Quote
Old 27th June 2008, 15:31   #3839  |  Link
Underground78
Registered User
 
Underground78's Avatar
 
Join Date: Oct 2004
Location: France
Posts: 567
Just a missing event handler for Xvid max key frame interval :

Code:
Index: xvidConfigurationPanel.Designer.cs
===================================================================
--- xvidConfigurationPanel.Designer.cs	(revision 566)
+++ xvidConfigurationPanel.Designer.cs	(working copy)
@@ -498,6 +498,8 @@
             this.xvidKeyframeInterval.Size = new System.Drawing.Size(40, 20);
             this.xvidKeyframeInterval.TabIndex = 6;
             this.xvidKeyframeInterval.Text = "300";
+            this.xvidKeyframeInterval.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textField_KeyPress);
+            this.xvidKeyframeInterval.TextChanged += new System.EventHandler(this.updateEvent);
             // 
             // xvidKeyframeIntervalLabel
             //
Underground78 is offline   Reply With Quote
Old 27th June 2008, 18:34   #3840  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
@tebasuna : what is it "aux" in your code ?

@Underground78 : both applied. thanks...
Kurtnoise is offline   Reply With Quote
Reply

Tags
development, megui, not a help thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 23:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.