[Kdenlive-devel] [Mlt-devel] Qt based text producer

Dan Dennedy dan at dennedy.org
Tue Jul 14 21:24:38 UTC 2009


2009/7/14 Marco Gittler <g.marco at freenet.de>:
>
> Am 12.07.2009 um 22:39 schrieb Dan Dennedy:
>
>> 2009/7/11 Marco Gittler <g.marco at freenet.de>:
>>>
>>> Am 10.07.2009 um 23:53 schrieb Dan Dennedy:
>>>
>>>> 2009/7/10 Marco Gittler <g.marco at freenet.de>:
>>>>>
>>>>> @dan th title should be created with alpha channel.
>>>>> how can i test in melt  to overlay this title over a video ?
>>>>
>>>> Please make sure that your new producer only produces mlt_image_rgb24a
>>>> and indicates it. Do not worry about conversion to mlt_image_yuv422
>>>> anymore.
>>>>
>>>>> melt kdenlivetitle:try.kdenlivetitle -track video.avi -attach
>>>>> transition:mix
>>>>> -> does not work :(
>>>>
>>>> add "*.kdenlivetitle=kdenlivetitle" to core/loader.dict
>>>>
>>>> melt video.avi -filter watermark:try.kdenlivetitle
>>>> composite.progressive=1
>>>
>>> nice, this works for pixbuf pictures. but with the kdenlivetitle :no
>>> overlay
>>> as standalone prodcuer the titleplayer works very well.
>>>
>>> does mlt_image_rgb24a, also include (like the name seems to say) the
>>> alpha
>>> channel ?
>>
>> Yes.
>>
>>> it seems the alpha will not be set.
>>
>> If you return mlt_image_rgb24a and do not include the alpha channel
>> byte per pixel, then the image will skewed because downstream
>> functions expect 4 bytes per pixel. Producer qimage supports this, but
>> it must convert ARGB to RGBA. Maybe something in the way you render is
>> writing alpha channel byte as 0xff.
>
> the image created i now rgb24a and includes real alpha data.
> playing the kdenlivetitle alone plays correct.
> but as overlay (watermark) with other producers will not show anything.
>
> tested with producer_qimage (works in both cases).
> any idea what can go wrong ? (the producer_get_image is not large, but i
> can't see any error )

Try this. Do not allocate QImage using the existing buffer. Let it
create its own and return that from Title::drawKdenliveTitle. Then,
copy from QImage to the MLT image buffer the same way that
qimage_wrapper.cpp does - using qRed()..qAlpha().

-- 
+-DRD-+




More information about the Kdenlive mailing list