[MPlayer-dev-eng] libmp1e bugreport
David Holm
dholm at telia.com
Sat Dec 8 17:16:01 CET 2001
David Holm wrote:
> Arpi wrote:
>
>> Hi,
>>
>>> Ok, I commited some more fixes, could you try again?
>>> I haven't changed the malloc.h stuff yet. I'm working on a new lib
>>> to replace libmp1e (hopefully). So I don't want to spend more time
>>> than needed to make libmp1e compile on the used platforms right now...
>>>
>>
>> suggestion for new library API:
>>
>> it should have only 3 public function:
>>
>> init - set resolution, fps, bitrate, mode (I-only, I+P, I+P+B
>> frames) etc
>> encode - pass a uncompressed yv12/yuy2 farem and it returns
>> compressed mpeg frame
>> uninit - close decoder, free buffers
>>
>> possible problem: if mp1e support B frames, it requires frame
>> reordering.
>> (it needs next PI frame to be able to encode B frames)
>>
>> so you should either remove B frame support (I think I-only is the
>> fastest
>> for realtime stuff, as we don't care of bitrate, just speed. and P/B
>> requires I frames decoded and motion comp., so I-only is always the
>> fastest
>> mode) or change api a bit, as it may return 0 or more frames at encode()
>>
>> i suggest restricting this lib to I-frames only (maybe allowing P
>> frames as
>> option) to get simplest API (frame reordering will cause lots of
>> problems
>> with timestamps and a-v sync) and best speed (and worst bitrate, but who
>> cares).
>>
>>
>> A'rpi / Astral & ESP-team
>>
>> --
>> mailto:arpi at thot.banki.hu
>> http://esp-team.scene.hu
>> _______________________________________________
>> MPlayer-dev-eng mailing list
>> MPlayer-dev-eng at mplayerhq.hu
>> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>>
>
> Yes,
> I have already started coding on this new lib and it's API is pretty
> much identical to what you are proposing (funny huh ;).
> I think I will have a beta very soon, mpeg is a simple enough format
> when it comes to creating an I-frame only encoder, I want to add
> support for P-frames (at least), but the first version will have
> I-frames only I guess, considering my previous history of wanting to
> release new stuff before it's done ;).
> This api will also have a MUCH cleaner way of using SIMD, libmp1e's
> support for simd sucked bigtime (I would also like to try to do some
> optimizations myself before Michael jumps in and rewrites my mess
> ;)... I've wanted to learn how to use simd efficiently for quite a
> while now and I see this as a perfect opportunity.
>
> Don't expect updates to libmp1e other than fixes for compilation
> issues (such as this "I forgot all about freebsd" mess).
> The interface will resemble rte a bit perhaps, but that is only
> because I wanted prototypes to be unique. (I'm calling prototypes
> rtv_<name>)
> There is also support for using other formats than MPEG (MPEG1) in the
> lib, in case an upcoming card requires another format we have a
> standardized realtime encoder lib for this.
> I'm calling it, librtv (realtime video)... simple enough I hope.
>
> //David Holm
>
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>
To make it worse the include file is called rtv.h and I also have an
rtvpriv.h, we'll just say I'm inspired by rte (which is exactly what I
am, our goals are similar so why not? ;)
//David Holm
More information about the MPlayer-dev-eng
mailing list