Browse Source

swscale/swscale: Try to fix rgb48Toxyz12() with slices

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.2
Michael Niedermayer 9 years ago
parent
commit
89ec11e096
1 changed files with 7 additions and 1 deletions
  1. +7
    -1
      libswscale/swscale.c

+ 7
- 1
libswscale/swscale.c View File

@@ -978,8 +978,14 @@ int attribute_align_arg sws_scale(struct SwsContext *c,




if (c->dstXYZ && !(c->srcXYZ && c->srcW==c->dstW && c->srcH==c->dstH)) { if (c->dstXYZ && !(c->srcXYZ && c->srcW==c->dstW && c->srcH==c->dstH)) {
int dstY = c->dstY ? c->dstY : srcSliceY + srcSliceH;
av_assert0(dstY >= ret);
av_assert0(ret >= 0);
av_assert0(c->dstH >= dstY);

uint16_t *dst16 = (uint16_t*)(dst2[0] + (dstY - ret) * dstStride2[0]);
/* replace on the same data */ /* replace on the same data */
rgb48Toxyz12(c, (uint16_t*)dst2[0], (const uint16_t*)dst2[0], dstStride[0]/2, ret);
rgb48Toxyz12(c, dst16, dst16, dstStride2[0]/2, ret);
} }


av_free(rgb0_tmp); av_free(rgb0_tmp);


Loading…
Cancel
Save