View Full Version : Anyone else having a problem with WMP4Player?


shahmat
24th April 2002, 23:40
I've downloaded this thing from both Doom9 and Rarewares and each time it crashes. I don't think it's the MP4 file I encoded, as when I encoded and muxed it there weren't any problems, but every time I open it in WMP4Player, the thing crashes, usually taking down wmp4client.exe first. Checking the log, the only problem I see is something like:

16:34:49.647-plugin-3: Can't find export point in plugin SDL.dll

So I'm guessing something's screwed up with the Simple DirectMedia Layer. I've run this program on two separate Win2K machines and a box running WinXP Pro. Does anybody know what's going on or is everybody else's version of WMP4 working just fine and it's only me that's having problems? :scared:

Shah Mat
Lord of the Land Of COnfusion (LOCO)

neo_sapien
25th April 2002, 06:36
Mine isn't working either. The video window appears, but it just stalls on what appears to be the first frame.

kastro68
25th April 2002, 07:22
Originally posted by neo_sapien
Mine isn't working either. The video window appears, but it just stalls on what appears to be the first frame.

I think your problem may be trying to play a divX5.01 encoded video with the divX5 codec installed.

I'm most likely wrong because i have no idea what wmp4player is.

Edit: I still think it is a conspiracy by DXN and not a bug. I hate having to use a product from someone I no longer trust. I can't wait till the Xvid team gets B frames up and running...that would be the day I would gladly wave bye bye to DXN.

neo_sapien
25th April 2002, 08:48
the movie was encoded with DivX 5.01, and I have the DivX 5.01 codec installed.

Chibi Jasmin
25th April 2002, 11:30
Current WMP4Player only plays movies encoded with DivX5(.01), if no b-frames, no gmc and no q-pel options were used...also you can try turning debug/iso encoder on/off...for me it works iso decoder turned off...

XVid on the other hand works fine, but only if h263 matrix is used...this is still all alpha software, don't forget that!

BTW: You have the sdl.dll in the player's dir?

DeXT
25th April 2002, 11:39
@shahmat: this SDL.dll error is perfectly normal. When you run wmp4player it starts looking at all the dll files in the current directory, searching for plugins. SDL.dll is not a plugin, so that's what this error means.

