yv12_to_rgb24_mmx seems to write too much...

"Emmanuel Tuloup" <[email protected]>
Newsgroups gmane.comp.video.xvid.user
Message-ID <[email protected]>

Before all, I would like to thanks xvid programmers, it's a very good 
implementation of MPEG4, well documented, and the code is very clean !

(perhaps the only remarks: why not using C++ ? (C++ is not so much slow))

Well, i've created a class that encapsulates the core functions, and all 
works very well.

I encode a set of bitmaps RGB24 in a file, and decode this file.
But the function yv12_to_rgb24_mmx writes 1 octet after the output array !
The pointer used by this function (dst) is allocated like this (in another 
part of the code):
m_pdata_out	= new unsigned char[m_Width * m_Height * 3];

All the octets of this array are well written, but the octet 'm_pdata_out+ 
m_Width * m_Height * 3' is also written !
(and in VC++ 6, I can see the famous four FDFDFDFD become 00FDFDFD)

Futhermore yv12_to_rgb24_c works very well, and doesn't pass over the array.

So I think it's a bug.
Else, tell me were I'm wrong.

Thanks.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.