swscale : add support for YUVA444P12 and YUVA422P12
authorMartin Vignali <martin.vignali@gmail.com>
Sat, 24 Nov 2018 15:22:52 +0000 (16:22 +0100)
committerMartin Vignali <martin.vignali@gmail.com>
Sat, 24 Nov 2018 15:24:47 +0000 (16:24 +0100)
18 files changed:
libswscale/input.c
libswscale/utils.c
tests/ref/fate/filter-pixdesc-yuva422p12be [new file with mode: 0644]
tests/ref/fate/filter-pixdesc-yuva422p12le [new file with mode: 0644]
tests/ref/fate/filter-pixdesc-yuva444p12be [new file with mode: 0644]
tests/ref/fate/filter-pixdesc-yuva444p12le [new file with mode: 0644]
tests/ref/fate/filter-pixfmts-copy
tests/ref/fate/filter-pixfmts-crop
tests/ref/fate/filter-pixfmts-field
tests/ref/fate/filter-pixfmts-fieldorder
tests/ref/fate/filter-pixfmts-hflip
tests/ref/fate/filter-pixfmts-il
tests/ref/fate/filter-pixfmts-null
tests/ref/fate/filter-pixfmts-pad
tests/ref/fate/filter-pixfmts-scale
tests/ref/fate/filter-pixfmts-swapuv
tests/ref/fate/filter-pixfmts-transpose
tests/ref/fate/filter-pixfmts-vflip

index 4099c19..c2dc356 100644 (file)
@@ -1097,6 +1097,8 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
     case AV_PIX_FMT_YUVA420P10LE:
     case AV_PIX_FMT_YUVA422P10LE:
     case AV_PIX_FMT_YUVA444P10LE:
+    case AV_PIX_FMT_YUVA422P12LE:
+    case AV_PIX_FMT_YUVA444P12LE:
     case AV_PIX_FMT_YUVA420P16LE:
     case AV_PIX_FMT_YUVA422P16LE:
     case AV_PIX_FMT_YUVA444P16LE:
@@ -1127,6 +1129,8 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
     case AV_PIX_FMT_YUVA420P10BE:
     case AV_PIX_FMT_YUVA422P10BE:
     case AV_PIX_FMT_YUVA444P10BE:
+    case AV_PIX_FMT_YUVA422P12BE:
+    case AV_PIX_FMT_YUVA444P12BE:
     case AV_PIX_FMT_YUVA420P16BE:
     case AV_PIX_FMT_YUVA422P16BE:
     case AV_PIX_FMT_YUVA444P16BE:
@@ -1401,6 +1405,8 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
     case AV_PIX_FMT_YUVA420P10LE:
     case AV_PIX_FMT_YUVA422P10LE:
     case AV_PIX_FMT_YUVA444P10LE:
+    case AV_PIX_FMT_YUVA422P12LE:
+    case AV_PIX_FMT_YUVA444P12LE:
     case AV_PIX_FMT_YUVA420P16LE:
     case AV_PIX_FMT_YUVA422P16LE:
     case AV_PIX_FMT_YUVA444P16LE:
@@ -1441,6 +1447,8 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
     case AV_PIX_FMT_YUVA420P10BE:
     case AV_PIX_FMT_YUVA422P10BE:
     case AV_PIX_FMT_YUVA444P10BE:
+    case AV_PIX_FMT_YUVA422P12BE:
+    case AV_PIX_FMT_YUVA444P12BE:
     case AV_PIX_FMT_YUVA420P16BE:
     case AV_PIX_FMT_YUVA422P16BE:
     case AV_PIX_FMT_YUVA444P16BE:
index d5913ed..df68bcc 100644 (file)
@@ -260,6 +260,10 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
     [AV_PIX_FMT_P016BE]      = { 1, 1 },
     [AV_PIX_FMT_GRAYF32LE]   = { 1, 1 },
     [AV_PIX_FMT_GRAYF32BE]   = { 1, 1 },