I think your problem may be due to either a) a wrong MP4 encoded stream (perhaps it's a DivX 5.01 fault, perhaps you are using unsupported features such as B-frames or GMC?), or b) some kind of incompatibility between wmp4player and your system. Wmp4player is still very early beta and it may not work properly on all configurations.

@kastro & neo_sapien: wmp4player does not make any use of the system installed codecs, it has its own mpeg-4 decoding engine. So this has no relation with this problem.

I'd suggest you to use a XviD encoded video which seems more compatible with the current tools.

shahmat
25th April 2002, 14:50
@DeXT: I should have said this earlier but I forgot. I am using an XviD encoded video stream rather than DivX 5 (gave me all kinds of muxing problems when I forgot to change the FourCC), and as far as I know, XviD doesn't support B-frames yet. I encoded everything as per Doom9's MP4 guide, so anything you see on there is what I did (except subtitles...)

As I said before, I tested this and got the same error ("Client Session Crashed") on three separate machines, although each was using Win2K or derivatives (XP). Could this maybe be a Win2K incompatibility? I tried using the Win98 compatibility and got the same errors... Would have attached the system dump info when it crashed, except Windows wouldn't let me copy it.

@neo-sapien: you're lucky, I don't even get the window. Occasionally it won't crash outright, it'll just sit there with the green "play" button lit up but nothing happens. If I play just the AAC audio track, it works fine, however, but video usually always crashes it...

Oh well, guess I'll just have to use XviD AVIs till MP4 is into late beta/RC stage...

Shah Mat
Lord of the Land Of COnfusion (LOCO)

Chibi Jasmin
25th April 2002, 15:13
shahmat: well, xvid movies only work here, if muxed with mp4creator and using h263 quantizer....mp4creator screws frame rate if it's not integer. That's how far I got.

DeXT: What is normal about the sdl.dll error? I never had it...

shahmat
25th April 2002, 16:52
Okay, here's a little update. I played around with it some more and I found a setting on the help menu (debug tab) called "use ISO decoder" which actually gave me a video window! The bad news is that the video was horribly garbled, little green blocks everywhere (ever watched a DVD rip without pulling off the CSS first?). So that was a no-go. However, without another player to compare it to, I don't know if the problem is in the player's decoder or if something got screwed up while the video was being muxed into the MP4 stream. The original XviD AVI looks fine, and I don't think it's the audio stream at fault, because I muxed the AVI into a separate MP4 without the audio and had the same problem.

@Chibi Jasmin: used the h263 on first pass, Modulated on the second pass, just like the guide said. Still didn't work.

So that's where I'm at right now. Any new ideas?

Shah Mat
Lord of the Land Of COnfusion (LOCO)

Chibi Jasmin
25th April 2002, 16:57
I'll tell you a third time:

It does not work with XVid containing anything else than h263 quantizer....if you chose modulated it alternates between h263 and mpeg matrix depending on quantizer....choose h263 on both passes and mux with mp4creator and it should work (with ISO decoder off actually).

And congratulations for "finding" that iso decoder option...I told you about it...

DeXT
25th April 2002, 21:02
@Chibi: this SDL.dll error message is at the LOG file generated by wmp4player (sorry I don't remember the exact file name). Open it and you'll find the error message, provided you have the SDL.dll in the same directory as wmp4player.

shahmat
25th April 2002, 21:24
@Chibi Jasmin: Okay, my bad, I just misunderstood you. When you said "iso encoder" I thought you meant the XviD codec settings (which isn't in any of the codec menus I looked at, of course). I didn't play around with the player debug stuff (as I thought I didn't need it) and I didn't see it in there the first time through. As for the h263, the guide said to use modulated for the second pass; however I have been using h263 (also per the guide) for first pass so I thought that's what you meant. Thanks for the additional clarification. I'll try it tonight and see what happens.

Shah Mat
Lord of the Land Of COnfusion (LOCO)

neo_sapien
29th April 2002, 08:37
I just downloaded the newest WMP4player (the one that doom9 added today), then downloaded a sample mp4 clone wars trailer, disabled "Use ISO decoder", and it now works perfectly, except zoom and full screen. Those don't work.

when "Use ISO decoder" is enabled, I get a css-like shitwindow. It looks like a q3 engine game when it crashes, all sorts of little icon-like things all over the place.

So no b-frames on wmp4player yet, correct? Do qpel and/or GMC work? I'm going to pick up some mp4 tests now.

neo_sapien
29th April 2002, 09:28
Okay, I did 4 tests:

Test 1:
B-frames, GMC, Qpel
Psychovisuals at normal
DivX 5.01
1-pass quality based
AAC audio (AACMachine)

WMP4player won't play it

Test 2:
GMC, Qpel
Psychovisuals at normal
DivX 5.01
1-pass quality based
AAC audio (AACMachine)

WMP4player won't play it

Test 3:
GMC
Psychovisuals at normal
DivX 5.01
1-pass quality based
AAC audio (AACMachine)

WMP4player won't play it

Test 4:
Psychovisuals at normal
DivX 5.01
1-pass quality based
AAC audio (AACMachine)

WMP4player will play it

All tests were run with "Use ISO decoder" unchecked. That settles that, I guess. No MPEG-4 tools, but psy works.

Chibi Jasmin
29th April 2002, 13:23
Originally posted by DeXT
@Chibi: this SDL.dll error message is at the LOG file generated by wmp4player (sorry I don't remember the exact file name). Open it and you'll find the error message, provided you have the SDL.dll in the same directory as wmp4player.

Okay, thanx :-)

DeXT
29th April 2002, 15:25
I just downloaded the newest WMP4player (the one that doom9 added today), then downloaded a sample mp4 clone wars trailer, disabled "Use ISO decoder", and it now works perfectly, except zoom and full screen. Those don't work.

when "Use ISO decoder" is enabled, I get a css-like shitwindow. It looks like a q3 engine game when it crashes, all sorts of little icon-like things all over the place.

So no b-frames on wmp4player yet, correct? Do qpel and/or GMC work? I'm going to pick up some mp4 tests now.
Zoom and Full Screen works fine for me, with or without the ISO decoder. For full screen you'll have to press Alt+Enter since the menu item isn't implemented yet.

About the ISO decoder "garbage", remember this decoder is MUCH slower than the internal (divx) decoder, so I think this just means you don't have enough machine to play it in ISO mode. Wmp4player tends to output garbage when that's the case.

About B-frames, Qpel and GMC, well the internal (divx) decoder only supports Simple Profile I think, so any Advanced Simple Profile feature is not supported. The ISO decoder may support it, though (haven't tried it), buth with a severe performance penalty of course.

neo_sapien
1st May 2002, 17:18
Not machine enough? In that case, DVD 2.0 standalone players with the capability to decode MPEG-4 ISO are going to be rather expensive. :D

Athlon XP 1500+
512MB PC266 DDR RAM Mushkin Basic
Geforce3 Ti200
WinXP Pro
120GB RAID 0 array (2xIBM60GXP)
Audigy Platinum

And etc etc. Everything is consumer state of the art minus 6 months.

DeXT
2nd May 2002, 00:16
Well I think you haven't got enough machine to play with the ISO reference decoder in real-time, and no one can, since this is an un-optimized code which is only suitable for tests. So you'll have to wait for a good, optimized ISO implementation.

BTW in everwicked I saw the new version (0.9.3.10) uses XviD decoder instead of OpenDivX, so it's faster and also support more Advanced Profile features. I'll try to download and compile ASAP.

neo_sapien
2nd May 2002, 08:48
Yeah I know, just acting a bit indignant. My bad. Would an XviD decoder support DivX 5.01?

Chibi Jasmin
2nd May 2002, 10:44
Originally posted by DeXT
Well I think you haven't got enough machine to play with the ISO reference decoder in real-time, and no one can, since this is an un-optimized code which is only suitable for tests. So you'll have to wait for a good, optimized ISO implementation.

BTW in everwicked I saw the new version (0.9.3.10) uses XviD decoder instead of OpenDivX, so it's faster and also support more Advanced Profile features. I'll try to download and compile ASAP.

Great, can't wait for your binaries!

Chibi Jasmin
2nd May 2002, 10:44
Originally posted by neo_sapien
Yeah I know, just acting a bit indignant. My bad. Would an XviD decoder support DivX 5.01?

XVid decoder doesn't support the mpeg4-tools (b, gmc, qpel) of DivX5.01.

Chibi Jasmin
2nd May 2002, 10:50
@DeXt...just made a new cvs-checkout, there seems to be V0.9.3.11 out!

Chibi Jasmin
3rd May 2002, 09:23
Still waiting impatiently :D I have many problems compiling with VS.NET, so I need your binaries :)

Doom9
3rd May 2002, 11:15
dext: last time you were concerned having the binaries up for too long.. if you want you can just send them to me (I'll tell you the correct email so that it gets straight to me if you agree) and I'll put them up with the next site update

DeXT
3rd May 2002, 13:04
@Chibi & Doom9: well the fact is that due to the somewhat profound changes, 0.9.3.10 and 0.9.3.11 didn't compile "out of the box" with VC++, since the project files were outdated. This is why neither me nor anyone else has been able to release binaries from this.

Now we have 0.9.3.13, I've just downloaded it straight from CVS, and I hope this time it's working (btw I just saw wav_plugin.dsp was missing, I added it from an older release). Don't worry, as long as I have working binaries I'll release them. So be patient :)

BTW everwicked has also been compiling MPEG4IP, his 0.9.3.9 binaries are on RareWares and I think they should be faster than mine because he uses ICL.

DeXT
3rd May 2002, 14:09
Here you have, below are the compiled binaries for 0.9.3.13 release. I just tried the player and works great :) These guys are really doing an excellent work.

What's new since 0.9.3.9, and some release notes (Bill, from MPEG4IP forum):

I've just put 0.9.3.10 up on CVS - this will
probably become the 0.9.4 release very soon.

It's got a number of interesting things, including
the long await integration of Xvid into mp4live
and the player. It also fixes one of the more
noticable player bugs - the jerkiness when playing
using the ISO decoder. It also updates SDL to
version 1.2.4, and removes sndfile and DSS from
our CVS tree.

[...]

I know it's bad to follow up to your own posts,
but I forgot a few things about Xvid - first
of all, with nasm installed, it's lightning
fast - I was able to play 720x480 on my 650 Mhz
machine. Haven't done a complete list of test,
but it's great there.

However, if it tries to play simple profile from
others, where open divx would just play really
weird video, xvid crashes. I'm going to try
to work with them on that to keep from crashing.

If you do get an xvid crash, try playing with
mpeg4 ISO only set up before you report it to
us.0.9.3.11: fixed XviD *.dsp's (some problems still remaining)

0.9.3.12: more XviD fixes

0.9.3.13: fixed XviD encoder

As you can see, it now uses XviD as video encoder, too. Oh and the ISO decoder now works GREAT! (seems this garbage was just a bug; sorry neo_sapien ;))

webs.ono.com/de_xt/mp4player-0.9.3.13.zip
webs.ono.com/de_xt/mp4tools-0.9.3.13.zip

Hope you find it useful.

DeXT

Nic
3rd May 2002, 14:52
Bill has recently posted to the xvid forum, so i'd guessed that was on the way :)

(De_XT: cleaned up the filter code today...might add buffering tonight :) )

-Nic

DeXT
4th May 2002, 12:29
Uh? No reports?

No one tried the 0.9.3.13 release? I really like the new player. A big step ahead... and with no glitches! :)

