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

Reply via email to