summaryrefslogtreecommitdiff
path: root/libswscale/input.c
diff options
context:
space:
mode:
authorFei Wang <fei.w.wang@intel.com>2020-07-20 09:34:07 +0800
committerMichael Niedermayer <michael@niedermayer.cc>2020-07-20 21:00:00 +0200
commit854478328033531ec77fc23b958b21805572e541 (patch)
treec68a896e13d6aeccaca2013b736e1214ba290d5a /libswscale/input.c
parentb6663adaae948a66574dff58923a862774663439 (diff)
downloadffmpeg-854478328033531ec77fc23b958b21805572e541.tar.gz
swscale/yuv2rgb: consider x2rgb10le on big endian hardware
This fixed FATE fail report by filter-pixfmts* for x2rgb10le on big endian hardware. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libswscale/input.c')
-rw-r--r--libswscale/input.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libswscale/input.c b/libswscale/input.c
index 0bd1aa7bc9..064ed5902f 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -244,11 +244,12 @@ rgb48funcs(bgr, BE, AV_PIX_FMT_BGR48BE)
#define input_pixel(i) ((origin == AV_PIX_FMT_RGBA || \
origin == AV_PIX_FMT_BGRA || \
origin == AV_PIX_FMT_ARGB || \
- origin == AV_PIX_FMT_ABGR || \
- origin == AV_PIX_FMT_X2RGB10) \
- ? AV_RN32A(&src[(i) * 4]) \
- : (isBE(origin) ? AV_RB16(&src[(i) * 2]) \
- : AV_RL16(&src[(i) * 2])))
+ origin == AV_PIX_FMT_ABGR) \
+ ? AV_RN32A(&src[(i) * 4]) \
+ : ((origin == AV_PIX_FMT_X2RGB10LE) \
+ ? AV_RL32(&src[(i) * 4]) \
+ : (isBE(origin) ? AV_RB16(&src[(i) * 2]) \
+ : AV_RL16(&src[(i) * 2]))))
static av_always_inline void rgb16_32ToY_c_template(int16_t *dst,
const uint8_t *src,