A new version of the decoder API is on the CVS
repository since some day. Probably this is
generating some confusion so I try to explain the motivations for this change.
The main reason of the change is an excellent idea
coming from the experience of Jonathan, that worked to port OpenDivX on the
MIP: since there are a lot of consideration to take in care in the memory usage,
it's better to leave to the application the freedom to allocate the VLD tables,
the buffers, ... of the decoder.
The new API has a preprocessor definition,
_DEC_MEM_REQS_, that is used by the application to ask the decoder how much
memory it needs for the differents structures. The application then
has the control on how and where allocate the memory. After the memory
allocation, the application calls again the decoder through the API to
initialize the decoder.
The code of the Windows Multimedia Driver and the
of the DirectShow filter have alredy been upgraded to use the new API. In
addiciton, you can find in decore.c a main(...) that shows how the API is
supposed to be used. The main(...) itself can be compiled (#undef _DECORE) to
run the decoder as a console application.
Andrea
|