[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [OpenDivX] decore API feature requests
Hello Arpi,
> Hi,
>
> Just started to change MPlayer to use decore4linux, but I got some
> problems:
>
> - I want to get pointers and strides to YV12 planes, without any
> conversion or extra memcpy. currently it isn't possible :(((
> (in old versions, up to 0.48 there was a callback to convert_linux())
> You should allow users to set up their own (and fast) YUV converter!!!
>
> A possible and simlpe implementation is adding a special colorspace
> format called DEC_USER, and then store pointers and strides into
> a structure pointed by *bmp (insetad of storing image there).
> Other way is using *bmp as a pointer to conversion callback function.
>
Done.
> - When will be MMX postprocessing code for linux available?
> The C version is extermly sloooow and so unusable.
> I suggest including my optimized version of postprocess.c until
> it finished. Linux users also want fast postprocessing...
We plan to start significant rewrite of postproc code in a couple of
weeks. Nobody here seems to be eager to port postproc to Linux
until new algorithms are ready. Can you describe what your version of
postprocess.c does?
>
> - decore_init and decore_release are static, but declared non-static in .h
Fixed.
>
> - there are -D_LINUX in Makefile, but #ifdef references to LINUX (without
> the underscore) -> occurs many symbol redefinition and other warnings
>
Fixed.
> - doc (Codec Core Interface.txt) is outdated, at least about memory
> allocation...
> btw it's somehow bad... at least for hte future. in current version
> there is a stuct with fields for currently used memory blocks.
> users have to allocate them and pass pointers back. but if you add
> a new field for a new memory block, then old progs will segfault :(
> I prefer a malloc callback here, or just using a single memory size
> and memory pointer.
With current CVS version you can simply do a 'memset(¶m.buffers, 0,
sizeof(DEC_BUFFERS))'. I will update the doc.
>
> - that bswapl asm instruction doesn't compiles under linux, at least
> with binutils-2.9.1 (yes, this one can be compiler bug...)
With 'as' from 2.9.1.0.25 the instruction is perfectly recognizable. Try
to rename it into bswap if it doesn't work for you.
>
> - and finally:
> Does it (current CVS version) work at all?
> Finally I get it compile and run, but:
> MMX version: segfaults...
> non-MMX: works, but buggy, motion vectors are bad.
> (I tried to play a file made with 0.47, isn't it compatible?)
It works with files from 0.48+ and should be compatible with 0.47 too,
though I didn't check that.
--
Best regards,
Eugene
mailto:[email protected] or [email protected]
[Team GADGET] [Team Two Divided By Zero] [Team Hackzone.ruArpi [email protected]
_______________________________________________
OpenDivX mailing list
[email protected]
http://lists.projectmayo.com/mailman/listinfo/opendivx
Reply To Poster
Local References / HOW-TO / FAQs