[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OpenDivX digest, Vol 1 #28 - 6 msgs

Send OpenDivX mailing list submissions to
	[email protected]

To subscribe or unsubscribe via the World Wide Web, visit
or, via email, send a message with subject or body 'help' to
	[email protected]

You can reach the person managing the list at
	[email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of OpenDivX digest..."

Today's Topics:

   1. Re: Compliance (Andrea Graziani)
   2. General Development Discussion - All Projects -> OpenDivX (Darrius "Junto" Thompson)
   3. FW: OpenDivX Encoder -> OpenDivX (Darrius "Junto" Thompson)
   4. OpenDivX Decoder ->OpenDivX (Darrius "Junto" Thompson)
   5. Plugin won't compile -- Redhat 7.0 (Shawn Bissell)
   6. encore 0.48 (Arnaud Zanetti)


Message: 1
Reply-To: "Andrea Graziani" <[email protected]>
From: "Andrea Graziani" <[email protected]>
To: <[email protected]>
Cc: "opendivx list" <[email protected]>
Subject: Re: [OpenDivX] Compliance
Date: Thu, 1 Mar 2001 10:38:12 -0800
Organization: ProjectMayo

Hi Eric!

There are few things that can make our decoder not compliant. In particular,
there's not the GOP header parser and the quantizer rescaling in the AC/DC
prediction algorithm. We will add these piece very soon.


----- Original Message -----
From: <[email protected]>
To: "opendivx" <[email protected]>
Sent: Thursday, March 01, 2001 6:37 AM
Subject: [OpenDivX] Compliance


I'm working (in fact playing ;-) on my side to understand how the
MPEG4 compression is working ... So I've read some papers about it,
for exemple a small part of the MPEG4 ISO paper, and finally I did
compile the microsoft mpeg4 encoder and decoder "fdis" version (V1)
that is used to be the reference codec as the momusys one is. After
that I did generate some movie with this codec and wanted to make
comparaison with the actual opendivx encoder ... but I wonder about
the fact that there is no compatibility between both encoder /
decoder ... For instance : a file compressed with the fdis encoder
won't work with the opendivx decoder and vise-versa ...

What the hell ??? Shouldn't the opendivx be MPEG4 V1 compliant ?

Best regards

- Eric Felten -

OpenDivX mailing list
[email protected]


Message: 2
Date: Thu, 1 Mar 2001 18:13:30 -0800
From: "Darrius \"Junto\" Thompson" <[email protected]>
To: <[email protected]>
Subject: [OpenDivX] General Development Discussion - All Projects -> OpenDivX

Topic:		Don't understand thing about performance. Need realtime.
Author:		Constantine
Posted:		 2001-03-01 04:39
It's not because it is written in C that it isn't efficient.
I suppose you think that Assembler code is faster?=20

Firstly, thanks for your answer. My english is not too good, so don't be
I don't "think", I do know that Assembler code is the only thing for
time critical sections. And if we use mmx we get really speed
improvement. I tell this just becouse write Assembler optimization code

Next, don't expect realtime in a MPEG4 codec, unless you've got a 10Ghz
bazillum... But, maybe in 2-3 years...
Computer power double each 18 months, that's Moore's Law!!!=20

yep... well, not too good - my boss has found this code and asked me to
test it...=20
My own codec (used... hmmm... some ideas of h261 - i need to write video
only from static cameras) uses about 10-20 ms (pIII-650) to encode 1
frame 384*288 RGB24 and result is about 1600 kbps (25 fps) - not too
good but I keep thinking about using Huffman code (I use RLE now ) and
is waiting for 400-800 kbps same quality.=20
That's why I'm looking for fast code or some ideas that I can use. For
example, I can't find any literature about movement prediction - but
keep thinking about it... Although I don't think it's a great idea
becouse of speed deterioration.
So the one thing to improve quality is using more efficient algorithm
deciding what block to send... or using filters to smooth image... Just
haven't literature here and time to look for it via internet.
Well, sorry for such a lot of my speech. Thanks for help anyway.

[ This message was edited by: Constantine on 2001-03-01 04:40 ][ This
message was edited by: Constantine on 2001-03-01 04:43 ]

Topic:		Don't understand thing about performance. Need realtime.
Author:		eagle
Posted:		 2001-03-01 05:34
Actually, real-time encoding at the resolutions quoted should be
feasible with today's desktop machines.  HOWEVER, the thing to remember
is that video coding is a three way tradeoff between:
<!-- BBCode ulist Start --><UL>=20
<LI> Video quality
<LI> Bitrate
<LI> CPU usage, i.e. encode speed
</UL><!-- BBCode ulist End -->=20
By tweaking codec design we can optimise for a given set of constraints
- for example if we need faster encoding then we would have to accept an
increase in bitrate and/or a reduction in video quality.=20

Right now, we have a lot of serious optimisations planned for our encode
engine, "encore", such as MMX/SSE.  So, in the near future you can
expect an improvement in speed with no detriment to bitrate of quality.
Real-time encoding might not be too far off.....=20

Topic:		Don't understand thing about performance. Need realtime.
Author:		Constantine
Posted:		 2001-03-01 09:50
Yep. I know it. I already use MMX and it's real speed improvement...
Just keep thinking about hardware RGB<->YUV transform - it would be good
to save a few milliseconds on it.=20
Now I use Intel image processing library (hope they did their best...),
but continue to looking for faster ways... And the slowest procedure is
as sure IDCT - don't want to write it by myself.

Topic:		The other approach
Author:		duartix
Posted:		 2001-03-01 15:11
Why don't you coders try the wavelet approach at least to key frames?

>From what I've been reading it a win/win/win situation because it's a
+speed/+quality/-bandwidth change.

I know that keyframe totals won't probably account for more than 2-5% of
the file size but it's still something AND if you follow this link you
will see that it can also be applied to MOTION COMPENSATION:

http://cal046200.student.utwente.nl/~marco/3D_coding/[ This message was
edited by: duartix on 2001-03-01 15:13 ]

Topic:		AVICapture codec + DirectShow
Author:		rak
Posted:		 2001-03-01 16:04
Our developers have run into some issues with DirectShow + AVICapture
(with DivX as the codec)-- wonder if someone here can help:  basically
we attempt to programmatically set the bit rate of encoding via
DirectShow but it always reverts to the codec's default bit rate (which
is typically very high) when the capture session begins.  We've also
tried to pop-up the standard dialog boxes where the settings are made
but the changes still don't stick -- when our code goes to initiate the
directshow capture, the bit rate settings, again, revert to the default
bit rate settings for the codec.

