On Mon, Jul 23, 2012 at 07:09:06PM -0400, Derek Buitenhuis wrote:
> From: Yang Wang <[email protected]>
> 
> This error was fixed in the second block of the assembly code, but not in
> the unrolled loop.
> 
> How to reproduce:
>     This error is exposed when we build the ffmpeg using Intel C++ Compiler,
>     IPO+PGO optimization. The ffmpeg was crashed when decoding a mjpeg video.

No such thing as "the ffmpeg" here.

> --- a/libavcodec/x86/dsputil_mmx.c
> +++ b/libavcodec/x86/dsputil_mmx.c
> @@ -245,14 +245,14 @@ void ff_put_pixels_clamped_mmx(const DCTELEM *block, 
> uint8_t *pixels,
>      pix = pixels;
>      /* unrolled loop */
>      __asm__ volatile (
> -        "movq        %3, %%mm0          \n\t"
> -        "movq       8%3, %%mm1          \n\t"
> -        "movq      16%3, %%mm2          \n\t"
> -        "movq      24%3, %%mm3          \n\t"
> -        "movq      32%3, %%mm4          \n\t"
> -        "movq      40%3, %%mm5          \n\t"
> -        "movq      48%3, %%mm6          \n\t"
> -        "movq      56%3, %%mm7          \n\t"
> +        "movq        (%3), %%mm0          \n\t"
> +        "movq       8(%3), %%mm1          \n\t"
> +        "movq      16(%3), %%mm2          \n\t"
> +        "movq      24(%3), %%mm3          \n\t"
> +        "movq      32(%3), %%mm4          \n\t"
> +        "movq      40(%3), %%mm5          \n\t"
> +        "movq      48(%3), %%mm6          \n\t"
> +        "movq      56(%3), %%mm7          \n\t"
>          "packuswb %%mm1, %%mm0          \n\t"
>          "packuswb %%mm3, %%mm2          \n\t"
>          "packuswb %%mm5, %%mm4          \n\t"

Please don't undo the prettyprinting I applied to that file.

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to