[FFmpeg-devel] [PATCH 1/6] x86: huffyuvdsp: port mmx add_bytes to yasm

Christophe Gisquet christophe.gisquet at gmail.com
Thu May 29 19:37:36 CEST 2014


2014-05-29 18:33 GMT+02:00 Michael Niedermayer <michaelni at gmx.at>:
>> +.2:
>> +    and     wq, 2*mmsize-1
>> +    jz    .end
>> +    add   dstq, wq
>> +    add   srcq, wq
>> +    neg     wq
>> +    mov  sizeb, [srcq + wq]
>> +    add [dstq + wq], sizeb
>> +    inc     wq
>> +    jmp .2
>
> this looks rather odd, i suspect this doesnt work

You're right, I've messed up my jump, and it didn't show up because
the fate files are 352x288.

Testing with attached patch "0005-"[...] (you may want to apply it):
1) ./tests/videogen out.yuv 162 144
2) Generate encoded files and reference crcs:
for i in 0 1 2 3; do
./ffmpeg_g -s 162x144 -pix_fmt yuv420p -i out.yuv -vcodec ffvhuff
-pred $i -y out$i.avi
./ffmpeg_g -cpuflags none -i out$i.avi -an -sn -f framecrc - | grep ^0 > ref$i
done

Then I ran:
for insn in "mmx" "mmx+mmxext" "sse2"; do
for i in 0 1 2 3; do
./ffmpeg_g -cpuflags $insn -i out$i.avi -an -sn -f framecrc - | grep
^0 > out$i; cmp out$i ref$i || echo "Mismatch"
done
done

While the previous patch crashed on -pred 1 and sse2, there is neither
crash nor mismatch now.

-- 
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-tests-allow-passing-dimensions-to-videogen.patch
Type: text/x-patch
Size: 1411 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140529/99bd0a08/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86-huffyuvdsp-port-add_bytes-to-yasm.patch
Type: text/x-patch
Size: 6126 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140529/99bd0a08/attachment-0001.bin>


More information about the ffmpeg-devel mailing list