]> granicus.if.org Git - libx264/commitdiff
Resolve floating point exception with frame_init_lowres mmx
authorFiona Glaser <fiona@x264.com>
Sun, 6 Jul 2008 17:15:19 +0000 (11:15 -0600)
committerFiona Glaser <fiona@x264.com>
Sun, 6 Jul 2008 17:17:33 +0000 (11:17 -0600)
In some cases, the mmx version of frame_init_lowres could leave the FPU uninitialized for use in ratecontrol, resulting in floating point exceptions.
Since frame_init_lowres is such a time-consuming function, an emms was just put at the end, since it costs almost nothing compared to the total time of frame_init_lowres.

common/x86/mc-a2.asm

index 47da6a29c996cb6e7b25612f2c1c4d459ea74426..50aa63e3d4b12733859bbbc86c7d31991ab9c664 100644 (file)
@@ -643,6 +643,7 @@ cglobal x264_frame_init_lowres_core_%1, 6,7
     dec    dword r8m
     jg .vloop
     ADD      rsp, 2*push_size
+    emms
     RET
 %endmacro ; FRAME_INIT_LOWRES