This program modifies a MPEG4 video (XviD, DivX) without re-encoding (aspect ratio, userdata, packed bitstream removal, and interlaced field order). The video must be in an AVI container. There is also a command line version sharing most of the same features which even runs in other OSes with Mono.

IMPORTANT: As of version 1.4.0, requires the .NET Framework 2.0. Versions 1.3.4 and earlier require the .NET Framework 1.1 or newer.

NOTE: Aspect ratio modification works by changing a flag in the VOL headers, which is ignored by most decoders.

I'm glad it's working okay . Could someone take a screenshot of it with a video loaded in Windows XP/2003 with the new visual style? I think it should display properly using the new style controls but I have no way to test it.

Originally posted by Moitah I'm glad it's working okay . Could someone take a screenshot of it with a video loaded in Windows XP/2003 with the new visual style? I think it should display properly using the new style controls but I have no way to test it.

Userdata has a startcode 0x000001b2 and is followed by normal ascii string. Comes after VOL, but might even come before it, I'm not sure.

It would be very very useful for the following two things:
- removing fake DivX userdata ("DivX999b000p") which makes xvid expect packed bitstream, and completely b0rks decoding from mp4. This *is* an xvid ussue but until it's fixed, it would be a great workaround.

- adding "old xvid" identification, which will make new xvid decode old (xvid .9) streams correctly. These streams do not have any userdata, and xvid assumes iso mpeg-4, but they are broken. If xvid can identify them with proper userdata, it would apply a workaround and decode them good.
The userdata for that is "XviD0001".

hm i am not so sure if its a that good idea to make it too easy to change the user data of the bitstream
i mean it should represent the infos the encoder thinks should be set!
i dont think it should be compared to the fourcc, which the people change as they wish... the user data should really be a very accurate way to show the correct info about the bitstream!

for example i find it very usefull if i analyse a buggy mp4 file and see that the stream was originally packed by the encoder, which points to possible solutions
now if people start to mess around with this (who knows what people are going to do...) its not that good imo

maybe the editing should really be limited to very specific tasks, like the ones syskin mentioned and should not include a "you can change it all as you want" option

also about the "packed bitstream flag removing" option (as simply too many muxers exist which dont unpack the stream when muxing to mp4, its really important to know that the stream was packed originally!!) i think it would be a really better solution if the xvid decoder could ignore the bitstream description, than allowing the people to change the flag in avi, which means its in no way ensured that a correct mp4 muxer is used afterwards!
also maybe giving the user the false security that if this is changed, packed bitstream might cause less problems in mp4 or so, which is not the case of course

its good to have an easy way to identify originally packed bitstreams in mp4, as its really an important issue!
therefore i dont think people should be able to manually remove flags set by the encoder indicating that the stream was packed originally!

__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)I know, that I know nothing (Socrates)

i just thought about a possibility to make it work with the xvid decoder, but still have it marked that the stream has been initially packed:

only change the "p" at the end of the user data of divx5 and xvid to "n"!
that way the xvid decoder will not bork anymore, but its still clear if you analyse the user data, that the stream was output packed by the encoder

__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)I know, that I know nothing (Socrates)

Originally posted by GrEEk_OuTcAsT Hm, I think this that I ask is difficult. How about supporting matroska files? I know that in the video streams in matroska you can select AR, but it doesn't work to me .

they way AR is stored in matroska has nothing to do with the AR stored in mpeg-4 streams themselves, therefore mpeg4modifier isnt really the right tool for changing matroska aspect ratios

__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)I know, that I know nothing (Socrates)