+    [AV_PIX_FMT_YUVA422P12BE] = { 1, 1 },
+    [AV_PIX_FMT_YUVA422P12LE] = { 1, 1 },
+    [AV_PIX_FMT_YUVA444P12BE] = { 1, 1 },
+    [AV_PIX_FMT_YUVA444P12LE] = { 1, 1 },
 };
 
 int sws_isSupportedInput(enum AVPixelFormat pix_fmt)
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p12be b/tests/ref/fate/filter-pixdesc-yuva422p12be
new file mode 100644 (file)
index 0000000..6849910
--- /dev/null
@@ -0,0 +1 @@
+pixdesc-yuva422p12beb822920a4a148c62ea35d75e38ee39cf
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p12le b/tests/ref/fate/filter-pixdesc-yuva422p12le
new file mode 100644 (file)
index 0000000..9177091
--- /dev/null
@@ -0,0 +1 @@
+pixdesc-yuva422p12le88c6e0db15868c513be817f3555e73cc
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p12be b/tests/ref/fate/filter-pixdesc-yuva444p12be
new file mode 100644 (file)
index 0000000..b113852
--- /dev/null
@@ -0,0 +1 @@
+pixdesc-yuva444p12bea6cf79e0128198b076e1e0763de8101f
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p12le b/tests/ref/fate/filter-pixdesc-yuva444p12le
new file mode 100644 (file)
index 0000000..eb88fe7
--- /dev/null
@@ -0,0 +1 @@
+pixdesc-yuva444p12le67e55a290376dad40c4d99e54ab5b842
index d99374a..0e1f9ee 100644 (file)
@@ -129,6 +129,8 @@ yuva420p9le         0e9c9803aaaddc9f38e419de587793c2
 yuva422p            8f6bb778647e5dee62f544d646321171
 yuva422p10be        2f7204c93a1e5bfb04538852f99e4074
 yuva422p10le        c8082548aca999edde77ef2749b1ff4c
+yuva422p12be        10c9b731e96a8801093974d853f4fdc2
+yuva422p12le        b2bd03163b3810915deebdff5901f14d
 yuva422p16be        427ad55f7464121bb3ce164641772bc6
 yuva422p16le        af6f8df651275de58129e010bb45ffcd
 yuva422p9be         47579cc2cea861ca1461589b80c4720f
@@ -136,6 +138,8 @@ yuva422p9le         aaeab2bfe80a29390e8666103ed8bb40
 yuva444p            459fad5abfd16db9bb6a52761dc74cc1
 yuva444p10be        fa16bae4fc25429deb944ffa9f5b28a0
 yuva444p10le        92f820d3481b7ebcb48b98a73e7b4c90
+yuva444p12be        d06344a8118bff2bb8bb0ef71e1a24f0
+yuva444p12le        734414ed0ce19fe3340e44c5495ff152
 yuva444p16be        c80c1899789a6411d0025730efc8f01c
 yuva444p16le        2ed56ea50fafda4d226c9b133755dad8
 yuva444p9be         4903fde22b15d28da90761ac1cfcb1c5
index 8d902a9..3e3bb77 100644 (file)
@@ -126,6 +126,8 @@ yuva420p9le         abff60ecbe6e867949399710953bd1fc
 yuva422p            ad564e513a8c08ff0ec99324e204dfbd
 yuva422p10be        61c806e5e02ea4c90ad3156c90957a18
 yuva422p10le        41507ce136674ad458e562d44c67ddca
+yuva422p12be        2fa3d91a758022d636f7b41a812267d0
+yuva422p12le        ecaa0a18aab0833e8ebe8e84c6888c50
 yuva422p16be        3437cce47184e4b9a7a681831816e1ea
 yuva422p16le        0d534fcd61fc54fa9d4bbae5bde537ec
 yuva422p9be         588f72cd85285ed71a519525a947dedc
@@ -133,6 +135,8 @@ yuva422p9le         d5a5d50f414caa1563700207931f0e0a
 yuva444p            64bd3debe7c2b8cca91bc1d6e2a8d80e
 yuva444p10be        1291045203be7d60b9015fa7e34b5716
 yuva444p10le        75865370fb0c018fb8663958bafcdc51
+yuva444p12be        e0057ff4cda878908153644c8b0744bd
+yuva444p12le        86b8ff8dcaf8802b705eb922738250c1
 yuva444p16be        f817caf234aaf5848b2bc9679582ed56
 yuva444p16le        b32ad623fc423f897ff31c4073ea2a6f
 yuva444p9be         48498d994c3c9070f31773e39da306dd
index 623b452..a09e61a 100644 (file)
@@ -129,6 +129,8 @@ yuva420p9le         00d48d3b1b0383b92ccdb26543cfb7f8
 yuva422p            801bfb0d4c9e7a524d97bfa11f7995fd
 yuva422p10be        a0d743770698deea2be35ceb2bb0eaad
 yuva422p10le        6a0861e5c887f3213dc34d8674611950