@Nic: GREAT!! ;)

Chibi Jasmin
4th May 2002, 13:50
Originally posted by DeXT
Uh? No reports?

No one tried the 0.9.3.13 release? I really like the new player. A big step ahead... and with no glitches! :)



I can't get the files linked above, will try later again...thanx already for compiling them!

Chibi Jasmin
4th May 2002, 14:59
Still can't get'em... :(

DeXT
4th May 2002, 17:18
It's strange, it works for me, althought it takes a while (seems the server has some bandwitdth problems) and you cannot use any download manager.

I'll try to find another decent free Web account, althought I know this is an almost impossible task. :) Any suggestion?

Gawen
4th May 2002, 17:53
@DeXT
High speed for free: Compuserve Germany has a free account for their so called office dialup tarif. Its charged by the telco provider so no bank registration is needed and you even dont need to use it. 20 MB Homepage with 5Gig / month and ftp access for free. And its really fast.

http://www.compuserve.de/cso/_promo/registrierung.jsp?pid=0000

Chibi Jasmin
4th May 2002, 18:04
Somehow get them over to Doom9, that would be enough :)

Gawen
4th May 2002, 20:47
Seems your provider doesnt like mpeg4ip. I get a 403 if i try to download.

Forbidden
Your client is not allowed to access the requested object.

