summaryrefslogtreecommitdiff
path: root/libswscale
diff options
context:
space:
mode:
authorMartin Vignali <martin.vignali@gmail.com>2018-10-22 23:05:29 +0200
committerMartin Vignali <martin.vignali@gmail.com>2018-10-24 21:21:14 +0200
commit26bf4a40507dd8d313073c33c2696413eb63d2c5 (patch)
treec31bf7aa5cacaaae9cb4701417cd0ac2dc105fd9 /libswscale
parent3db33b446f3cd1d3b7142b0ab0e4dcbbec968ee9 (diff)
swscale/unscaled : add grayf32 le to be
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale_unscaled.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index 4b3cd71e90..54f27e0ac2 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -1821,6 +1821,14 @@ static int planarCopyWrapper(SwsContext *c, const uint8_t *src[],
srcPtr += srcStride[plane];
dstPtr += dstStride[plane];
}
+ } else if (isFloat(c->srcFormat) && isFloat(c->dstFormat) &&
+ isBE(c->srcFormat) != isBE(c->dstFormat)) { /* swap float plane */
+ for (i = 0; i < height; i++) {
+ for (j = 0; j < length; j++)
+ ((uint32_t *) dstPtr)[j] = av_bswap32(((const uint32_t *) srcPtr)[j]);
+ srcPtr += srcStride[plane];
+ dstPtr += dstStride[plane];
+ }
} else if (dstStride[plane] == srcStride[plane] &&
srcStride[plane] > 0 && srcStride[plane] == length) {
memcpy(dst[plane] + dstStride[plane] * y, src[plane],