so the question is how to set the bit rate for an AVI Capture codec and
have them "stick" during the DirectShow capture process.  any assistance
on this one?[ This message was edited by: rak on 2001-03-01 16:08 ]

Topic:		The other approach
Author:		e7abe7a
Posted:		 2001-03-01 20:22
The main reason for which we didn't use wavelet is that we decided to
adopt the MPEG-4 standard.=20
Thank you for your suggestion. As you can see in this forum and in the
OpenDivX mailing list, the Wavelet topic is discussed and taken in

Topic:		Don't understand thing about performance. Need realtime.
Author:		sanhan
Posted:		 2001-03-01 20:37
Why not use Intel Parallel Primitives?

It's good for Intel AND AMD Cpu's.

On 2001-03-01 09:50, Constantine wrote:
Yep. I know it. I already use MMX and it's real speed improvement...
Just keep thinking about hardware RGB<->YUV transform - it would be good
to save a few milliseconds on it.=20
Now I use Intel image processing library (hope they did their best...),
but continue to looking for faster ways... And the slowest procedure is
as sure IDCT - don't want to write it by myself.

Topic:		Not YCbCr420?
Author:		sanhan
Posted:		 2001-03-01 20:42

R'=3DY' +1.140*V
G' =3D Y' - 0.394*U - 0.581*V
B'=3DY' +2.032*U

R' =3D 1.164*(Y - 16) + 1.596*(Cr - 128 )
G' =3D 1.164*(Y-16)-0.813*(Cr -128 )-0.392*
   (Cb -128 )
B' =3D 1.164*(Y - 16) + 2.017*(Cb - 128 )

Any help?

[ This message was edited by: sanhan on 2001-03-01 20:44 ]


Message: 3
Date: Thu, 1 Mar 2001 18:13:39 -0800
From: "Darrius \"Junto\" Thompson" <[email protected]>
To: <[email protected]>
Subject: [OpenDivX] FW: OpenDivX Encoder -> OpenDivX

Topic:		problem I can't explain
Author:		thekid
Posted:		 2001-02-28 22:12
On 2001-02-28 00:24, gldblade wrote:
If you can get a hold of the movie The World Is Not Enough, you can use
it to see what happens.  In the opening scene, it can become very, very
blocky.  As in notice-at-once blocky.  I tried at a bitrate of 1600 and
it didn't do too well.  Meanwhile, DivX can do it at a bitrate as low as
800.  Anyway, good luck with solving the problem.

Are you talking about the opening with all the colors and dancing girl

i've done such clips and don't think i'm getting the same results as
you...it looks pretty good...
let me know if this is the same clip you are talking about


