Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2020-08-02 16:55:38 +0300
committerPaul B Mahol <onemda@gmail.com>2020-08-08 13:03:42 +0300
commit9d58cdb4ba9c2c53da74d0898e060cff30c74dcd (patch)
treeda78bd7ef75beff53d0f051945fe87f6786888a7 /libswscale/utils.c
parentb9ff25a93e9bd7002b18b2bdca6b6a77d7ceb6a0 (diff)
swscale: do not drop half of bits from 16bit bayer formats
Diffstat (limited to 'libswscale/utils.c')
-rw-r--r--libswscale/utils.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libswscale/utils.c b/libswscale/utils.c
index dcd1dbaa76..9ca378bd3b 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -1536,8 +1536,9 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
if (isBayer(srcFormat)) {
if (!unscaled ||
- (dstFormat != AV_PIX_FMT_RGB24 && dstFormat != AV_PIX_FMT_YUV420P)) {
- enum AVPixelFormat tmpFormat = AV_PIX_FMT_RGB24;
+ (dstFormat != AV_PIX_FMT_RGB24 && dstFormat != AV_PIX_FMT_YUV420P &&
+ dstFormat != AV_PIX_FMT_RGB48)) {
+ enum AVPixelFormat tmpFormat = isBayer16BPS(srcFormat) ? AV_PIX_FMT_RGB48 : AV_PIX_FMT_RGB24;
ret = av_image_alloc(c->cascaded_tmp, c->cascaded_tmpStride,
srcW, srcH, tmpFormat, 64);