History

swscale: add P210/P410/P216/P416 output

rcombs committed 4 years ago

Commit 88d804b1 parent 310a1c222 files · +103 −11Browse files

Unified · Split

22 files
  1. libswscale/output.c +6 −2
  2. libswscale/utils.c +8 −8
  3. libswscale/version.h +1 −1
  4. tests/ref/fate/filter-pixdesc-p210be +1 −0
  5. tests/ref/fate/filter-pixdesc-p210le +1 −0
  6. tests/ref/fate/filter-pixdesc-p216be +1 −0
  7. tests/ref/fate/filter-pixdesc-p216le +1 −0
  8. tests/ref/fate/filter-pixdesc-p410be +1 −0
  9. tests/ref/fate/filter-pixdesc-p410le +1 −0
  10. tests/ref/fate/filter-pixdesc-p416be +1 −0
  11. tests/ref/fate/filter-pixdesc-p416le +1 −0
  12. tests/ref/fate/filter-pixfmts-copy +8 −0
  13. tests/ref/fate/filter-pixfmts-crop +8 −0
  14. tests/ref/fate/filter-pixfmts-field +8 −0
  15. tests/ref/fate/filter-pixfmts-fieldorder +8 −0
  16. tests/ref/fate/filter-pixfmts-hflip +8 −0
  17. tests/ref/fate/filter-pixfmts-il +8 −0
  18. tests/ref/fate/filter-pixfmts-null +8 −0
  19. tests/ref/fate/filter-pixfmts-pad +4 −0
  20. tests/ref/fate/filter-pixfmts-scale +8 −0
  21. tests/ref/fate/filter-pixfmts-transpose +4 −0
  22. tests/ref/fate/filter-pixfmts-vflip +8 −0
