| http://bugs.alpinelinux.org/issues/6132 |
| https://trac.xiph.org/ticket/2287 |
| |
| patch rebased for libtheory 1.1.1 stable |
| |
| diff -ru libtheora-1.1.1.orig/lib/encode.c libtheora-1.1.1/lib/encode.c |
| |
| |
| @@ -864,6 +864,9 @@ |
| } |
| |
| static void oc_enc_frame_pack(oc_enc_ctx *_enc){ |
| + /*musl libc malloc()/realloc() calls might use floating point, so make sure |
| + we've cleared the MMX state for them.*/ |
| + oc_restore_fpu(&_enc->state); |
| oggpackB_reset(&_enc->opb); |
| /*Only proceed if we have some coded blocks. |
| If there are no coded blocks, we can drop this frame simply by emitting a |
| diff -ru libtheora-1.1.1.orig/lib/decode.c libtheora-1.1.1/lib/decode.c |
| |
| |
| @@ -1181,6 +1181,9 @@ |
| |
| |
| static int oc_dec_postprocess_init(oc_dec_ctx *_dec){ |
| + /*musl libc malloc()/realloc() calls might use floating point, so make sure |
| + we've cleared the MMX state for them.*/ |
| + oc_restore_fpu(&_dec->state); |
| /*pp_level 0: disabled; free any memory used and return*/ |
| if(_dec->pp_level<=OC_PP_LEVEL_DISABLED){ |
| if(_dec->dc_qis!=NULL){ |