[FFmpeg-soc] [PATCH] updated! vf_overlay alpha patch and watermarking using PNG with alpha

Michael Niedermayer michaelni at gmx.at
Mon Dec 7 14:08:33 CET 2009


On Sun, Dec 06, 2009 at 05:12:37PM +0100, Vitor Sessak wrote:
> Hi and sorry for the delay.
>
> Artur Bodera wrote:
>> On Tue, Dec 1, 2009 at 12:50 AM, Vitor Sessak <vitor1001 at gmail.com> wrote:
>>> While I normally oppose making non-committed code more complex, I think
>>> this feature is so often requested that it is worth the extra work in the
>>> future. Stefano, Michael, any strong opinion about this?
>>>
>> I think the vf_overlay should be modified altogether. Although
>> mathematically alpha-blending is more expensive than opaque pixel
>> replacement, I think that it should be automatically decided by analyzing
>> the overlay format.
>> So the alpha-blending should be a "built-in" functionality (not a 
>> switchable
>> parameter) and should be implicitly functional with any overlay 
>> stream/image
>> that has alpha channel (i.e. rgba). If there is no alpha channel, then 
>> pixel
>> overriding would be used. This makes much more sense.
>
> I agree that this would be nice, but there is no way to make it work with 
> the current format negotiation in libavfilter. For example, there is no way 
> to have a filter that accepts either "input: rgb, output rgba" or "input: 
> yuv, output: yuva", so I suggest you just do as your present patch for the 
> time been.

an overlay filter that supports 
rgb -> rgb              yuv -> yuv
    ^           OR          ^
  rgba                     yuva

cant be done, but you can do:

rgb -> rgb              yuv -> yuv
    ^           OR          ^
yuva||rgba              yuva||rgba

this might end up requireing rgb<->yuv converting the thing to be overlaid
in the overlay filter (its just a call to the swscaler ...)


and about the current format negotiation, if you have better ideas
which i doubt ;)
they are welcome. The issue is just that with arbitrary graphs its not so
easy to negotiate the format in a way that is scaleable and doesnt break
down to O(2^n) time

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In fact, the RIAA has been known to suggest that students drop out
of college or go to community college in order to be able to afford
settlements. -- The RIAA
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/attachments/20091207/46e4acb2/attachment.pgp>


More information about the FFmpeg-soc mailing list