Chibi Jasmin
5th May 2002, 10:11
I finally got them ! :)
Thanx again...

Chibi Jasmin
5th May 2002, 10:28
WMP4Player finally plays XVID-content that uses MPEG-Matrix :)

Koepi
5th May 2002, 10:45
WMP4Player finally uses XviD core to decode :P (I think even to encode).

Regards,
Koepi

Chibi Jasmin
5th May 2002, 12:15
Player used XVid to decode (if not set to use iso decoder, which still doesn't work for me very well), and there is a util called XVidEnc...guess what it does :)

DeXT
5th May 2002, 18:40
Well from what I've tried, the ISO decoder works fine with Real or Dicas MP4 samples, but fails miserably with the Starwars and K19 samples RefDivx made some weeks ago. It has been the same since 0.9.3 at least. Anyways when it works, it seems more stable.

DeXT
8th May 2002, 01:54
New MPEG4IP version, not very impressive changes, though:

0.9.3.14:

- new version for ipv6 stuff
- fixed xvid avis not being recognized by mp4creator
- some libmpeg3 fixes

I see the XviD fix the most important one because you couldn't import an XviD avi directly into mp4creator without converting the FOURCC to DivX first. And if you have problems with the frame rate just specify the source frame rate with the -r option.

Get it here:

http://webs.ono.com/de_xt/mp4player-0.9.3.14.zip
http://webs.ono.com/de_xt/mp4tools-0.9.3.14.zip

Chibi Jasmin
8th May 2002, 12:20
Thanx for the files....I am excited to see, if frame rate setting with -r really works (it never worked in previous versions)... :)

Chibi Jasmin
8th May 2002, 12:25
-r still doesn't work...old problem 23.976 fps results in 23.000256, with or without -r!

