[FFmpeg-devel] [PATCH] swscale: add NV16 input/output

Matthieu Bouron matthieu.bouron at gmail.com
Wed Jun 1 23:33:37 EEST 2022


---
 libswscale/input.c                       | 1 +
 libswscale/utils.c                       | 1 +
 libswscale/version.h                     | 2 +-
 tests/ref/fate/filter-pixdesc-nv16       | 1 +
 tests/ref/fate/filter-pixfmts-copy       | 1 +
 tests/ref/fate/filter-pixfmts-crop       | 1 +
 tests/ref/fate/filter-pixfmts-field      | 1 +
 tests/ref/fate/filter-pixfmts-fieldorder | 1 +
 tests/ref/fate/filter-pixfmts-hflip      | 1 +
 tests/ref/fate/filter-pixfmts-il         | 1 +
 tests/ref/fate/filter-pixfmts-null       | 1 +
 tests/ref/fate/filter-pixfmts-pad        | 1 +
 tests/ref/fate/filter-pixfmts-scale      | 1 +
 tests/ref/fate/filter-pixfmts-vflip      | 1 +
 14 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 tests/ref/fate/filter-pixdesc-nv16

diff --git a/libswscale/input.c b/libswscale/input.c
index fe0c27d743..750367b28b 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -1101,6 +1101,7 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
         c->chrToYV12 = uyvyToUV_c;
         break;
     case AV_PIX_FMT_NV12:
+    case AV_PIX_FMT_NV16:
     case AV_PIX_FMT_NV24:
         c->chrToYV12 = nv12ToUV_c;
         break;
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 105781c4f4..8298ae8e10 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -257,6 +257,7 @@ static const FormatEntry format_entries[] = {
     [AV_PIX_FMT_P216LE]      = { 1, 1 },
     [AV_PIX_FMT_P416BE]      = { 1, 1 },
     [AV_PIX_FMT_P416LE]      = { 1, 1 },
+    [AV_PIX_FMT_NV16]        = { 1, 1 },
 };
 
 int ff_shuffle_filter_coefficients(SwsContext *c, int *filterPos,
diff --git a/libswscale/version.h b/libswscale/version.h
index f573bef6fc..0fa41f77d2 100644
--- a/libswscale/version.h
+++ b/libswscale/version.h
@@ -29,7 +29,7 @@
 #include "version_major.h"
 
 #define LIBSWSCALE_VERSION_MINOR   6
-#define LIBSWSCALE_VERSION_MICRO 100
+#define LIBSWSCALE_VERSION_MICRO 101
 
 #define LIBSWSCALE_VERSION_INT  AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
                                                LIBSWSCALE_VERSION_MINOR, \
diff --git a/tests/ref/fate/filter-pixdesc-nv16 b/tests/ref/fate/filter-pixdesc-nv16
new file mode 100644
index 0000000000..4c4587c833
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-nv16
@@ -0,0 +1 @@
+pixdesc-nv16        cbbc5d904b8eebad3705a325c3ec5734
diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy
index f06fa1574e..3cd0002e4e 100644
--- a/tests/ref/fate/filter-pixfmts-copy
+++ b/tests/ref/fate/filter-pixfmts-copy
@@ -56,6 +56,7 @@ grayf32le           fb6ea85bfbc8cd21c51fc0e110197294
 monob               8b04f859fee6a0be856be184acd7a0b5
 monow               54d16d2c01abfd72ecdb5e51e283937c
 nv12                8e24feb2c544dc26a20047a71e4c27aa
+nv16                22b1916c0694c4e2979bab8eb71f3d6b
 nv21                335d85c9af6110f26ae9e187a82ed2cf
 nv24                f30fc8d0ac40af69e119ea919a314572
 nv42                29a212f70f8780fe0eb99abcae81894d
diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop
index 8b26ab9c53..1a0f0c79ed 100644
--- a/tests/ref/fate/filter-pixfmts-crop
+++ b/tests/ref/fate/filter-pixfmts-crop
@@ -54,6 +54,7 @@ gray9le             4d1932d4968a248584f5e39c25f1dd43
 grayf32be           cf40ec06a8abe54852b7f85a00549eec
 grayf32le           b672526c9da9c8959ab881f242f6890a
 nv12                92cda427f794374731ec0321ee00caac
+nv16                3264b16aaae554c21f052102b491c13b
 nv21                1bcfc197f4fb95de85ba58182d8d2f69
 nv24                514c8f12082f0737e558778cbe7de258
 nv42                ece9baae1c5de579dac2c66a89e08ef3
diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field
index c4838d1446..27a74eaef3 100644
--- a/tests/ref/fate/filter-pixfmts-field
+++ b/tests/ref/fate/filter-pixfmts-field
@@ -56,6 +56,7 @@ grayf32le           6b856bdbf2a2bfcd2bc7d50f109daaf0
 monob               2129cc72a484d7e10a44de9117aa9f80
 monow               03d783611d265cae78293f88ea126ea1
 nv12                16f7a46708ef25ebd0b72e47920cc11e
+nv16                34f36b03f5fccf4eac147b26bbc0a5e5
 nv21                7294574037cc7f9373ef5695d8ebe809
 nv24                3b100fb527b64ee2b2d7120da573faf5
 nv42                1841ce853152d86b27c130f319ea0db2
diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder
index 32c06bae4c..ab080d1a37 100644
--- a/tests/ref/fate/filter-pixfmts-fieldorder
+++ b/tests/ref/fate/filter-pixfmts-fieldorder
@@ -53,6 +53,7 @@ gray9be             ec877f5bcf0ea275a6f36c12cc9adf11
 gray9le             fba944fde7923d5089f4f52d12988b9e
 grayf32be           1aa7960131f880c54fe3c77f13448674
 grayf32le           4029ac9d197f255794c1b9e416520fc7
+nv16                085deb984ab986eb5cc961fe265e30c0
 nv24                4fdbef26042c77f012df114e666efdb2
 nv42                59608290fece913e6b7d61edf581a529
 p210be              ca2ce2c25db43dcd14729b2a72a7c604
diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip
index 4d3efe3cdc..8c7a9d83c9 100644
--- a/tests/ref/fate/filter-pixfmts-hflip
+++ b/tests/ref/fate/filter-pixfmts-hflip
@@ -54,6 +54,7 @@ gray9le             424fc581947bc8c357c9ec5e3c1c04d1
 grayf32be           a69add7bbf892a71fe81b3b75982dbe2
 grayf32le           4563e176a35dc8a8a07e0829fad5eb88
 nv12                801e58f1be5fd0b5bc4bf007c604b0b4
+nv16                06ba714cb8b220c203f5898ef39abf93
 nv21                9f10dfff8963dc327d3395af21f0554f
 nv24                f0c5b2f42970f8d4003621d8857a872f
 nv42                4dcf9aec82b110712b396a8b365dcb13
diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il
index 4623f2420c..15dbe868a6 100644
--- a/tests/ref/fate/filter-pixfmts-il
+++ b/tests/ref/fate/filter-pixfmts-il
@@ -56,6 +56,7 @@ grayf32le           8bf3d295c3ffd53da0e06d0702e7c1ca
 monob               faba75df28033ba7ce3d82ff2a99ee68
 monow               6e9cfb8d3a344c5f0c3e1d5e1297e580
 nv12                3c3ba9b1b4c4dfff09c26f71b51dd146
+nv16                355d055f91793a171302021b3fc486b0
 nv21                ab586d8781246b5a32d8760a61db9797
 nv24                554153c71d142e3fd8e40b7dcaaec229
 nv42                d699724c8deaeb4f87faf2766512eec3
diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null
index f06fa1574e..3cd0002e4e 100644
--- a/tests/ref/fate/filter-pixfmts-null
+++ b/tests/ref/fate/filter-pixfmts-null
@@ -56,6 +56,7 @@ grayf32le           fb6ea85bfbc8cd21c51fc0e110197294
 monob               8b04f859fee6a0be856be184acd7a0b5
 monow               54d16d2c01abfd72ecdb5e51e283937c
 nv12                8e24feb2c544dc26a20047a71e4c27aa
+nv16                22b1916c0694c4e2979bab8eb71f3d6b
 nv21                335d85c9af6110f26ae9e187a82ed2cf
 nv24                f30fc8d0ac40af69e119ea919a314572
 nv42                29a212f70f8780fe0eb99abcae81894d
diff --git a/tests/ref/fate/filter-pixfmts-pad b/tests/ref/fate/filter-pixfmts-pad
index 519473032e..e340a76389 100644
--- a/tests/ref/fate/filter-pixfmts-pad
+++ b/tests/ref/fate/filter-pixfmts-pad
@@ -22,6 +22,7 @@ gray14le            af3f2f911c71cb34a8179a3291b5c90f
 gray16le            468bda6155bdc7a7a20c34d6e599fd16
 gray9le             f8f3dfe31ca5fcba828285bceefdab9a
 nv12                381574979cb04be10c9168540310afad
+nv16                d3a50501d2ea8535489fd5ec49e7866d
 nv21                0fdeb2cdd56cf5a7147dc273456fa217
 nv24                193b9eadcc06ad5081609f76249b3e47
 nv42                1738ad3c31c6c16e17679f5b09ce4677
diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale
index 43074b84a7..95a3f071b8 100644
--- a/tests/ref/fate/filter-pixfmts-scale
+++ b/tests/ref/fate/filter-pixfmts-scale
@@ -56,6 +56,7 @@ grayf32le           2ff1b84023e820307b1ba7a9550115bc
 monob               f01cb0b623357387827902d9d0963435
 monow               35c68b86c226d6990b2dcb573a05ff6b
 nv12                b118d24a3653fe66e5d9e079033aef79
+nv16                68e757396b62b84aad657274b8f6ce15
 nv21                c74bb1c10dbbdee8a1f682b194486c4d
 nv24                2aa6e805bf6d4179ed8d7dea37d75db3
 nv42                80714d1eb2d8bcaeab3abc3124df1abd
diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip
index 3a53bb5837..7af28d3a8f 100644
--- a/tests/ref/fate/filter-pixfmts-vflip
+++ b/tests/ref/fate/filter-pixfmts-vflip
@@ -56,6 +56,7 @@ grayf32le           8e6c048a5b3b8b26d3a5ddfce255f3f6
 monob               7810c4857822ccfc844d78f5e803269a
 monow               90a947bfcd5f2261e83b577f48ec57b1
 nv12                261ebe585ae2aa4e70d39a10c1679294
+nv16                f20f3448c900847aaff74429196f5a00
 nv21                2909feacd27bebb080c8e0fa41795269
 nv24                334420b9d3df84499d2ca16bb66eed2b
 nv42                ba4063e2795c17fea3c8a646b01fd1f5
-- 
2.36.1



More information about the ffmpeg-devel mailing list