libswscale/output.c+6−2
@@ -2563,14 +2563,18 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c, · 2562 unmodified lines
2563 enum AVPixelFormat dstFormat = c->dstFormat;2563 enum AVPixelFormat dstFormat = c->dstFormat;
2564 const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(dstFormat);2564 const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(dstFormat);
2565 2565
2566 if (dstFormat == AV_PIX_FMT_P010LE || dstFormat == AV_PIX_FMT_P010BE) {2566 if (dstFormat == AV_PIX_FMT_P010LE || dstFormat == AV_PIX_FMT_P010BE ||
2567 dstFormat == AV_PIX_FMT_P210LE || dstFormat == AV_PIX_FMT_P210BE ||
2568 dstFormat == AV_PIX_FMT_P410LE || dstFormat == AV_PIX_FMT_P410BE) {
2567 *yuv2plane1 = isBE(dstFormat) ? yuv2p010l1_BE_c : yuv2p010l1_LE_c;2569 *yuv2plane1 = isBE(dstFormat) ? yuv2p010l1_BE_c : yuv2p010l1_LE_c;
2568 *yuv2planeX = isBE(dstFormat) ? yuv2p010lX_BE_c : yuv2p010lX_LE_c;2570 *yuv2planeX = isBE(dstFormat) ? yuv2p010lX_BE_c : yuv2p010lX_LE_c;
2569 *yuv2nv12cX = yuv2p010cX_c;2571 *yuv2nv12cX = yuv2p010cX_c;
2570 } else if (is16BPS(dstFormat)) {2572 } else if (is16BPS(dstFormat)) {
2571 *yuv2planeX = isBE(dstFormat) ? yuv2planeX_16BE_c : yuv2planeX_16LE_c;2573 *yuv2planeX = isBE(dstFormat) ? yuv2planeX_16BE_c : yuv2planeX_16LE_c;
2572 *yuv2plane1 = isBE(dstFormat) ? yuv2plane1_16BE_c : yuv2plane1_16LE_c;2574 *yuv2plane1 = isBE(dstFormat) ? yuv2plane1_16BE_c : yuv2plane1_16LE_c;
2573 if (dstFormat == AV_PIX_FMT_P016LE || dstFormat == AV_PIX_FMT_P016BE) {2575 if (dstFormat == AV_PIX_FMT_P016LE || dstFormat == AV_PIX_FMT_P016BE ||
2576 dstFormat == AV_PIX_FMT_P216LE || dstFormat == AV_PIX_FMT_P216BE ||
2577 dstFormat == AV_PIX_FMT_P416LE || dstFormat == AV_PIX_FMT_P416BE) {
2574 *yuv2nv12cX = yuv2p016cX_c;2578 *yuv2nv12cX = yuv2p016cX_c;
2575 }2579 }
2576 } else if (isNBPS(dstFormat)) {2580 } else if (isNBPS(dstFormat)) {
libswscale/utils.c+8−8
@@ -268,14 +268,14 @@ static const FormatEntry format_entries[] = { · 267 unmodified lines
268 [AV_PIX_FMT_Y210LE] = { 1, 0 },268 [AV_PIX_FMT_Y210LE] = { 1, 0 },
269 [AV_PIX_FMT_X2RGB10LE] = { 1, 1 },269 [AV_PIX_FMT_X2RGB10LE] = { 1, 1 },
270 [AV_PIX_FMT_X2BGR10LE] = { 1, 1 },270 [AV_PIX_FMT_X2BGR10LE] = { 1, 1 },
271 [AV_PIX_FMT_P210BE] = { 1, 0 },271 [AV_PIX_FMT_P210BE] = { 1, 1 },
272 [AV_PIX_FMT_P210LE] = { 1, 0 },272 [AV_PIX_FMT_P210LE] = { 1, 1 },
273 [AV_PIX_FMT_P410BE] = { 1, 0 },273 [AV_PIX_FMT_P410BE] = { 1, 1 },
274 [AV_PIX_FMT_P410LE] = { 1, 0 },274 [AV_PIX_FMT_P410LE] = { 1, 1 },
275 [AV_PIX_FMT_P216BE] = { 1, 0 },275 [AV_PIX_FMT_P216BE] = { 1, 1 },
276 [AV_PIX_FMT_P216LE] = { 1, 0 },276 [AV_PIX_FMT_P216LE] = { 1, 1 },
277 [AV_PIX_FMT_P416BE] = { 1, 0 },277 [AV_PIX_FMT_P416BE] = { 1, 1 },
278 [AV_PIX_FMT_P416LE] = { 1, 0 },278 [AV_PIX_FMT_P416LE] = { 1, 1 },
279};279};
280 280
281void ff_shuffle_filter_coefficients(SwsContext *c, int *filterPos, int filterSize, int16_t *filter, int dstW){281void ff_shuffle_filter_coefficients(SwsContext *c, int *filterPos, int filterSize, int16_t *filter, int dstW){
libswscale/version.h+1−1
@@ -28,7 +28,7 @@ · 27 unmodified lines
28 28
29#define LIBSWSCALE_VERSION_MAJOR 629#define LIBSWSCALE_VERSION_MAJOR 6
30#define LIBSWSCALE_VERSION_MINOR 130#define LIBSWSCALE_VERSION_MINOR 1
31#define LIBSWSCALE_VERSION_MICRO 10131#define LIBSWSCALE_VERSION_MICRO 102
32 32
33#define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \33#define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
34 LIBSWSCALE_VERSION_MINOR, \34 LIBSWSCALE_VERSION_MINOR, \
tests/ref/fate/filter-pixdesc-p210be+1−0
@@ -0,0 +1 @@
1pixdesc-p210be 9f3465e388d91beeb5cb7fe0011c5a67
tests/ref/fate/filter-pixdesc-p210le+1−0
@@ -0,0 +1 @@
1pixdesc-p210le 9994fb3da38c83d3b5fd4994993ad0ae
tests/ref/fate/filter-pixdesc-p216be+1−0
@@ -0,0 +1 @@
1pixdesc-p216be db5cabe6e5f1814a6d20e8398aec4785
tests/ref/fate/filter-pixdesc-p216le+1−0
@@ -0,0 +1 @@
1pixdesc-p216le 79d711ee3dac99e37c013d2073d90a2c
tests/ref/fate/filter-pixdesc-p410be+1−0
@@ -0,0 +1 @@
1pixdesc-p410be 85671676fa52d0350c918f45417f3c64
tests/ref/fate/filter-pixdesc-p410le+1−0
@@ -0,0 +1 @@
1pixdesc-p410le 0b90a10af76240042876793a1dafa862
tests/ref/fate/filter-pixdesc-p416be+1−0
@@ -0,0 +1 @@
1pixdesc-p416be a7d8a859ce47c3860e0fee31539a84b0
tests/ref/fate/filter-pixdesc-p416le+1−0
@@ -0,0 +1 @@
1pixdesc-p416le e0f93774f62dd3b261fb8637696f3773
tests/ref/fate/filter-pixfmts-copy+8−0
@@ -63,6 +63,14 @@ p010be 7f9842d6015026136bad60d03c035cc3 · 62 unmodified lines
63p010le c453421b9f726bdaf2bacf59a492c43b63p010le c453421b9f726bdaf2bacf59a492c43b
64p016be 7f9842d6015026136bad60d03c035cc364p016be 7f9842d6015026136bad60d03c035cc3
65p016le c453421b9f726bdaf2bacf59a492c43b65p016le c453421b9f726bdaf2bacf59a492c43b
66p210be 6df2a72ee297e53f9ac7f96acf0ef5d5
67p210le c06e4b76cf504e908128081f92b60ce2
68p216be 01d10b0d17c9f575b512dff36623a85b
69p216le 2f634e1a3cd5c9c122e0f2ebadb3503d
70p410be d9af5b8126ea7457edaf0c90ad0cb2b7
71p410le 527761e1f4381007044679710a352ecc
72p416be fc5c1c45567de4a6bc9dbc8eef30116d
73p416le 983064bfd506be1e26cd57bafc14ae50
66pal8 ff5929f5b42075793b2c34cb441bede574pal8 ff5929f5b42075793b2c34cb441bede5
67rgb0 0de71e5a1f97f81fb51397a0435bfa7275rgb0 0de71e5a1f97f81fb51397a0435bfa72
68rgb24 f4438057d046e6d98ade4e45294b21be76rgb24 f4438057d046e6d98ade4e45294b21be
tests/ref/fate/filter-pixfmts-crop+8−0
@@ -61,6 +61,14 @@ p010be 8b2de2eb6b099bbf355bfc55a0694ddc · 60 unmodified lines
61p010le 373b50c766dfd0a8e79c9a73246d803a61p010le 373b50c766dfd0a8e79c9a73246d803a
62p016be 8b2de2eb6b099bbf355bfc55a0694ddc62p016be 8b2de2eb6b099bbf355bfc55a0694ddc
63p016le 373b50c766dfd0a8e79c9a73246d803a63p016le 373b50c766dfd0a8e79c9a73246d803a
64p210be b75f0e53a245e49af955fe210fc31bb8
65p210le 74fcd5a32eee687eebe002c884103963
66p216be 89cb3a4bd44ba624c1395e7ea6998dde
67p216le e56f5e5b0d4460d56f27a5df8a4a1462
68p410be 37e56737c2421aa59a33c57423d58616
69p410le 75f910c7282d8065d97f502ba974c481
70p416be 13b2dc247bdb0ab7e5532f75048f5a2c
71p416le ecb78b327ea5cfe1fff82945c1fca310
64pal8 1f2cdc8e718f95c875dbc1034a688bfb72pal8 1f2cdc8e718f95c875dbc1034a688bfb
65rgb0 736646b70dd9a0be22b8da8041e3503573rgb0 736646b70dd9a0be22b8da8041e35035
66rgb24 c5fbbf816bb2000f4d2914e335698ef574rgb24 c5fbbf816bb2000f4d2914e335698ef5
tests/ref/fate/filter-pixfmts-field+8−0
@@ -63,6 +63,14 @@ p010be a0311a09bba7383553267d2b3b9c075e · 62 unmodified lines
63p010le ee09a18aefa3ebe97715b3a7312cb8ff63p010le ee09a18aefa3ebe97715b3a7312cb8ff
64p016be a0311a09bba7383553267d2b3b9c075e64p016be a0311a09bba7383553267d2b3b9c075e
65p016le ee09a18aefa3ebe97715b3a7312cb8ff65p016le ee09a18aefa3ebe97715b3a7312cb8ff
66p210be 341db7c98afd2767d48cdd72e224df2f
67p210le 8d68f7655a3d76f2f8436bd25beb3973
68p216be 0dde930860e940dced179884c359f720
69p216le b573c0473a1368813d077487cc9bce0e
70p410be 9e9a812b74854226271c5f7dc18c37b7
71p410le c981188c7fd9f32988a9f4732303f82b
72p416be 203203e6788a80b52d2ca6ba629beb9c
73p416le 1039b97bbe42ef0af1bc46d2c0fc819e
66pal8 0658c18dcd8d052d59dfbe23f5b368d974pal8 0658c18dcd8d052d59dfbe23f5b368d9
67rgb0 ca3fa6e865b91b3511c7f2bf6283005975rgb0 ca3fa6e865b91b3511c7f2bf62830059
68rgb24 25ab271e26a5785be169578d99da5dd076rgb24 25ab271e26a5785be169578d99da5dd0
tests/ref/fate/filter-pixfmts-fieldorder+8−0
@@ -55,6 +55,14 @@ grayf32be 1aa7960131f880c54fe3c77f13448674 · 54 unmodified lines
55grayf32le 4029ac9d197f255794c1b9e416520fc755grayf32le 4029ac9d197f255794c1b9e416520fc7
56nv24 4fdbef26042c77f012df114e666efdb256nv24 4fdbef26042c77f012df114e666efdb2
57nv42 59608290fece913e6b7d61edf581a52957nv42 59608290fece913e6b7d61edf581a529
58p210be 82958903f553e9d2d91549bd44559a5a
59p210le 755363012d8801b96ead2e8b1b4d2ab8
60p216be 7159f11beb9138932f8d60b95efe96dc
61p216le c0c888ab7bde56638732344076b3b2ba
62p410be 411f89fadbee1ca43d2918eba583bea5
63p410le 2771dd3ae54a439921f51c29e79b6799
64p416be de6b84bd524e8fcfc251634cae416069
65p416le 2e73af44eb933580da59981176848dcc
58rgb0 2e3d8c91c7a83d451593dfd06607ff3966rgb0 2e3d8c91c7a83d451593dfd06607ff39
59rgb24 b82577f8215d3dc2681be60f1da247af67rgb24 b82577f8215d3dc2681be60f1da247af
60rgb444be 1c3afc3a0c53c51139c76504f59bb1f468rgb444be 1c3afc3a0c53c51139c76504f59bb1f4
tests/ref/fate/filter-pixfmts-hflip+8−0
@@ -61,6 +61,14 @@ p010be 744b13e44d39e1ff7588983fa03e0101 · 60 unmodified lines
61p010le a50b160346ab94f55a425065b57006f061p010le a50b160346ab94f55a425065b57006f0
62p016be 744b13e44d39e1ff7588983fa03e010162p016be 744b13e44d39e1ff7588983fa03e0101
63p016le a50b160346ab94f55a425065b57006f063p016le a50b160346ab94f55a425065b57006f0
64p210be 174cdf99f18658724e269bf38d2b653b
65p210le b6982912b2376371edea4fccf99fe40c
66p216be c58f03c6668ab0fbc3ee1a2da051e28c
67p216le 1f5213bebf4c99634f57290f5ad99c0d
68p410be aa40aa32be7aa353252bac70b5edc175
69p410le 1143c811c383e4461b1192dca0c74246
70p416be 8863e9156ee7edcb6b9e6ac01a2e338c
71p416le a42b88cabc4395aa0bf1bcbbc876f48f
64pal8 5b7c77d99817b4f52339742a47de779772pal8 5b7c77d99817b4f52339742a47de7797
65rgb0 0092452f37d73da20193265ace0b7d5773rgb0 0092452f37d73da20193265ace0b7d57
66rgb24 21571104e6091a689feabb7867e513dd74rgb24 21571104e6091a689feabb7867e513dd
tests/ref/fate/filter-pixfmts-il+8−0
@@ -63,6 +63,14 @@ p010be 3df51286ef66b53e3e283dbbab582263 · 62 unmodified lines
63p010le eadcd8241e97e35b2b47d5eb2eaea6cd63p010le eadcd8241e97e35b2b47d5eb2eaea6cd
64p016be 3df51286ef66b53e3e283dbbab58226364p016be 3df51286ef66b53e3e283dbbab582263
65p016le eadcd8241e97e35b2b47d5eb2eaea6cd65p016le eadcd8241e97e35b2b47d5eb2eaea6cd
66p210be 4992fe87c600dfb177b1e2e6aa0f922c
67p210le c695064fb9f2cc4e35957d4d649cc281
68p216be 98b73479f0ea9843768c162c449c3ac5
69p216le 77757390da383a90981e461d128d8789
70p410be a7183a01888b47a4d9f3672073c7ea7d
71p410le 6cf3a3e199b327f4f013e0346410d7a8
72p416be 4dc4aebf18e09e8f8b49db90ae5ec127
73p416le 4990b51ff889d9ee23e68997f81c09f1
66rgb0 cfaf68671e43248267d8cd50cae8c13f74rgb0 cfaf68671e43248267d8cd50cae8c13f
67rgb24 88894f608cf33ba310f21996748d77a775rgb24 88894f608cf33ba310f21996748d77a7
68rgb444be 99d36d814988fb388aacdef575dacfcf76rgb444be 99d36d814988fb388aacdef575dacfcf
tests/ref/fate/filter-pixfmts-null+8−0
@@ -63,6 +63,14 @@ p010be 7f9842d6015026136bad60d03c035cc3 · 62 unmodified lines
63p010le c453421b9f726bdaf2bacf59a492c43b63p010le c453421b9f726bdaf2bacf59a492c43b
64p016be 7f9842d6015026136bad60d03c035cc364p016be 7f9842d6015026136bad60d03c035cc3
65p016le c453421b9f726bdaf2bacf59a492c43b65p016le c453421b9f726bdaf2bacf59a492c43b
66p210be 6df2a72ee297e53f9ac7f96acf0ef5d5
67p210le c06e4b76cf504e908128081f92b60ce2
68p216be 01d10b0d17c9f575b512dff36623a85b
69p216le 2f634e1a3cd5c9c122e0f2ebadb3503d
70p410be d9af5b8126ea7457edaf0c90ad0cb2b7
71p410le 527761e1f4381007044679710a352ecc
72p416be fc5c1c45567de4a6bc9dbc8eef30116d
73p416le 983064bfd506be1e26cd57bafc14ae50
66pal8 ff5929f5b42075793b2c34cb441bede574pal8 ff5929f5b42075793b2c34cb441bede5
67rgb0 0de71e5a1f97f81fb51397a0435bfa7275rgb0 0de71e5a1f97f81fb51397a0435bfa72
68rgb24 f4438057d046e6d98ade4e45294b21be76rgb24 f4438057d046e6d98ade4e45294b21be
tests/ref/fate/filter-pixfmts-pad+4−0
@@ -25,6 +25,10 @@ nv12 381574979cb04be10c9168540310afad · 24 unmodified lines
25nv21 0fdeb2cdd56cf5a7147dc273456fa21725nv21 0fdeb2cdd56cf5a7147dc273456fa217
26nv24 193b9eadcc06ad5081609f76249b3e4726nv24 193b9eadcc06ad5081609f76249b3e47
27nv42 1738ad3c31c6c16e17679f5b09ce467727nv42 1738ad3c31c6c16e17679f5b09ce4677
28p210le 10b53de63b086de93c076d1d40f9da42
29p216le 0bbf778e1b6101a3f650ce0454a357f2
30p410le fcab6381bde9cd84b813925ff29be4d2
31p416le 6db094f8d7d27d7299bf9496ad66e2e0
28rgb0 78d500c8361ab6423a4826a00268c90832rgb0 78d500c8361ab6423a4826a00268c908
29rgb24 17f9e2e0c609009acaf2175c42d4a2a533rgb24 17f9e2e0c609009acaf2175c42d4a2a5
30rgba b157c90191463d34fb3ce77b36c9638634rgba b157c90191463d34fb3ce77b36c96386
tests/ref/fate/filter-pixfmts-scale+8−0
@@ -63,6 +63,14 @@ p010be 1d6726d94bf1385996a9a9840dd0e878 · 62 unmodified lines
63p010le 4b316f2b9e18972299beb73511278fa863p010le 4b316f2b9e18972299beb73511278fa8
64p016be 31e204018cbb53f8988c4e1174ea8ce964p016be 31e204018cbb53f8988c4e1174ea8ce9
65p016le d5afe557f492a09317e525d7cb782f5b65p016le d5afe557f492a09317e525d7cb782f5b
66p210be 42be1e97427247317444afa836969667
67p210le 04efb8f14a9d98417af40954a06aa187
68p216be caa0268d0f6779343a4432b6bc832c5b
69p216le c8f65811f717a12706a598561c6df46d
70p410be f580b8dcf5a826c94258eeba837fd874
71p410le 90fdd95ec4482c127d98307550a885c6
72p416be a1242f80d32705a757f4d3553542ae1f
73p416le d91a0858ea8d2cf1ed29f179c9ad9666
66pal8 29e10892009b2cfe431815ec3052ed3b74pal8 29e10892009b2cfe431815ec3052ed3b
67rgb0 fbd27e98154efb7535826afed41e9bb075rgb0 fbd27e98154efb7535826afed41e9bb0
68rgb24 e022e741451e81f2ecce1c7240b93e8776rgb24 e022e741451e81f2ecce1c7240b93e87
tests/ref/fate/filter-pixfmts-transpose+4−0
@@ -61,6 +61,10 @@ p010be ad0de2cc9bff81688b182a870fcf7000 · 60 unmodified lines
61p010le e7ff5143595021246733ce6bd0a769e861p010le e7ff5143595021246733ce6bd0a769e8
62p016be ad0de2cc9bff81688b182a870fcf700062p016be ad0de2cc9bff81688b182a870fcf7000
63p016le e7ff5143595021246733ce6bd0a769e863p016le e7ff5143595021246733ce6bd0a769e8
64p410be 171453dc34dd3c77659914e2202c5aa6
65p410le 4e5f78dfccda9a6387e81354a56a033a
66p416be ff09601f127101a8ce8997b9ae0fd6bf
67p416le 7bb46e2aec65669a27502ec452941237
64rgb0 31ea5da7fe779c6ea0a33f1d28aad91868rgb0 31ea5da7fe779c6ea0a33f1d28aad918
65rgb24 47654cabaaad79170b90afd5a02161dd69rgb24 47654cabaaad79170b90afd5a02161dd
66rgb444be 3cac1f0c43a74d2a95eb02e18707084570rgb444be 3cac1f0c43a74d2a95eb02e187070845
tests/ref/fate/filter-pixfmts-vflip+8−0
@@ -63,6 +63,14 @@ p010be 06e9354b6e0e38ba41736352cedc0bd5 · 62 unmodified lines
63p010le fd18d322bffbf5816902c13102872e2263p010le fd18d322bffbf5816902c13102872e22
64p016be 06e9354b6e0e38ba41736352cedc0bd564p016be 06e9354b6e0e38ba41736352cedc0bd5
65p016le fd18d322bffbf5816902c13102872e2265p016le fd18d322bffbf5816902c13102872e22
66p210be 328b09bb0c70571617901322b4194023
67p210le d71c2d4e483030ffd87fa6a68c83fce0
68p216be e4ab026532db1dfee38cedef384e605b
69p216le 2c0a660762527706799c4705ca50a9c5
70p410be 637fb064c2ce173de5cf431aa9267914
71p410le 849308a1cdf41e055019cf311d1b2201
72p416be 8e9cf1b695c0a33b6094dd6c7b3722d9
73p416le 0991d7fff4e2caf36be219ecdd9619d4
66pal8 450b0155d0f2d5628bf95a442db5f81774pal8 450b0155d0f2d5628bf95a442db5f817
67rgb0 56a7ea69541bcd27bef6a5615784722b75rgb0 56a7ea69541bcd27bef6a5615784722b
68rgb24 195e6dae1c3a488b9d3ceb7560d25d8576rgb24 195e6dae1c3a488b9d3ceb7560d25d85

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t