+yuva422p12be        ec0201d920e6e638f4f7dbb4f8e0f105
+yuva422p12le        dee014ad4ae521a9ca3462423ec8ac47
 yuva422p16be        c870b697714221ef9168b6984294e501
 yuva422p16le        fef7d5f29dfec9ee36216b7a610b4b39
 yuva422p9be         83ff1ae035bb587dc59acf4121602dac
@@ -136,6 +138,8 @@ yuva422p9le         75baca2a93a8e76b27ea208858213819
 yuva444p            cfbd995b538c34dee9c107ecf875b283
 yuva444p10be        de8b80b4c3a12624412530f09de6dd39
 yuva444p10le        04c93877f724a29b47bc8c0a10a3036b
+yuva444p12be        da6b3bd545d95221d5386606e54b0e19
+yuva444p12le        701ca18afae09fda784e9d28a87b7a74
 yuva444p16be        b10fd7c1b61ac22bdb285f0d91a390f1
 yuva444p16le        cac82ffc36b7052747407663fc5ed510
 yuva444p9be         a6f66d08b3370fdd90987a6143b7b91c
index c064732..da60deb 100644 (file)
@@ -96,6 +96,8 @@ yuv444p9le          9bb3dde9fadb3c03a0ef8305b5f67a7e
 yuva422p            c470da57cde22b452deb8874df710dce
 yuva422p10be        a2ffa080ae661c1033aa38be28002922
 yuva422p10le        a4f5e8006f8ea3f964206605045e0fe0
+yuva422p12be        1d22c07c307533666293c33f7342ab25
+yuva422p12le        4b4c12dc912c765dc7005234989c806c
 yuva422p16be        929ec5d4bcfac13ba8a02f12e3f5fc7f
 yuva422p16le        7155a6036e25719f2e4d2d47212f077d
 yuva422p9be         b1af62d553d790e041e80cf89608efe3
@@ -103,6 +105,8 @@ yuva422p9le         65c80faeb0021deb232ee451f77c89e3
 yuva444p            9ac54882677f1fc5553a97ea558e942d
 yuva444p10be        3326267d176a8dfed2c7511b926962e6
 yuva444p10le        bfe957d1b5fea3585b3942cbfdd529ad
+yuva444p12be        ab482b348c5463862d4e97a3fa14d3ac
+yuva444p12le        9293d176f8af64f2205cdc52e9d87d1d
 yuva444p16be        2f80d411847856e1364659dee8b23485
 yuva444p16le        5796be8d66371b60037fc8053c27e900
 yuva444p9be         a83599c0e9fca08f6b7c6e02c2413fcf
index 235ffa5..0ba2b54 100644 (file)
@@ -126,6 +126,8 @@ yuva420p9le         15e6654f50eddf97f852070d8dd8f009
 yuva422p            902dc911ee175d9b1f2addcc03aab9a3
 yuva422p10be        fb927978446e975f7424600495a7acde
 yuva422p10le        1d0b5a5946b824810b1b83a7ce429274
+yuva422p12be        1dd4352ae7d8ae8c2e2c8e86d3a7f6bf
+yuva422p12le        c3314505aa1cd693f9369a15a40a2e18
 yuva422p16be        88977e5ddcee9377525c3f251fdeb25e
 yuva422p16le        d6a50a91be5fc720ca97fc2f6fbd3bb2
 yuva422p9be         996d8d73648c602c73c51e2d95b6cf9b
@@ -133,6 +135,8 @@ yuva422p9le         2d64684a8844967e9ffe827c04e3c917
 yuva444p            53247be24822d158c0866cd58d2ceeba
 yuva444p10be        9f3c25c3b9d26787d0bf8da2b15c75c6
 yuva444p10le        1721b843b721629da7a0cd76ac665708
+yuva444p12be        0eb0346073da8189340560e671f667b7
+yuva444p12le        e8ee7338bad40ac44b6794eebc04f459
 yuva444p16be        635fb2720470e0042a7c9b70bf908a2c
 yuva444p16le        6d5bd13f8bb804bd1158c1af732a24e1
 yuva444p9be         3d3e7491192aa4e396015bf8e3755a24
index c4ed3ed..e874a9d 100644 (file)
@@ -128,6 +128,8 @@ yuva420p9le         fbc3300867510900fec84caf718e8601
 yuva422p            6c347a539965cd63cddfeec598858c11
 yuva422p10be        d34bf5f06ac5c67e12409aa111b4e21b
 yuva422p10le        ecb3cc8d77cee05e54d4de60831be159
