i recently noticed that pango producer generates corrupted text/image.
after some investigation i noticed that it caused by
transition_composite. it happens only then Y position is odd.
i attached two xml files and result of their renders (actually i
captured one from SDI)
composite_y-even.xml -> composite_y-even.png
composite_y-odd.xml -> composite_y-odd.png
i noticed strange comparation. after changing it:
--- a/src/modules/core/transition_composite.c
+++ b/src/modules/core/transition_composite.c
@@ -531,7 +531,7 @@ static int composite_yuv( uint8_t *p_dest, int
width_dest, int height_dest, uint
// Special care is taken to make sure the b_frame is aligned to
the correct field.
// field 0 = lower field and y should be odd (y is 0-based).
// field 1 = upper field and y should be even.
- if ( ( field > -1 ) && ( y % 2 == field ) )
+ if ( ( field > -1 ) && ( y % 2 != field ) )
{
if ( ( field == 1 && y < height_dest - 1 ) || ( field
== 0 && y == 0 ) )
p_dest += stride_dest;
i received a correct result
for both position, see:
composite2_y-even.png
composite2_y-odd.png
is it really bug fix or i am doing something wrong?
--
Maksym Veremeyenko
<?xml version="1.0" ?>
<mlt>
<!--
<producer id="clip" in="0" out="1500">
<property name="resource">/TheCore/data/1920x1080.png</property>
<property name="progressive">0</property>
<property name="force_progressive">0</property>
<property name="force_aspect_ratio">@1/1</property>
</producer>
-->
<producer id="clip" in="0" out="1500">
<property name="mlt_service">colour</property>
<property name="resource">#FFDDDDDD</property>
</producer>
<producer id="producer0">
<property name="text">BEGIN hi here weqewq qweqwe qweqwe qwe END</property>
<property name="size">28</property>
<property name="align">left</property>
<property name="pad">10</property>
<property name="rotate">0</property>
<property name="family">M1HeliosCondBlack</property>
<property name="style">regular</property>
<property name="fgcolour">#FF000000</property>
<property name="mlt_service">pango</property>
<!-- <property name="width_crop">500</property> -->
<!-- <property name="width_fit">600</property> -->
<!-- <property name="respect_aspect_ratio">2</property> -->
<!-- <property name="force_aspect_ratio">@64/45</property> -->
</producer>
<playlist id="playlist0">
<entry producer="producer0" in="0" out="1500"/>
</playlist>
<tractor id="tractor0">
<multitrack>
<track producer="clip"/>
<track producer="playlist0"/>
</multitrack>
<transition in="0" out="1500">
<property name="valign">top</property>
<property name="halign">left</property>
<property name="progressive">0</property>
<property name="distort">0</property>
<property name="key[0]">0/0:100%x100%:100</property>
<property name="key[1501]">5000/1500:100%x100%:100</property>
<property name="mlt_service">composite</property>
<property name="a_track">0</property>
<property name="b_track">1</property>
</transition>
</tractor>
</mlt>
<?xml version="1.0" ?>
<mlt>
<!--
<producer id="clip" in="0" out="1500">
<property name="resource">/TheCore/data/1920x1080.png</property>
<property name="progressive">0</property>
<property name="force_progressive">0</property>
<property name="force_aspect_ratio">@1/1</property>
</producer>
-->
<producer id="clip" in="0" out="1500">
<property name="mlt_service">colour</property>
<property name="resource">#FFDDDDDD</property>
</producer>
<producer id="producer0">
<property name="text">BEGIN hi here weqewq qweqwe qweqwe qwe END</property>
<property name="size">28</property>
<property name="align">left</property>
<property name="pad">10</property>
<property name="rotate">0</property>
<property name="family">M1HeliosCondBlack</property>
<property name="style">regular</property>
<property name="fgcolour">#FF000000</property>
<property name="mlt_service">pango</property>
<!-- <property name="width_crop">500</property> -->
<!-- <property name="width_fit">600</property> -->
<!-- <property name="respect_aspect_ratio">2</property> -->
<!-- <property name="force_aspect_ratio">@64/45</property> -->
</producer>
<playlist id="playlist0">
<entry producer="producer0" in="0" out="1500"/>
</playlist>
<tractor id="tractor0">
<multitrack>
<track producer="clip"/>
<track producer="playlist0"/>
</multitrack>
<transition in="0" out="1500">
<property name="valign">top</property>
<property name="halign">left</property>
<property name="progressive">0</property>
<property name="distort">0</property>
<property name="key[0]">0/1:100%x100%:100</property>
<property name="key[1501]">0/1:100%x100%:100</property>
<property name="mlt_service">composite</property>
<property name="a_track">0</property>
<property name="b_track">1</property>
</transition>
</tractor>
</mlt>
<?xml version="1.0" ?>
<mlt>
<!--
<producer id="clip" in="0" out="1500">
<property name="resource">/TheCore/data/1920x1080.png</property>
<property name="progressive">0</property>
<property name="force_progressive">0</property>
<property name="force_aspect_ratio">@1/1</property>
</producer>
-->
<producer id="clip" in="0" out="1500">
<property name="mlt_service">colour</property>
<property name="resource">#FFDDDDDD</property>
</producer>
<producer id="producer0">
<property name="text">BEGIN hi here weqewq qweqwe qweqwe qwe END</property>
<property name="size">28</property>
<property name="align">left</property>
<property name="pad">10</property>
<property name="rotate">0</property>
<property name="family">M1HeliosCondBlack</property>
<property name="style">regular</property>
<property name="fgcolour">#FF000000</property>
<property name="mlt_service">pango</property>
<!-- <property name="width_crop">500</property> -->
<!-- <property name="width_fit">600</property> -->
<!-- <property name="respect_aspect_ratio">2</property> -->
<!-- <property name="force_aspect_ratio">@64/45</property> -->
</producer>
<playlist id="playlist0">
<entry producer="producer0" in="0" out="1500"/>
</playlist>
<tractor id="tractor0">
<multitrack>
<track producer="clip"/>
<track producer="playlist0"/>
</multitrack>
<transition in="0" out="1500">
<property name="valign">top</property>
<property name="halign">left</property>
<property name="progressive">0</property>
<property name="distort">0</property>
<property name="key[0]">0/1:100%x100%:100</property>
<property name="key[1501]">5000/1:100%x100%:100</property>
<property name="mlt_service">composite</property>
<property name="a_track">0</property>
<property name="b_track">1</property>
</transition>
</tractor>
</mlt>
<?xml version="1.0" ?>
<mlt>
<!--
<producer id="clip" in="0" out="1500">
<property name="resource">/TheCore/data/1920x1080.png</property>
<property name="progressive">0</property>
<property name="force_progressive">0</property>
<property name="force_aspect_ratio">@1/1</property>
</producer>
-->
<producer id="clip" in="0" out="1500">
<property name="mlt_service">colour</property>
<property name="resource">#FFDDDDDD</property>
</producer>
<producer id="producer0">
<property name="text">BEGIN hi here weqewq qweqwe qweqwe qwe END</property>
<property name="size">28</property>
<property name="align">left</property>
<property name="pad">10</property>
<property name="rotate">0</property>
<property name="family">M1HeliosCondBlack</property>
<property name="style">regular</property>
<property name="fgcolour">#FF000000</property>
<property name="mlt_service">pango</property>
<!-- <property name="width_crop">500</property> -->
<!-- <property name="width_fit">600</property> -->
<!-- <property name="respect_aspect_ratio">2</property> -->
<!-- <property name="force_aspect_ratio">@64/45</property> -->
</producer>
<playlist id="playlist0">
<entry producer="producer0" in="0" out="1500"/>
</playlist>
<tractor id="tractor0">
<multitrack>
<track producer="clip"/>
<track producer="playlist0"/>
</multitrack>
<transition in="0" out="1500">
<property name="valign">top</property>
<property name="halign">left</property>
<property name="progressive">0</property>
<property name="distort">0</property>
<property name="key[0]">0/0:100%x100%:100</property>
<property name="key[1501]">0/0:100%x100%:100</property>
<property name="mlt_service">composite</property>
<property name="a_track">0</property>
<property name="b_track">1</property>
</transition>
</tractor>
</mlt>
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel