summaryrefslogtreecommitdiff
path: root/libswscale/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'libswscale/output.c')
-rw-r--r--libswscale/output.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libswscale/output.c b/libswscale/output.c
index 6a51bb9bdf..78ebbc6b4f 100644
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -231,6 +231,8 @@ yuv2NBPS( 9, BE, 1, 10, int16_t)
yuv2NBPS( 9, LE, 0, 10, int16_t)
yuv2NBPS(10, BE, 1, 10, int16_t)
yuv2NBPS(10, LE, 0, 10, int16_t)
+yuv2NBPS(12, BE, 1, 10, int16_t)
+yuv2NBPS(12, LE, 0, 10, int16_t)
yuv2NBPS(16, BE, 1, 16, int32_t)
yuv2NBPS(16, LE, 0, 16, int32_t)
@@ -1368,9 +1370,14 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c,
if (desc->comp[0].depth == 9) {
*yuv2planeX = isBE(dstFormat) ? yuv2planeX_9BE_c : yuv2planeX_9LE_c;
*yuv2plane1 = isBE(dstFormat) ? yuv2plane1_9BE_c : yuv2plane1_9LE_c;
- } else {
+ } else if (desc->comp[0].depth == 10) {
*yuv2planeX = isBE(dstFormat) ? yuv2planeX_10BE_c : yuv2planeX_10LE_c;
*yuv2plane1 = isBE(dstFormat) ? yuv2plane1_10BE_c : yuv2plane1_10LE_c;
+ } else if (desc->comp[0].depth == 12) {
+ *yuv2planeX = isBE(dstFormat) ? yuv2planeX_12BE_c : yuv2planeX_12LE_c;
+ *yuv2plane1 = isBE(dstFormat) ? yuv2plane1_12BE_c : yuv2plane1_12LE_c;
+ } else {
+ assert(0);
}
} else {
*yuv2plane1 = yuv2plane1_8_c;