mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-04 06:02:12 +00:00
Partially revert "Fix png decoding on x86."
This partially reverts commit 58dabf7bf2
.
It is no longer necessary to use unaligned mov.
The swapped mov argument fix remains though.
This commit is contained in:
parent
3fe00cac71
commit
394d41ee30
@ -26,8 +26,8 @@
|
|||||||
|
|
||||||
typedef struct PNGDSPContext {
|
typedef struct PNGDSPContext {
|
||||||
void (*add_bytes_l2)(uint8_t *dst /* align 16 */,
|
void (*add_bytes_l2)(uint8_t *dst /* align 16 */,
|
||||||
uint8_t *src1,
|
uint8_t *src1 /* align 16 */,
|
||||||
uint8_t *src2, int w);
|
uint8_t *src2 /* align 16 */, int w);
|
||||||
|
|
||||||
/* this might write to dst[w] */
|
/* this might write to dst[w] */
|
||||||
void (*add_paeth_prediction)(uint8_t *dst, uint8_t *src,
|
void (*add_paeth_prediction)(uint8_t *dst, uint8_t *src,
|
||||||
|
@ -43,12 +43,12 @@ cglobal add_bytes_l2, 4, 6, %1, dst, src1, src2, wa, w, i
|
|||||||
and waq, ~(mmsize*2-1)
|
and waq, ~(mmsize*2-1)
|
||||||
jmp .end_v
|
jmp .end_v
|
||||||
.loop_v:
|
.loop_v:
|
||||||
movu m0, [src2q+iq]
|
mova m0, [src1q+iq]
|
||||||
movu m1, [src2q+iq+mmsize]
|
mova m1, [src1q+iq+mmsize]
|
||||||
paddb m0, [src1q+iq]
|
paddb m0, [src2q+iq]
|
||||||
paddb m1, [src1q+iq+mmsize]
|
paddb m1, [src2q+iq+mmsize]
|
||||||
movu [dstq+iq ], m0
|
mova [dstq+iq ], m0
|
||||||
movu [dstq+iq+mmsize], m1
|
mova [dstq+iq+mmsize], m1
|
||||||
add iq, mmsize*2
|
add iq, mmsize*2
|
||||||
.end_v:
|
.end_v:
|
||||||
cmp iq, waq
|
cmp iq, waq
|
||||||
@ -60,8 +60,8 @@ cglobal add_bytes_l2, 4, 6, %1, dst, src1, src2, wa, w, i
|
|||||||
and waq, ~7
|
and waq, ~7
|
||||||
jmp .end_l
|
jmp .end_l
|
||||||
.loop_l:
|
.loop_l:
|
||||||
movq mm0, [src2q+iq]
|
movq mm0, [src1q+iq]
|
||||||
paddb mm0, [src1q+iq]
|
paddb mm0, [src2q+iq]
|
||||||
movq [dstq+iq ], mm0
|
movq [dstq+iq ], mm0
|
||||||
add iq, 8
|
add iq, 8
|
||||||
.end_l:
|
.end_l:
|
||||||
|
Loading…
Reference in New Issue
Block a user