swscale: Add GRAY12

pull/258/head
Luca Barbato 8 years ago
parent 7471352f19
commit ab839054e6
  1. 2
      libswscale/input.c
  2. 2
      libswscale/swscale_internal.h
  3. 1
      libswscale/swscale_unscaled.c
  4. 2
      libswscale/utils.c
  5. 1
      tests/ref/fate/filter-pixdesc-gray12be
  6. 1
      tests/ref/fate/filter-pixdesc-gray12le
  7. 2
      tests/ref/fate/filter-pixfmts-copy
  8. 2
      tests/ref/fate/filter-pixfmts-null
  9. 2
      tests/ref/fate/filter-pixfmts-scale
  10. 2
      tests/ref/fate/filter-pixfmts-vflip

@ -1120,6 +1120,7 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
case AV_PIX_FMT_YUV420P16LE: case AV_PIX_FMT_YUV420P16LE:
case AV_PIX_FMT_YUV422P16LE: case AV_PIX_FMT_YUV422P16LE:
case AV_PIX_FMT_YUV444P16LE: case AV_PIX_FMT_YUV444P16LE:
case AV_PIX_FMT_GRAY12LE:
case AV_PIX_FMT_GRAY16LE: case AV_PIX_FMT_GRAY16LE:
c->lumToYV12 = bswap16Y_c; c->lumToYV12 = bswap16Y_c;
break; break;
@ -1148,6 +1149,7 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
case AV_PIX_FMT_YUV420P16BE: case AV_PIX_FMT_YUV420P16BE:
case AV_PIX_FMT_YUV422P16BE: case AV_PIX_FMT_YUV422P16BE:
case AV_PIX_FMT_YUV444P16BE: case AV_PIX_FMT_YUV444P16BE:
case AV_PIX_FMT_GRAY12BE:
case AV_PIX_FMT_GRAY16BE: case AV_PIX_FMT_GRAY16BE:
c->lumToYV12 = bswap16Y_c; c->lumToYV12 = bswap16Y_c;
break; break;

@ -603,6 +603,8 @@ static av_always_inline int isRGB(enum AVPixelFormat pix_fmt)
#define isGray(x) \ #define isGray(x) \
((x) == AV_PIX_FMT_GRAY8 || \ ((x) == AV_PIX_FMT_GRAY8 || \
(x) == AV_PIX_FMT_YA8 || \ (x) == AV_PIX_FMT_YA8 || \
(x) == AV_PIX_FMT_GRAY12BE || \
(x) == AV_PIX_FMT_GRAY12LE || \
(x) == AV_PIX_FMT_GRAY16BE || \ (x) == AV_PIX_FMT_GRAY16BE || \
(x) == AV_PIX_FMT_GRAY16LE || \ (x) == AV_PIX_FMT_GRAY16LE || \
(x) == AV_PIX_FMT_YA16BE || \ (x) == AV_PIX_FMT_YA16BE || \

@ -1097,6 +1097,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_BGR555) || IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_BGR555) ||
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_BGR565) || IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_BGR565) ||
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_BGRA64) || IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_BGRA64) ||
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GRAY12) ||
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GRAY16) || IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GRAY16) ||
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YA16) || IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YA16) ||
IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP12)|| IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP12)||

@ -107,6 +107,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
[AV_PIX_FMT_RGBA] = { 1, 1 }, [AV_PIX_FMT_RGBA] = { 1, 1 },
[AV_PIX_FMT_ABGR] = { 1, 1 }, [AV_PIX_FMT_ABGR] = { 1, 1 },
[AV_PIX_FMT_BGRA] = { 1, 1 }, [AV_PIX_FMT_BGRA] = { 1, 1 },
[AV_PIX_FMT_GRAY12BE] = { 1, 1 },
[AV_PIX_FMT_GRAY12LE] = { 1, 1 },
[AV_PIX_FMT_GRAY16BE] = { 1, 1 }, [AV_PIX_FMT_GRAY16BE] = { 1, 1 },
[AV_PIX_FMT_GRAY16LE] = { 1, 1 }, [AV_PIX_FMT_GRAY16LE] = { 1, 1 },
[AV_PIX_FMT_YUV440P] = { 1, 1 }, [AV_PIX_FMT_YUV440P] = { 1, 1 },

@ -0,0 +1 @@
pixdesc-gray12be bff4fa5910e99725b275fb70270b0cf9