DeXT
9th May 2002, 00:18
Well this was not the problem I was referring to. In MPEG4IP forums it was said that mp4creator sometimes cannot convert a xvid file because it does not support variable frame rate files. So the fix for this is specifying a fixed frame rate with the -r option. Sorry to dissappoint you... again.

About the problem you are talking about, a fix was discussed here some weeks ago. Should I do a new build with that fix inside? I cannot see any good reason why they chose to do it this way.

Chibi Jasmin
9th May 2002, 12:08
If you refer to the "fix" posted by me, it is not fully working...it results in a frame rate closer to the original one, but it's not perfect...so still useless...or was there another fix? Must have overlooked it...

DeXT
9th May 2002, 13:06
Yes you are right... it was you who posted that "fix". I remembered someone talked about this but not who did it :)

I think the problem still remains due to this:

MP4Duration mp4FrameDuration = (MP4Duration)(mp4TimeScale / frameRate);

MP4Duration is an u_int64_t, i.e. it's an integer. And since 90000/23.976 gives a non-integer value (abt. 3753.753753753...) it has to be rounded to the nearest one (3754 I guess). I think this may be a design issue, i.e. it simply doesn't allow non-integer framerates. Anyways I've posted a small question in MPEG4IP forums about this issue.

Chibi Jasmin
9th May 2002, 14:20
Well, if you looked at the code, you saw that this integer-rounding only happens on win32...for whatever reason...so in principle non-integer frame rates seem to work...and the help for the -r parameter says 'e. g. 29.97 or 30' :-)

Let us know, if you get an answer, please.

DeXT
9th May 2002, 16:13
Yes but apart from this known win32-only rounding, there is another rounding which affects every system and not just win32, it's the one I've post above. So I think this second rounding is what causes the problem still remaining even after applying your patch.

Anyways it seems a much less important problem since it's not like rounding 23.976 to 23, but just 90000/23.976 = 3753.753 to 3753.

Nic
9th May 2002, 17:35
(remember of course that Win32 does not do "rounding" when casting....it simply just discards all information after the decimal point. If you want it to do rounding when casting then add 0.5 to the number
i.e.
float f = 23.97
int a = (int)f; // a will equal 23
int b = (int)(f + 0.5); // b = will equal 24, rounding will always be correct if adding 0.5

Just thought id mention it :)

-Nic

Chibi Jasmin
9th May 2002, 19:21
I am not that far into this material as you two are...if you read my other post with the "fix" again, you can see the result after removing that win32-special :-) Wasn't it something like 23,98...don't remember exactly at the moment...but if you can fix this problem to get exact 23.976 fps, I'd be thankful...be sure to commit it to the mpeg4ip people then...

btw: can anyone report mp4creator 23.976-muxing to work correctly on non-win32 systems?

Chibi Jasmin
9th May 2002, 19:37
Well, what I found out by analyzing other mp4s is that you don't have to use a value of 90000 for the time scale, you just have to adjust the duration accordingly, so that it finally fits...you it should be possible to find values that make a perfect frame rate.
For example:

I have a clip that is 1120 frames long with an fps of 23.976. What DivX5 MP4-Creator makes out of it is:

Timescale 23976
Duration 1120000

Perfect result!

It's that easy...problem is DivX5-created mp4's don't play in wmp4player, but it was just meant to show how the values could be adjusted to have a perfect frame rate.

Above example is from the media header of the file...in track headers etc. also divx5 uses a scale of 90000. I see the problem of mp4creator in using a scale of 1000 in the media header (where divx5 uses 23976 in the above example), which is a too small number to get a perfect integer for the duration value for an exact frame rate of 23.976! In case you wonder, I got the numbers from loading the mp4s into dumpster.



Guess someone would have to dig into mpeg4ip's code to implement it that way...

DeXT
9th May 2002, 22:25
Try this one: I added mp4creator a -t option to specify the TimeScale. I tested it and seems to work fine.

mp4creator60 -t 120000 -c myfile.avi myfile.mp4

To achieve best results I'd suggest you to put an exact multiple of frame rate, such as 23976.

Please test it and tell me how it goes. It would be interesting doing real-life tests, i.e. encoding a long movie and check if there are still a/v sync problems.

Beware this is just TEST stuff and will be removed in few days.