Topic:		OpenDivX bitrates - files larger now?
Author:		glenn
Posted:		 2001-03-01 05:58
I have come to understand that OpenDivX files generally come out larger
than DivX 3.11 files with the same bitrate. If this is true, does it
render ALL old bitrate calculators obsolete? Does anyone know if there
is a bitrate calc available yet that takes OpenDivX into

Topic:		Can't play Open DivX encoded files 8(
Author:		Edo
Posted:		 2001-03-01 17:32
I installed the latest release of Open DivX (for Windows) and began to
encode some avi videos (MJPEG compressed) using VirtualDub.The problem
is this:whenever I try to open the created file, Windows Media Player
shows me a mixture of colored lines...in a word...I see nothing !
I downloaded The Playa,that lets me see what I encoded,but the movie is
always jerky...

My questions are:
1)How can I play my encoded files (I'm on Windows 2000) ?
2)Where can I find an explanation of the encoding options of OpenDivX ?

Thanx in advance,
 Edo[ This message was edited by: Edo on 2001-03-01 17:38 ]

Topic:		problem I can't explain
Author:		c0redumb
Posted:		 2001-03-01 17:59

Thanks for the comparison. It helps a lot on pinpointing the improvement
needed. Working on them now.=20


Topic:		Adobe Premiere Don't Encode Audio To Mp3
Author:		berlinger
Posted:		 2001-03-01 19:47
Has Anyone done this with Premiere? If I try to select mp3 encoding in
export settings, the program gives an error. How is it possible to
select the Mp3 encoding With Premiere? I Am Using Fraunhofer codecs.


Message: 4
Date: Thu, 1 Mar 2001 18:13:51 -0800
From: "Darrius \"Junto\" Thompson" <[email protected]>
To: <[email protected]>
Subject: [OpenDivX] OpenDivX Decoder ->OpenDivX

Topic:		just an idea: include decoder plug-in in large streams
Author:		zap_25
Posted:		 2001-03-01 03:04
I wonder whether the file format of a big video stream (>650MB) can be
changed in such a way that it contains the binaries of the decoder.
Even with 6 or 7 supported platform I think this wouldn't require much
more than 1 MB.
The only requirement would be that the plug-in, in our case decore, has
to have the same interface with all players.

The big pro would be that you'll never have to worry if you have the
latest version of a plug-in or compatibility with old files (again, as
long as the interface is kept the same)

Topic:		DIV3 help
Author:		mossieur
Posted:		 2001-03-01 03:56
Same problem here with Softcinema (a movie player on AMIGA machines) and
the opendivx codec: it replies that it didn't found a decoder for div3

On 2001-02-20 07:43, rcharrington wrote:
I have some DIV3 avi files. I have downloaded and installed DivX, which
is supposed to have div3 and div4 codecs included. However, when I try
to view the div3 avis with Windows Media Player or RealPlayer, I still
see the message &quot;Unable to render video: DIV3 decompressor not

Any ideas anyone?

Topic:		Win 2000 Install
Author:		Hermit
Posted:		 2001-03-01 09:21
Hey, sorry to bother in this topic, but I could use a little advice.=20

I had a systems meltdown a couple of days ago so I had to reinstall
everything. During that process I found out that you have a new version
of the divx. I downloaded it, installed it and just cant get it working.
Mediaplayer doesnt tell anything, tries to find a codec and fails. I
tried to figure out the solution that was offered in this topic, but
everything in my registry was as it is supposed to be. Divx.dll was
referred to divx.dll file and everything was in order to my sense.

I'm running on windows2k.

I would be extremely thankful if someone could offer me a solution.

Thanks in advance.

Topic:		Faster code
Author:		mcmab
Posted:		 2001-03-01 11:10
Eagle sent me some results of his tests  of some of my code.  He has a
Pentium III.

I had mistakenly identified a few of the routines as being ONLY 3DNow.
The instruction in question, PAVGUSB, does exist on the Pentium III (but
not on the Pentium II I have read) as PAVG.

Eagle's results were that CopyMBlockHorVer took 0.15s in the original
form, reduced to 0.03s with the new code. This, I am sure, is entirely
due to the better read structure on the memory channel.  500% is not
bad.  Without assembler code output I am not sure if the new code is
optimal but, good news, I now have the ability to compile locally.

