Vitor <vitor1...@gmail.com> added the comment:
Attached patch should fix it.
________________________________________________
FFmpeg issue tracker <iss...@roundup.ffmpeg.org>
<https://roundup.ffmpeg.org/issue2113>
________________________________________________
Index: libswscale/swscale.c
===================================================================
--- libswscale/swscale.c (revision 31758)
+++ libswscale/swscale.c (working copy)
@@ -974,6 +974,34 @@
}
}
break;
+ case PIX_FMT_RGB565:
+ YSCALE_YUV_2_RGBX_FULL_C(1<<21, 0)
+ ((uint16_t *)dest)[0] = B>>25 | ((G>>19) & (127 << 5)) |
+ ((R>>14) & (63 << 11));
+ dest+= step;
+ }
+ break;
+ case PIX_FMT_BGR565:
+ YSCALE_YUV_2_RGBX_FULL_C(1<<21, 0)
+ ((uint16_t *)dest)[0] = R>>25 | ((G>>19) & (127 << 5)) |
+ ((B>>14) & (63 << 11));
+ dest+= step;
+ }
+ break;
+ case PIX_FMT_BGR555:
+ YSCALE_YUV_2_RGBX_FULL_C(1<<21, 0)
+ ((uint16_t *)dest)[0] = R>>25 | ((G>>20) & (63 << 5)) |
+ ((B>>15) & (63 << 10));
+ dest+= 2;
+ }
+ break;
+ case PIX_FMT_RGB555:
+ YSCALE_YUV_2_RGBX_FULL_C(1<<21, 0)
+ ((uint16_t *)dest)[0] = B>>25 | ((G>>20) & (63 << 5)) |
+ ((R>>15) & (63 << 10));
+ dest+= 2;
+ }
+ break;
default:
assert(0);
}