http://webs.ono.com/de_xt/mp4creator_timescalefix.zip

(BTW this is a 0.9.3.15 build)

Chibi Jasmin
9th May 2002, 23:29
Thanx...so it will calculate the rest by itself? I just have to specify a time scale? Okay, I will try...I always check the result with mp4v1getfps, which was in the package up to V0.9.3.9. I think its results are reliable (talking about testing with long movie...)...I can also have a look in the headers that are generated...

BTW: Will you also put out regular V0.9.3.15 compiles?

Chibi Jasmin
9th May 2002, 23:39
Quick tests indicate that it works...great stuff!

What about adding an automatic calculation of timescale (frame rate * 1000) ? Would make it more fool-proof :)

Can you commit your fix to the mpeg4ip project?

Thanx a lot for this!

DeXT
9th May 2002, 23:49
Ok, np, here you have 0.9.3.15 builds:

http://webs.ono.com/de_xt/mp4player.zip
http://webs.ono.com/de_xt/mp4tools.zip

Just small changes (IPv6 sync and some small fixes). It had a couple of issues which prevented it from compiling under VC++, hopefully I fixed 'em. I also added the win32 frame rate rounding fix (i.e. the one you posted). These three issues are being fixed in the next release, this is why i didnt think about releasing it.

About the custom version I put in the previous post, well it just allows you to set a TimeScale different than the default 90000. mp4creator has this value fixed in three points, I had to change this. Other than that it's exactly like the original one. I'm not sure what are you referring with "the rest", it will take the input AVI framerate, so no need to specify one (provided it's a fixed frame rate).

I tried a 23.976 AVI file with a -t 23976 value (i can use any multiple of it such as 47952) and the MP4 got an exact 23.976 frame rate too. A way of automatizing this would be reading the AVI frame rate, multiplying it with 1000 and use this as TimeScale value. Seems DivX5 MP4 creator tool does the same.

Chibi Jasmin
10th May 2002, 00:00
Thanx for everything!

So you added the win32 fix and not the one you just made? Doesn't make too much sense...as that fix alone doesn't give exact results? Anyway, I got your fixed version, it's great.

The rest was meant to be the duration value that has to be calculated out of the number of frames of the avi and the time scale...seems it is calculated correctly already.

What three issues are going to be fixed in the next release? The frame rate stuff, we're just talking about? You mean the next official release? Great! When does it come out ??? :-) So you actually got it in...

Good work!

Ah yeah, and automatic time scale calculation would exactly be that...take input frame rate and multiply by 1000....should be easy to add...what do you think?

UPDATE: Just read your thread about the frame rate-fix on MPEG4IP Sourceforge...you should also tell them about your above fix that actually makes frame rate 100% accurate! Hopefully they will integrate it, I first thought, that was what you meant.

DeXT
10th May 2002, 00:15
Well I was writing my last post while you posted yours :)

No the issue being fixed in the next release is the known integer rounding, the value we get this way is accurate enough althought not exact due to the fact MP4Duration is an integer. This is a design issue.

About my fix, I have no problem with sending this to mpeg4ip team but I don't think they are going to take my modifications, I think my code can't reach the quality level required for this project...

About this automatic time scale I see some difficulties, since in two of three points the TimeScale value is being used before opening the AVI file. So I'm not sure if it can be done this way.

Chibi Jasmin
10th May 2002, 00:19
Why did they have this integer rounding in at first? It has specially been written for win32, as we could see!?!?!?

Hmm..you can tell them the principles and they can code themselves...but what is so much quality about adding an input parameter for a variable that is already in the code!? 'Accurate enough'? Doesn't sound good, when we can have it perfect with a simple mod. PLEASE at least tell them, what you did, now that there is a thread about it. You could at least point them to this thread...

They should be interested in seeing it work, shouldn't they?

Forget about the automatic thing then, it is not really needed...it is great the way it is...I'd be interested in what mpeg4ip people have to say about it...

UPDATE: Test with a whole 23.976 xvid-movie incl. AAC-Sound passed! No sync issues at all!!! :D :D :D

DeXT
10th May 2002, 12:24
AFAIK this integer casting on WIN32 was due to an old VC++ compiler issue, which is already solved in somewhat recent versions (works fine with my VC++ 6.0 SP5).

