[FFmpeg-devel] libavcodec/proresdec : add qmat dsp with SSE2, AVX2 simd

Martin Vignali martin.vignali at gmail.com
Sat Oct 7 17:22:01 EEST 2017


Patch in attach add a new dsp
for manipulation of qmat

for now, i move this code inside

for (i = 0; i < 64; i++) {
        qmat_luma_scaled  [i] = ctx->qmat_luma  [i] * qscale;
        qmat_chroma_scaled[i] = ctx->qmat_chroma[i] * qscale;

i add a special case for qscale == 1
and SSE2, AVX2 optimization

I use a new dsp for that, because we can probably use the same idea
for a similar use in proresenc_ks
and probably also for dnxhd (dec/enc), (need another func
because dnxhd, doesn't seems to use the same range for values)

I set two test in the checkasm, to test qscale == 1
and qscale != 1 (3 in my test)

this is my result (Kaby Lake, ox10.12)

qmatdsp.qmat2_scale_prores1_c: 20.3
qmatdsp.qmat2_scale_prores1_sse2: 15.5
qmatdsp.qmat2_scale_prores1_avx2: 10.3
qmatdsp.qmat2_scale_prores3_c: 24.3
qmatdsp.qmat2_scale_prores3_sse2: 20.3
qmatdsp.qmat2_scale_prores3_avx2: 14.8

Pass fate test for me (x86_64, osx)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-libavcodec-proresdec2-add-qmat-dsp-with-SSE2-AVX2-si.patch
Type: application/octet-stream
Size: 19405 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171007/bbf6beaf/attachment.obj>

More information about the ffmpeg-devel mailing list