Bug 1636711 Comment 18 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Crash happened in [I422ToARGBRow_AVX2()](https://searchfox.org/mozilla-central/rev/a40ef31fc9af34a99ceda6d65cdc4573d52b83d2/media/libyuv/libyuv/source/row_gcc.cc#2476).

In I422ToARGBRow_AVX2(), some registers were used like the following  on x64
* width: r11(decremented for each iteration)
* y_buf: RCX(incremented for each iteration)
* u_buf: RDX(incremented for each iteration)
* v_buf: R8(befre iteration, store diff between v_buf and u_buf)

From the above and register values of crash reports, video width seemed like the following. And crashes seemed to happen during first iteration.
* 1280(0x500)
* 1920(0x780)

And I wonder if the crashes might happen around [READYUV422_AVX2](https://searchfox.org/mozilla-central/rev/a40ef31fc9af34a99ceda6d65cdc4573d52b83d2/media/libyuv/libyuv/source/row_gcc.cc#2264).
> vmovq       xmm0,mmword ptr [rdx]  
> vmovq       xmm1,mmword ptr [rdx+r8]
Crash happened in [I422ToARGBRow_AVX2()](https://searchfox.org/mozilla-central/rev/a40ef31fc9af34a99ceda6d65cdc4573d52b83d2/media/libyuv/libyuv/source/row_gcc.cc#2476).

In I422ToARGBRow_AVX2(), some registers were used like the following  on x64
* width: r11(decremented for each iteration)
* y_buf: RCX(incremented for each iteration)
* u_buf: RDX(incremented for each iteration)
* v_buf: R8(befre iteration, store diff between v_buf and u_buf)

From the above and register values of crash reports, video width seemed like the following. And crashes seemed to happen during first iteration in I422ToARGBRow_AVX2().
* 1280(0x500)
* 1920(0x780)

And I wonder if the crashes might happen around [READYUV422_AVX2](https://searchfox.org/mozilla-central/rev/a40ef31fc9af34a99ceda6d65cdc4573d52b83d2/media/libyuv/libyuv/source/row_gcc.cc#2264).
> vmovq       xmm0,mmword ptr [rdx]  
> vmovq       xmm1,mmword ptr [rdx+r8]

Back to Bug 1636711 Comment 18