[FFmpeg-devel] avcodec/qtrle : improve decoding speed of 24bpp and 32 bpp

Martin Vignali martin.vignali at gmail.com
Sat Feb 23 17:02:38 EET 2019


Hello,

Patch in attach, improve decoding speed of qtrle (also known as Mov
Animation)

Can't test on big endian. Test on big endian is welcome.
fate test cmd : make fate-qtrle SAMPLES=fate-suite/

32bpp :
Mainly raw : 33fps -> 40 fps
Mainly rle : 128fps -> 153 fps

24bpp:
Mainly raw : 20fps->39fps
Mainly rle : 97fps ->119fps

Patchs :
001 : Use bgra output pixel for 32bpp fate test (instead of rgb24)
002 : 32bpp decoding : Avoid to swap each 32b value on little endian
003 : 32bpp decoding : for raw data, copy two argb value at the same time
004 : 24bpp decoding : in rle mode, copy 1 uint16 (rg), and one byte (b),
instead of three byte. In raw mode copy 2 rgb value at the same (using
32bit for RGBR, and 16bit for GB)

Pass fate test for me (osx X86_64).

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-avcodec-qtrle-improve-24bbp-decoding-speed.patch
Type: application/octet-stream
Size: 2880 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190223/45deadd1/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-avcodec-qtrle-avoid-swap-in-32bpp-decoding.patch
Type: application/octet-stream
Size: 1673 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190223/45deadd1/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-fate-qtrle-change-32b-test-to-output-bgra-instead-of.patch
Type: application/octet-stream
Size: 4369 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190223/45deadd1/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-avcodec-qtrle-32bpp-dec-copy-two-raw-argb-value-at-t.patch
Type: application/octet-stream
Size: 1760 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190223/45deadd1/attachment-0003.obj>


More information about the ffmpeg-devel mailing list