[MPlayer-dev-eng] Re: PATCH [0/12] CoreAVC support (Take 3)
alannisota at gmail.com
Wed Feb 28 04:14:42 CET 2007
Alex Beregszaszi wrote:
>> As a reminder, these patches add support for the CoreAVC directshow
>> filter, which supports AVC1, as well as h264 with MBAFF and PAFF.
> What the hell is CoreAVC and why is it so problematic to support it?
CoreAVC is a very efficient AVC1/H264 Directshow codec. It is non-free
(and does some registration related checks which require new
functionality), and comes compressed (probably to help avoid reverse
engineering) which presents a few more challenges. It is multi-threaded
(which gives it a huge performance boost on multi-cpu systems) but this
also requires new capabilities in mplayer. In the end, it is the only
way for many of us to watch Hi-Def h.264 material on reasonably priced
hardware in linux.
>> 002dstfmt.patch: Ignore an error on connecting the output pin on filter
> Maybe good, but remove the unneded cosmetics.
Not sure what cosmetics you mean. The only 'cosmetics' are a 2 line
comment explaining WTF is going on.
>> 006cpu.patch: adds support for multiple CPUs. It enables Semaphores and
> Separate this logically into SMP support and mutex fix.
>> 008newfunc.patch: adds several support for several new functions to
> Split this into more parts, UNDEF, new functions, etc.
>> 009threaddisp.patch: an optional patch that shows the threadid in win32
> Are you sure this doesnt breaks anything?
I don't have any other codecs that are threaded, but obviously it works
fine with CoreAVC which is heavily threaded.
>> 010stub.patch: This adds a return value to win32 stubbed apps. These
> Huh? This could cause crashes in case of caller doesnt saves eax.
Windows API does not allow eax to be preserved in a function call.
Besides, this is the same code that was in mplayer for years before the
magic stub was rewritten to be less hacky
>> 012regedit.patch: Adds a new file 'modify_reg.c' that can be used to add
> I like this tool but must be cleaned up.
Well, I'm done. I've gotten absolutely nowhere with trying to get any
of this stuff into mplayer, and I'm not going to split the 12 patches I
already have into even more until I see some evidence that the devs
actually care. For the users of my patch (and there seem to be quite a
few given the amount of email I get on this stuff) it would be better as
a monolithic patch. I only split it in the 1st place in the hopes of
making it more palatable to the mplayer devs.
This patch set has no hacks for CoreAVC (well, I guess you could
consider the MPEG2HEADER stuff a hack, but it also adds new
functionality usable by other codecs), and is basically just fixing bugs
and adding a bunch of new capabilities to mplayer. I'll be happy to do
whatever cleanup is required if things start moving towards inclusion,
but it is more than good enough as is for myself and the users who care,
so I'm not wasting any more breath on trying to make the devs happy
I'll post updates here if changes are needed for future versions of
CoreAVC (or if by some miracle some of my patches actually start moving
into mplayer), but otherwise, I'll go away now and stop bothering you guys.
More information about the MPlayer-dev-eng