Re: [Mlt-devel] [PATCH] use sse2 instruction for line compositing
Brought to you by:
ddennedy,
lilo_booter
From: Dan D. <da...@de...> - 2012-02-08 04:40:33
|
2012/2/6 Maksym Veremeyenko <ve...@m1...>: > 04.02.12 22:25, Dan Dennedy написав(ла): > >> 2012/2/3 Maksym Veremeyenko<ve...@m1...>: >>> >>> 02.02.12 18:57, Maksym Veremeyenko написав(ла): >>> >>>> Hi, >>>> >>>> attached patch perform line compositing for SSE2+ARCH_X86_64 build. It >>>> works for a case where luma is not defined... >>> >>> >>> >>> updated patch attached >> >> >> If I am not mistaken, this change reduces precision to 8 pixels. The >> existing transition is already limited to a 2 pixel precision, which I >> am not happy about. I do not want to further reduce the precision, >> give different results depending on CPU, and effectively introduce a >> regression, as far as the user is concerned. Maybe we should limit it >> to only >> apply when width is a multiple of 8. Then, it would still be used for >> fullscreen composite on most profiles' resolution. >> > > not exactly... > > sse2 code process 8-pixels-groups, tail with 1...7 pixels processed by > native code - that why i did not create a standalone function but putted > code into existing composite_yuv code... > > i am still testing it... may be you can take a look if all processed fine. I started testing with the demos in the demo/ directory. It mostly works; however, mlt_my_name_is crashes on me (and one time mlt_squeeze_box): (gdb) bt #0 0x00007fffdecced14 in composite_line_yuv ( dest=0x25bae60 " ~\037~ ~\037~!~-\177\064~2\177\065}5\200\064}3\200\062}3\201\064}6\201\063|0\202-|+\202+|+\202,|-\202/{0\203\060{1\203\061{1\203\061{1\203\061|2\202\062|1\202/{/\202\060{1\202-{,\202-{1\202\062{2\202\065{:\202\062{3\203\063{3\203\063z6\203;z@\203=z@\203BzD\203JzR\204WzW\204^ya\202fyj\202myn\202nyn\202wyv\202yy~\202\177y|\202|y\177\202{y{\202|y~\202\177y}\201|y}\201{y{\201{yy\201xyw\201wyx\201w{w\201t{p\201"..., src=0x2c621f0 "\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200\020\200"..., width=0, alpha_b=0x2c16e00 "", alpha_a=0x1ee9a30 "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., weight=65535, luma=0x0, soft=0, step=65535) at composite_line_yuv_sse2_simple.c:6 -- +-DRD-+ |