Topic:		Faster code
Author:		mcmab
Posted:		 2001-03-01 13:34
Just generated a listing file of the VC++ 6.0 generated code from
basic_prediction_mmx.c. Ouch, there's quite a lot of overhead.  With the
compiler options set as per the downloaded DivX source we get quite a
bit of extra code:


 00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			;
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	8d 7d c0	 lea	 edi, DWORD PTR [ebp-64]
  0000c	b9 10 00 00 00	 mov	 ecx, 16			;
  00011	b8 cc cc cc cc	 mov	 eax, -858993460		;
  00016	f3 ab		 rep stosd

and, more troublesome, the epilog

 00109	5f		 pop	 edi
  0010a	5e		 pop	 esi
  0010b	5b		 pop	 ebx
  0010c	83 c4 40	 add	 esp, 64			;
  0010f	3b ec		 cmp	 ebp, esp
  00111	e8 00 00 00 00	 call	 __chkesp
  00116	8b e5		 mov	 esp, ebp
  00118	5d		 pop	 ebp
  00119	c3		 ret	 0

Remember this is a routine that process just 64 bytes of video data.
There's 16 bytes of pop at the end, a call/ret pair to check the stack
and that stosd of 64 bytes - tho' writes are more "fire and forget" but
they will trigger memory reads on some processors (like write-allocate
on AMD).

Maybe we should be inling some of this stuff or declaring it naked.

Topic:		Faster code
Author:		eagle
Posted:		 2001-03-01 14:22
mcmab, are we looking at code compiled with Debug or Release settings
here?  If this is Release, then yes, it is not good.  Are you using the
compiler supplied with VC++?

Topic:		DivX 4a48 Windoze version doesn't work
Author:		uGGi
Posted:		 2001-03-01 16:24
Can't see the movies. (audio is ok)
Uninstalled it, then installed again,=20
and still didn't work.

Installed 3.1 alpha version and now everything is fine, except the
installer crashed.. but hey, now I can watch those movies=20

(running Windoze ME)

Topic:		Win 2000 Install
Author:		e7abe7a
Posted:		 2001-03-01 20:11
Probably you installed the new filter too and for some reason the filter
is not working on your PC. I try to give you some instruction to
deinstall the filter:

1. first of all check if the filter is in your system32 directory
(c:/winnt/system32/divxdec.ax). If the filter is not there... this is
not your problem, sorry.

2. Open a command line shell. start -> run, type 'cmd' to open a command

3. Go in your system32 directory:
cd ./winnt/system32

4. Unregister the filter:
regsvr32 /u divxdec.ax

5. Try to playback the sequences now
6. Let me know

I hope it helps!


Message: 5
From: "Shawn Bissell" <[email protected]>
To: <[email protected]>
Date: Fri, 2 Mar 2001 01:40:53 -0800
Subject: [OpenDivX] Plugin won't compile -- Redhat 7.0

Please help me. I can't figure this one out!

It craps out calling ld -lgtk
This is a very standard set up and I don't have problems compiling other

I changed the following line in the configure file for the

I installed the following RPMS
glib (latest)
glib-devel (latest)

I have successful complied and installed the Divx4Linux decore

Here is the error dump

gcc -shared  stubs.lo afl.lo driver.lo elfdll.lo ext.lo module.lo
pe_image.lo pe_resource.lo registry.lo resource.lo vfl.lo win32.lo
win32_codec.lo  -L/usr/X11R6/lib -lgtk -lgdk -L/usr/lib -lgmodule -lglib -ld
l -lXi -lXext -lX11 -lm -lxmps -lc  -Wl,-soname -Wl,libwin32.so -o
/usr/bin/ld: cannot find -lgtk
collect2: ld returned 1 exit status
make[2]: *** [libwin32.la] Error 1
make[2]: Leaving directory `/usr/xmps-win32-plugin-0.0.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/xmps-win32-plugin-0.0.4'
make: *** [all-recursive-am] Error 2


Message: 6
Date: Fri, 02 Mar 2001 12:27:58 +0100
From: Arnaud Zanetti <[email protected]>
To: [email protected]
Subject: [OpenDivX] encore 0.48

hi !
I used to encode and decode without any problem with 0.47. Since I upgraded to 0.48, I still can
decode stream previously encoded with 0.47 (including VO & VOL headers taken from a stream
encoded with M$ fdis), but I cannot decode stream encoded with 0.48. What's wrong with 0.48 ?
Has the encore API changed in some way (apart from taking YUV instead of RGB as input) ? Does
the decore 0.48 really take VO & VOL headers into account ?
I also have a problem with stream encoded with the codec 0.48 (both using FlaskMpeg and
VirtualDub) : mplayer2 crashes after attempting to download a codec.


OpenDivX mailing list
[email protected]ctmayo.com

End of OpenDivX Digest

Reply To Poster

Local References / HOW-TO / FAQs