+yuva422p12be        d71d284f2cd3fceaee0bde0330822d53
+yuva422p12le        904321ad92a59c1579164355847f7209
 yuva422p16be        47a8d3c98492d31bce0ed0d6f74f5131
 yuva422p16le        a950acae1f7ffc47a0951a40e3309b09
 yuva422p9be         0217ba7015245e017ceb0a3eeb39fa56
@@ -135,6 +137,8 @@ yuva422p9le         1bbb5ba2b649bbe47c928012deb4e3ae
 yuva444p            c8153b52159fb0f392459b8be406c294
 yuva444p10be        b0456e5ecdd87c983573e1016db85178
 yuva444p10le        f9b10500666ba220ce42b478a6785dae
+yuva444p12be        20aa90ebde0dea31c5bfcc30557a7fd3
+yuva444p12le        d11703c80f1600d69587694cba465b8d
 yuva444p16be        97f8cb6ed835c7c5cd2fb112b1e135c7
 yuva444p16le        47170401a8c348d3f05f6530607d066b
 yuva444p9be         d5c0170b41221a9607e6ae586880a383
index d99374a..0e1f9ee 100644 (file)
@@ -129,6 +129,8 @@ yuva420p9le         0e9c9803aaaddc9f38e419de587793c2
 yuva422p            8f6bb778647e5dee62f544d646321171
 yuva422p10be        2f7204c93a1e5bfb04538852f99e4074
 yuva422p10le        c8082548aca999edde77ef2749b1ff4c
+yuva422p12be        10c9b731e96a8801093974d853f4fdc2
+yuva422p12le        b2bd03163b3810915deebdff5901f14d
 yuva422p16be        427ad55f7464121bb3ce164641772bc6
 yuva422p16le        af6f8df651275de58129e010bb45ffcd
 yuva422p9be         47579cc2cea861ca1461589b80c4720f
@@ -136,6 +138,8 @@ yuva422p9le         aaeab2bfe80a29390e8666103ed8bb40
 yuva444p            459fad5abfd16db9bb6a52761dc74cc1
 yuva444p10be        fa16bae4fc25429deb944ffa9f5b28a0
 yuva444p10le        92f820d3481b7ebcb48b98a73e7b4c90
+yuva444p12be        d06344a8118bff2bb8bb0ef71e1a24f0
+yuva444p12le        734414ed0ce19fe3340e44c5495ff152
 yuva444p16be        c80c1899789a6411d0025730efc8f01c
 yuva444p16le        2ed56ea50fafda4d226c9b133755dad8
 yuva444p9be         4903fde22b15d28da90761ac1cfcb1c5
index 09d4a58..fb2543f 100644 (file)
@@ -58,10 +58,12 @@ yuva420p16le        ff45de790e7bdd3c25d8aad51289aba9
 yuva420p9le         8ef1f3b3e01b5ce222e4caeec3dec396
 yuva422p            91dcecc4bfdff1f0db9ef8b9b5b9ac2a
 yuva422p10le        1ba292c74c8646fd077a6116142b1bc8
+yuva422p12le        df634ea77606d7a30e945aedb4c1e610
 yuva422p16le        383226550fe9c93d6e8bf0d45d1423d1
 yuva422p9le         0fb76788c905c6d448143aa3c5eae116
 yuva444p            fb60941a57596b277417a3c7c00aa194
 yuva444p10le        251ea4ead8300d752eb355a08cbb0352
+yuva444p12le        d6b2feb13cd8d07200d2cd309ea3639a
 yuva444p16le        5b65287e1862d2d9f1ad2cfdcde94661
 yuva444p9le         e6946c10b94c271e7ea24b3bcff314e1
 yuvj411p            87dbac57b211ab4823c1abbd702f1516
index fbdcb0f..12d34c9 100644 (file)
@@ -129,6 +129,8 @@ yuva420p9le         1fdfcde9cf7ef1d41002175b5793435f
 yuva422p            3a80cb3e08782033aabfeff1e8969403
 yuva422p10be        94b13db95ceb970ded9773c095ade7d4
 yuva422p10le        544965627ee94964b9cc57750c385b31
+yuva422p12be        12170e2334085876d93e244413a0652f
+yuva422p12le        161acda7381a0c1ab53d0047fc329acd
 yuva422p16be        95be33f9599958669f3c1cb24e54a5e5
 yuva422p16le        ed83cc6e8fb70306d0622962504d1fcf
 yuva422p9be         5ff6aeca90b8392133d7b1addfbd639b