I already submitted my modifications to the MPEG4IP forum but as I said I doubt they will take 'em. In any case I will embed it in all my compiles.

Some samples from my tests, to make people see what does this mean when converting two NTSC (29.97 & 23.976) AVI files to MP4 using the different mp4creator versions, and retrieving fps information using mp4v1getfps:

mp4creator 0.9.3.14 (or any previous win32 build):

29.004189 & 23.000256 (horribly a/v desync)

mp4creator 0.9.3.15 (my build with integer rounding patch as posted by Chibi):

29.970030 & 23.980815 (pretty accurate but still with some small sync issues)

mp4creator 0.9.3.15 + my timescale fix (using -t 29970 and -t 23976):

29.970000 & 23.976000 (perfect!!)

So the side note is: if you are going to convert NTSC content you should use the timescale fix version. BTW the first patch (integer rounding) will be present in next mpeg4ip version, the latter one I don't know.

Chibi Jasmin
10th May 2002, 12:29
Originally posted by DeXT
AFAIK this integer casting on WIN32 was due to an old VC++ compiler issue, which is already solved in somewhat recent versions (works fine with my VC++ 6.0 SP5).

I already submitted my modifications to the MPEG4IP forum but as I said I doubt they will take 'em. In any case I will embed it in all my compiles.

Some samples from my tests, to make people see what does this mean when converting two NTSC (29.97 & 23.976) AVI files to MP4 using the different mp4creator versions, and retrieving fps information using mp4v1getfps:

mp4creator 0.9.3.14 (or any previous win32 build):

29.004189 & 23.000256 (horribly a/v desync)

mp4creator 0.9.3.15 (my build with integer rounding patch as posted by Chibi):

29.970030 & 23.980815 (pretty accurate but still with some small sync issues)

mp4creator 0.9.3.15 + my timescale fix (using -t 29970 and -t 23976):

29.970000 & 23.976000 (prefect!!)

So the side note is: if you are going to convert NTSC content you should use the timescale fix version. BTW the second patch (integer rounding) will be present in next mpeg4ip version, the latter one I don't know.

I saw your post at MPEG4IP...it's a bit short, but I think, they will understand that it's best to use framerate * 1000...maybe you could add the above quoted text!?

You did great work on this...they should somehow integrate it (maybe by modifying their code so that it can automatically do this)...

Thanx!

Chibi Jasmin
10th May 2002, 12:30
Maybe you should have mentioned, that the timescale fix file linked above got updated today to have the -t option included in the options list :D

DeXT
10th May 2002, 15:58
God, definitely you catch them all! ;)

Well let's see what they say about this, if they still can't see its utility we can show them real-life examples. But I think they are smart enough to see what can be achieved with this, without further explanation.

Chibi Jasmin
10th May 2002, 18:25
Yeah, I catch'em all :) I wanted to propose doing exactly that (adding -t to the options list) :D

Well, let's see what they make out of this...and if they are as smart as you say...;)

DeXT
11th May 2002, 00:49
Well MPEG4IP 0.9.4 was released and guess what, they included my TimeScale fix in it!! I cannot believe it!! God I'm just a crappy programmer...

Of course the "real one" would be automatic TimeScale selection. I think I can now work on this to try to make the thing just perfect...

I'm dreaming :D :D :D :D

Chibi Jasmin
11th May 2002, 10:43
I really don't believe that, but that's great...when will you release the binaries for us? :D :D :D

Chibi Jasmin
11th May 2002, 14:07
BTW: Did they include any docs explaining how to use the timescale function?

DeXT
11th May 2002, 14:28
Unfortunately not, but anyways MPEG4IP docs are very basic and this issue can be pointed out in the tutorials as well.

0.9.4 builds:

http://webs.ono.com/de_xt/mp4player.zip
http://webs.ono.com/de_xt/mp4tools.zip
http://webs.ono.com/de_xt/mp4v1tools.zip (deprecated tools)

I'm setting up a small page with some information and related links, as well as binary builds. This way I don't have to post a new message with every new build.

Anyways I think everwicked will submit his ICL 0.9.4 builds to RareWares soon, too.

Chibi Jasmin
11th May 2002, 14:38
Thanx once again...let us know, when you have your 'MPEG4IP' page ready... :)