@ -0,0 +1 @@
pixdesc-gray12le d0900fab4e757ef17fff8c1ffd0b3816

@ -23,6 +23,8 @@ gbrp12le 654861b1837d312569395f598da1a2a1
gbrp9be cbe1bf8ead497a92362a749bd4b0a57e gbrp9be cbe1bf8ead497a92362a749bd4b0a57e
gbrp9le f88c68df5d699a4a7f1b0152df9f25fe gbrp9le f88c68df5d699a4a7f1b0152df9f25fe
gray 8c941e9bbf6da5336384c57f15a4a454 gray 8c941e9bbf6da5336384c57f15a4a454
gray12be aecffce8ea67ab93527dc74c1a523454
gray12le eac4b15c8686f04ea73751294f40b8e0
gray16be 43bda75c197b0d59a9b87ee941553644 gray16be 43bda75c197b0d59a9b87ee941553644
gray16le a4ea1369ef1efff0e1341a1dc42dbfdf gray16le a4ea1369ef1efff0e1341a1dc42dbfdf
monob e13b2cbfb93d3ed6fdc1f256662ea959 monob e13b2cbfb93d3ed6fdc1f256662ea959

@ -23,6 +23,8 @@ gbrp12le 654861b1837d312569395f598da1a2a1
gbrp9be cbe1bf8ead497a92362a749bd4b0a57e gbrp9be cbe1bf8ead497a92362a749bd4b0a57e
gbrp9le f88c68df5d699a4a7f1b0152df9f25fe gbrp9le f88c68df5d699a4a7f1b0152df9f25fe
gray 8c941e9bbf6da5336384c57f15a4a454 gray 8c941e9bbf6da5336384c57f15a4a454
gray12be aecffce8ea67ab93527dc74c1a523454
gray12le eac4b15c8686f04ea73751294f40b8e0
gray16be 43bda75c197b0d59a9b87ee941553644 gray16be 43bda75c197b0d59a9b87ee941553644
gray16le a4ea1369ef1efff0e1341a1dc42dbfdf gray16le a4ea1369ef1efff0e1341a1dc42dbfdf
monob e13b2cbfb93d3ed6fdc1f256662ea959 monob e13b2cbfb93d3ed6fdc1f256662ea959

@ -23,6 +23,8 @@ gbrp12le 735061c07442657580577d1cede3a636
gbrp9be 01c837e1def99abec205b80d21b68bf0 gbrp9be 01c837e1def99abec205b80d21b68bf0
gbrp9le dd982d59c3d71c3b201f2d9363d8952c gbrp9le dd982d59c3d71c3b201f2d9363d8952c
gray 4c571fb634a75f177b64cee168fbf3a1 gray 4c571fb634a75f177b64cee168fbf3a1
gray12be d237d56e08482038ebc5f3943d6ec8d5
gray12le dcd15a0ed89bd019cc367b552fc9b1c0
gray16be 9b57ff7d2090b47e4427bee79dba0d9e gray16be 9b57ff7d2090b47e4427bee79dba0d9e
gray16le 17d2c00c6ffe346dfb632d927ebbf30a gray16le 17d2c00c6ffe346dfb632d927ebbf30a
monob e28955319a03f1850c467f8fe65b2a22 monob e28955319a03f1850c467f8fe65b2a22

@ -23,6 +23,8 @@ gbrp12le b7b27715bc9054a93ba81f110cf42ee5
gbrp9be 2ae8f0d3b079d6550a2b1d4a7c4a6e4b gbrp9be 2ae8f0d3b079d6550a2b1d4a7c4a6e4b
gbrp9le c62df0f386c957cc9cacb3c8014542eb gbrp9le c62df0f386c957cc9cacb3c8014542eb
gray 684ba667effbbf5983f46a9bea4afaae gray 684ba667effbbf5983f46a9bea4afaae
gray12be e33397832d19ec628f3e887e0a16ccc7
gray12le c8a8d7267e2595a0c4ce5d582bea23a1
gray16be 112077b2f1c85cbd44907ed271901b28 gray16be 112077b2f1c85cbd44907ed271901b28
gray16le 1d7be18af19f4ff847ff4bc7c610c8cc gray16le 1d7be18af19f4ff847ff4bc7c610c8cc
monob 0e4946183903fea3ef246c16385e236c monob 0e4946183903fea3ef246c16385e236c

Loading…
Cancel
Save