@@ -136,6 +138,8 @@ yuva422p9le         451965b076c628b0eabaa4ef33f98ded
 yuva444p            f120326d9d940c9ac5cf5fd160969b82
 yuva444p10be        1838cd61a24fda56a7379c9cd9cb1629
 yuva444p10le        c5c2f602caab63c58954f5a80691436a
+yuva444p12be        fef6bfb35297eb632c31d633a0aab964
+yuva444p12le        b9bd7d5f03c50d6e841697958edd7bda
 yuva444p16be        39ca2e32aa61b210b6c528855d24a16b
 yuva444p16le        cd2e0a001d8175f2204b2eb411c6a801
 yuva444p9be         58add24afbf43ff0ff7079cc1948fb56
index e023809..62b9102 100644 (file)
@@ -48,6 +48,8 @@ yuva420p9le         7f445bfa33b6875cc65b47cee24c3154
 yuva422p            a1bd5c90b7bde1d3657025612a6f231e
 yuva422p10be        05bcc2394cfb0406d37b942423f6dbe7
 yuva422p10le        c166994709af82b9cdcebe4a7057348c
+yuva422p12be        75ecde2821167c494602415400a9031e
+yuva422p12le        28ff820ae76228acfb31c93adeed037f
 yuva422p16be        9599ed5721f52028c3acfeb7b33ddc87
 yuva422p16le        dbb74e0bb2cf732e39e669f60ec6e1cf
 yuva422p9be         39093fec98b02e83b7e20dab3e5e4cf6
@@ -55,6 +57,8 @@ yuva422p9le         a0a6dd2e62ea01e8a2268c7d88385252
 yuva444p            ff2441de373fbfaed7bc199a7abe5a3e
 yuva444p10be        857043b712213eee329d2fb584d74c3e
 yuva444p10le        c3c451b3605af959a5d80146f4170e9d
+yuva444p12be        24a81bcbed8a8204eb2792dfb4bf43f5
+yuva444p12le        f3bb6e5ce6bae9d7120247e6a38ef06f
 yuva444p16be        356d72791dfd91861b21630e315d40cb
 yuva444p16le        176591ce074ba8befc5fb279446ca1be
 yuva444p9be         675f0ed3e6572b05f06d9e44611bdff5
index c3d92fe..4a54ecc 100644 (file)
@@ -108,6 +108,8 @@ yuva420p9le         6e5cb3e761a9c45e26370307c49f8831
 yuva444p            4f9e649fbc2c0c91178d1576e462bb31
 yuva444p10be        9450fbac30b5f9da7414c895695591a9
 yuva444p10le        84a93637bf2c7e498380beff9b1fc503
+yuva444p12be        b0983a1174d4aeae02749ff60b930b45
+yuva444p12le        d1240a7788dd5c02ce9a321d898f133c
 yuva444p16be        9fd2f00ea9bef8e488228bc0b47b28cb
 yuva444p16le        ae9fd8d1baea0f8626b963816d667d2d
 yuva444p9be         4ce11ae57780f74c78cdd5c06be4bded
index 20b61de..3ff3f40 100644 (file)
@@ -129,6 +129,8 @@ yuva420p9le         aec21fa8f1088b7898cd80a30f382224
 yuva422p            39707b0dfdaadeefa20819080365db15
 yuva422p10be        53fbfe6d7eb01e2007003383c5d91850
 yuva422p10le        df1f95630ccd7bf05b95b6b3061cbeef
+yuva422p12be        a297d90880c29975c3b47cdd991df197
+yuva422p12le        537ecbdc216cbd3a9b0f0889a19861c5
 yuva422p16be        35ad91fa92b04e13d6b557d2f250ade1
 yuva422p16le        8fb93970118fde962f5dbcd156966722
 yuva422p9be         2b16b2dc102ad688a3023f30e3c6f9d9
@@ -136,6 +138,8 @@ yuva422p9le         6a23d290358691a9d8bab49582265764
 yuva444p            442a690385166bed3e785d9262c1c501
 yuva444p10be        bb6d52902c30f5cc63ddc3fbe3346bf5
 yuva444p10le        6e43f7c44e070fce492dcb1b038de85e
+yuva444p12be        15c4d3a59ade7131ab3cc0d1742bfd6d
+yuva444p12le        861aa56e414fd1e428ffb51a7a698bb2
 yuva444p16be        b8801dccf64b3eadc2a5b5db67ae0b0f
 yuva444p16le        8e72ae66754badf5d1eeb094e6bf0ddc
 yuva444p9be         bcd845394351ca6d15e947342802957d