From e1727553f164181265f71a20106fbd5e34fa08b0 Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Tue, 14 Mar 2023 15:51:40 -0500 Subject: [PATCH] test: update format refs to ffmpeg 6 Major release means new formats and failing tests so just add the new stuff to the ref again and bump the minimum libavutil version. The last ffmpeg commit that added a new format and is the minimum required version for these subset of tests is referenced below. https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/479747645f795b6f4f376578ea1556409f943c31 --- test/meson.build | 2 +- test/ref/draw_bmp.txt | 16 ++++ test/ref/img_formats.txt | 166 ++++++++++++++++++++++++++++++++++++++ test/ref/repack.txt | 26 ++++++ test/ref/zimg_formats.txt | 20 ++++- 5 files changed, 227 insertions(+), 3 deletions(-) diff --git a/test/meson.build b/test/meson.build index 61cd514c89311..1b9b40f7b159e 100644 --- a/test/meson.build +++ b/test/meson.build @@ -105,7 +105,7 @@ endif # Minimum required libavutil version that works with these tests. # Will need to be manually updated when ffmpeg adds/removes more formats in the future. -if libavutil.version().version_compare('>= 57.10.101') +if libavutil.version().version_compare('>= 57.39.101') # The CI can randomly fail if libavutil isn't explictly linked again here. img_format = executable('img-format', 'img_format.c', include_directories: incdir, diff --git a/test/ref/draw_bmp.txt b/test/ref/draw_bmp.txt index 09fcd503bb3ab..274cbbe6aa377 100644 --- a/test/ref/draw_bmp.txt +++ b/test/ref/draw_bmp.txt @@ -93,6 +93,8 @@ nv42 = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuv444pf, a=unknown, ca opencl = no p010 = align=2:2 ov=yuva420p, ov_f=yuva420pf, v_f=yuv420pf, a=gray, ca=gray, ca_f=grayf32 p010be = align=2:2 ov=yuva420p, ov_f=yuva420pf, v_f=yuv420pf, a=gray, ca=gray, ca_f=grayf32 +p012 = align=2:2 ov=yuva420p, ov_f=yuva420pf, v_f=yuv420pf, a=gray, ca=gray, ca_f=grayf32 +p012be = align=2:2 ov=yuva420p, ov_f=yuva420pf, v_f=yuv420pf, a=gray, ca=gray, ca_f=grayf32 p016 = align=2:2 ov=yuva420p, ov_f=yuva420pf, v_f=yuv420pf, a=gray, ca=gray, ca_f=grayf32 p016be = align=2:2 ov=yuva420p, ov_f=yuva420pf, v_f=yuv420pf, a=gray, ca=gray, ca_f=grayf32 p210 = align=2:1 ov=yuva422p, ov_f=yuva422pf, v_f=yuv422pf, a=gray, ca=gray, ca_f=grayf32 @@ -122,6 +124,12 @@ rgb8 = align=1:1 ov=unknown, ov_f=gbrap, v_f=gbrp, a=unknown, ca=unknown, rgba = align=1:1 ov=unknown, ov_f=gbrap, v_f=gbrap, a=unknown, ca=unknown, ca_f=unknown rgba64 = align=1:1 ov=unknown, ov_f=gbrapf32, v_f=gbrapf32, a=unknown, ca=unknown, ca_f=unknown rgba64be = align=1:1 ov=unknown, ov_f=gbrapf32, v_f=gbrapf32, a=unknown, ca=unknown, ca_f=unknown +rgbaf16 = no +rgbaf16be = no +rgbaf32 = no +rgbaf32be = no +rgbf32 = no +rgbf32be = no uyvy422 = align=2:1 ov=yuva422p, ov_f=yuva422pf, v_f=yuv422pf, a=gray, ca=gray, ca_f=grayf32 uyyvyy411 = no vaapi = no @@ -129,15 +137,23 @@ vdpau = no vdpau_output= no videotoolbox= no vulkan = no +vuya = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuva444pf, a=unknown, ca=unknown, ca_f=unknown +vuyx = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuv444pf, a=unknown, ca=unknown, ca_f=unknown x2bgr10 = align=1:1 ov=unknown, ov_f=gbrapf32, v_f=gbrpf32, a=unknown, ca=unknown, ca_f=unknown x2bgr10be = align=1:1 ov=unknown, ov_f=gbrapf32, v_f=gbrpf32, a=unknown, ca=unknown, ca_f=unknown x2rgb10be = align=1:1 ov=unknown, ov_f=gbrapf32, v_f=gbrpf32, a=unknown, ca=unknown, ca_f=unknown +xv30 = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuv444pf, a=unknown, ca=unknown, ca_f=unknown +xv30be = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuv444pf, a=unknown, ca=unknown, ca_f=unknown +xv36 = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuv444pf, a=unknown, ca=unknown, ca_f=unknown +xv36be = align=1:1 ov=yuva444p, ov_f=yuva444pf, v_f=yuv444pf, a=unknown, ca=unknown, ca_f=unknown xvmc = no xyz12 = align=1:1 ov=gbrap , ov_f=gbrapf32, v_f=gbrpf32, a=unknown, ca=unknown, ca_f=unknown xyz12be = align=1:1 ov=gbrap , ov_f=gbrapf32, v_f=gbrpf32, a=unknown, ca=unknown, ca_f=unknown y1 = no y210 = align=2:1 ov=yuva422p, ov_f=yuva422pf, v_f=yuv422pf, a=gray, ca=gray, ca_f=grayf32 y210be = align=2:1 ov=yuva422p, ov_f=yuva422pf, v_f=yuv422pf, a=gray, ca=gray, ca_f=grayf32 +y212 = align=2:1 ov=yuva422p, ov_f=yuva422pf, v_f=yuv422pf, a=gray, ca=gray, ca_f=grayf32 +y212be = align=2:1 ov=yuva422p, ov_f=yuva422pf, v_f=yuv422pf, a=gray, ca=gray, ca_f=grayf32 ya16 = align=1:1 ov=yap8 , ov_f=grayaf32, v_f=grayaf32, a=unknown, ca=unknown, ca_f=unknown ya16be = align=1:1 ov=yap8 , ov_f=grayaf32, v_f=grayaf32, a=unknown, ca=unknown, ca_f=unknown ya8 = align=1:1 ov=yap8 , ov_f=grayaf32, v_f=grayaf32, a=unknown, ca=unknown, ca_f=unknown diff --git a/test/ref/img_formats.txt b/test/ref/img_formats.txt index aac7346558005..74fb00dcacfa3 100644 --- a/test/ref/img_formats.txt +++ b/test/ref/img_formats.txt @@ -989,6 +989,29 @@ p010be: [GENERIC] ctype=uint 0: p=0 st=2 o=0 sh=6 d=10 1: p=1 st=4 o=0 sh=6 d=10 2: p=1 st=4 o=2 sh=6 d=10 +p012: [GENERIC] ctype=uint + Basic desc: [ba][bb][nv][yuv][le][uint] + planes=2, chroma=1:1 align=2:2 + {16/[0:0] 32/[1:1] } + 0: 16bits {0:16/4} {} {} {} + 1: 32bits {} {0:16/4} {16:16/4} {} + Regular: planes=2 compbytes=2 bitpad=4 chroma=2x2 ctype=uint + 0: {1} + 1: {2, 3} + AVD: name=p012le chroma=1:1 flags=0x10 [planar] + 0: p=0 st=2 o=0 sh=4 d=12 + 1: p=1 st=4 o=0 sh=4 d=12 + 2: p=1 st=4 o=2 sh=4 d=12 +p012be: [GENERIC] ctype=uint + Basic desc: [ba][bb][nv][yuv][be][uint] + planes=2, chroma=1:1 align=2:2 + {16/[0:0] 32/[1:1] } + 0: 16bits endian_bytes=2 {0:16/4} {} {} {} + 1: 32bits endian_bytes=2 {} {0:16/4} {16:16/4} {} + AVD: name=p012be chroma=1:1 flags=0x11 [be][planar] + 0: p=0 st=2 o=0 sh=4 d=12 + 1: p=1 st=4 o=0 sh=4 d=12 + 2: p=1 st=4 o=2 sh=4 d=12 p016: [GENERIC] ctype=uint Basic desc: [ba][bb][nv][yuv][le][uint] planes=2, chroma=1:1 align=2:2 @@ -1282,6 +1305,68 @@ rgba64be: [GENERIC] fcsp=rgb ctype=uint 1: p=0 st=8 o=2 sh=0 d=16 2: p=0 st=8 o=4 sh=0 d=16 3: p=0 st=8 o=6 sh=0 d=16 +rgbaf16: [GENERIC] fcsp=rgb ctype=float + Basic desc: [ba][bb][a][rgb][le][float] + planes=1, chroma=0:0 align=1:1 + {64/[0:0] } + 0: 64bits {0:16} {16:16} {32:16} {48:16} + Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=float + 0: {1, 2, 3, 4} + AVD: name=rgbaf16le chroma=0:0 flags=0x2a0 [rgb][alpha][float] + 0: p=0 st=8 o=0 sh=0 d=16 + 1: p=0 st=8 o=2 sh=0 d=16 + 2: p=0 st=8 o=4 sh=0 d=16 + 3: p=0 st=8 o=6 sh=0 d=16 +rgbaf16be: [GENERIC] fcsp=rgb ctype=float + Basic desc: [ba][bb][a][rgb][be][float] + planes=1, chroma=0:0 align=1:1 + {64/[0:0] } + 0: 64bits endian_bytes=2 {0:16} {16:16} {32:16} {48:16} + AVD: name=rgbaf16be chroma=0:0 flags=0x2a1 [be][rgb][alpha][float] + 0: p=0 st=8 o=0 sh=0 d=16 + 1: p=0 st=8 o=2 sh=0 d=16 + 2: p=0 st=8 o=4 sh=0 d=16 + 3: p=0 st=8 o=6 sh=0 d=16 +rgbaf32: [GENERIC] fcsp=rgb ctype=float + Basic desc: [ba][a][rgb][le][be][float] + planes=1, chroma=0:0 align=1:1 + {-128/[0:0] } + 0: -128bits {} {} {} {} + [NOALLOC] + AVD: name=rgbaf32le chroma=0:0 flags=0x2a0 [rgb][alpha][float] + 0: p=0 st=16 o=0 sh=0 d=32 + 1: p=0 st=16 o=4 sh=0 d=32 + 2: p=0 st=16 o=8 sh=0 d=32 + 3: p=0 st=16 o=12 sh=0 d=32 +rgbaf32be: [GENERIC] fcsp=rgb ctype=float + Basic desc: [ba][a][rgb][le][be][float] + planes=1, chroma=0:0 align=1:1 + {-128/[0:0] } + 0: -128bits endian_bytes=4 {} {} {} {} + [NOALLOC] + AVD: name=rgbaf32be chroma=0:0 flags=0x2a1 [be][rgb][alpha][float] + 0: p=0 st=16 o=0 sh=0 d=32 + 1: p=0 st=16 o=4 sh=0 d=32 + 2: p=0 st=16 o=8 sh=0 d=32 + 3: p=0 st=16 o=12 sh=0 d=32 +rgbf32: [GENERIC] fcsp=rgb ctype=float + Basic desc: [ba][rgb][le][be][float] + planes=1, chroma=0:0 align=1:1 + {96/[0:0] } + 0: 96bits {} {} {} {} + AVD: name=rgbf32le chroma=0:0 flags=0x220 [rgb][float] + 0: p=0 st=12 o=0 sh=0 d=32 + 1: p=0 st=12 o=4 sh=0 d=32 + 2: p=0 st=12 o=8 sh=0 d=32 +rgbf32be: [GENERIC] fcsp=rgb ctype=float + Basic desc: [ba][rgb][le][be][float] + planes=1, chroma=0:0 align=1:1 + {96/[0:0] } + 0: 96bits endian_bytes=4 {} {} {} {} + AVD: name=rgbf32be chroma=0:0 flags=0x221 [be][rgb][float] + 0: p=0 st=12 o=0 sh=0 d=32 + 1: p=0 st=12 o=4 sh=0 d=32 + 2: p=0 st=12 o=8 sh=0 d=32 uyvy422: ctype=uint Basic desc: [ba][yuv][le][be][uint] planes=1, chroma=1:0 align=2:1 @@ -1326,6 +1411,29 @@ vulkan: [GENERIC] ctype=unknown planes=0, chroma=0:0 align=1:1 {} AVD: name=vulkan chroma=0:0 flags=0x8 [hw] +vuya: [GENERIC] ctype=uint + Basic desc: [ba][bb][a][yuv][le][be][uint] + planes=1, chroma=0:0 align=1:1 + {32/[0:0] } + 0: 32bits {16:8} {8:8} {0:8} {24:8} + Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint + 0: {3, 2, 1, 4} + AVD: name=vuya chroma=0:0 flags=0x80 [alpha] + 0: p=0 st=4 o=2 sh=0 d=8 + 1: p=0 st=4 o=1 sh=0 d=8 + 2: p=0 st=4 o=0 sh=0 d=8 + 3: p=0 st=4 o=3 sh=0 d=8 +vuyx: [GENERIC] ctype=uint + Basic desc: [ba][bb][yuv][le][be][uint] + planes=1, chroma=0:0 align=1:1 + {32/[0:0] } + 0: 32bits {16:8} {8:8} {0:8} {} + Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint + 0: {3, 2, 1, 0} + AVD: name=vuyx chroma=0:0 flags=0x0 + 0: p=0 st=4 o=2 sh=0 d=8 + 1: p=0 st=4 o=1 sh=0 d=8 + 2: p=0 st=4 o=0 sh=0 d=8 x2bgr10: [GENERIC] fcsp=rgb ctype=uint Basic desc: [ba][rgb][le][uint] planes=1, chroma=0:0 align=1:1 @@ -1353,6 +1461,44 @@ x2rgb10be: [GENERIC] fcsp=rgb ctype=uint 0: p=0 st=4 o=0 sh=4 d=10 1: p=0 st=4 o=1 sh=2 d=10 2: p=0 st=4 o=2 sh=0 d=10 +xv30: [GENERIC] ctype=uint + Basic desc: [ba][yuv][le][uint] + planes=1, chroma=0:0 align=1:1 + {32/[0:0] } + 0: 32bits {10:10} {0:10} {20:10} {} + AVD: name=xv30le chroma=0:0 flags=0x0 + 0: p=0 st=4 o=1 sh=2 d=10 + 1: p=0 st=4 o=0 sh=0 d=10 + 2: p=0 st=4 o=2 sh=4 d=10 +xv30be: [GENERIC] ctype=unknown + Basic desc: [ba][yuv][le][be] + planes=1, chroma=0:0 align=1:1 + {32/[0:0] } + 0: 32bits endian_bytes=4 {} {} {} {} + AVD: name=xv30be chroma=0:0 flags=0x5 [be][bs] + 0: p=0 st=32 o=10 sh=0 d=10 + 1: p=0 st=32 o=0 sh=0 d=10 + 2: p=0 st=32 o=20 sh=0 d=10 +xv36: [GENERIC] ctype=uint + Basic desc: [ba][bb][yuv][le][uint] + planes=1, chroma=0:0 align=1:1 + {64/[0:0] } + 0: 64bits {16:16/4} {0:16/4} {32:16/4} {} + Regular: planes=1 compbytes=2 bitpad=4 chroma=1x1 ctype=uint + 0: {2, 1, 3, 0} + AVD: name=xv36le chroma=0:0 flags=0x0 + 0: p=0 st=8 o=2 sh=4 d=12 + 1: p=0 st=8 o=0 sh=4 d=12 + 2: p=0 st=8 o=4 sh=4 d=12 +xv36be: [GENERIC] ctype=uint + Basic desc: [ba][bb][yuv][be][uint] + planes=1, chroma=0:0 align=1:1 + {64/[0:0] } + 0: 64bits endian_bytes=2 {16:16/4} {0:16/4} {32:16/4} {} + AVD: name=xv36be chroma=0:0 flags=0x1 [be] + 0: p=0 st=8 o=2 sh=4 d=12 + 1: p=0 st=8 o=0 sh=4 d=12 + 2: p=0 st=8 o=4 sh=4 d=12 xvmc: [GENERIC] ctype=unknown Basic desc: [le][be][hw] planes=0, chroma=0:0 align=1:1 @@ -1405,6 +1551,26 @@ y210be: [GENERIC] ctype=uint 0: p=0 st=4 o=0 sh=6 d=10 1: p=0 st=8 o=2 sh=6 d=10 2: p=0 st=8 o=6 sh=6 d=10 +y212: [GENERIC] ctype=uint + Basic desc: [ba][yuv][le][uint] + planes=1, chroma=1:0 align=2:1 + {32/[0:0] } + 0: 32bits {0:16/4} {16:16/4} {48:16/4} {} + luma_offsets=[ 0 32] + AVD: name=y212le chroma=1:0 flags=0x0 + 0: p=0 st=4 o=0 sh=4 d=12 + 1: p=0 st=8 o=2 sh=4 d=12 + 2: p=0 st=8 o=6 sh=4 d=12 +y212be: [GENERIC] ctype=uint + Basic desc: [ba][yuv][be][uint] + planes=1, chroma=1:0 align=2:1 + {32/[0:0] } + 0: 32bits endian_bytes=2 {0:16/4} {16:16/4} {48:16/4} {} + luma_offsets=[ 0 32] + AVD: name=y212be chroma=1:0 flags=0x1 [be] + 0: p=0 st=4 o=0 sh=4 d=12 + 1: p=0 st=8 o=2 sh=4 d=12 + 2: p=0 st=8 o=6 sh=4 d=12 ya16: [GENERIC] ctype=uint Basic desc: [ba][bb][a][yuv][gray][le][uint] planes=1, chroma=0:0 align=1:1 diff --git a/test/ref/repack.txt b/test/ref/repack.txt index c64eaf6b32a93..d1ecdae90bd16 100644 --- a/test/ref/repack.txt +++ b/test/ref/repack.txt @@ -146,6 +146,10 @@ p010 => [pa] [un] yuv420p16 | a=2:2 p010 => [pa] [un] yuv420pf | a=2:2 [planar-f32] p010be => [pa] [un] yuv420p16 | a=2:2 p010be => [pa] [un] yuv420pf | a=2:2 [planar-f32] +p012 => [pa] [un] yuv420p16 | a=2:2 +p012 => [pa] [un] yuv420pf | a=2:2 [planar-f32] +p012be => [pa] [un] yuv420p16 | a=2:2 +p012be => [pa] [un] yuv420pf | a=2:2 [planar-f32] p016 => [pa] [un] yuv420p16 | a=2:2 p016 => [pa] [un] yuv420pf | a=2:2 [planar-f32] p016be => [pa] [un] yuv420p16 | a=2:2 @@ -214,6 +218,12 @@ rgba64 => [pa] [un] gbrap16 | a=1:1 [tu] [tp] rgba64 => [pa] [un] gbrapf32 | a=1:1 [planar-f32] rgba64be => [pa] [un] gbrap16 | a=1:1 [tu] [tp] rgba64be => [pa] [un] gbrapf32 | a=1:1 [planar-f32] +rgbaf16 => no +rgbaf16be => no +rgbaf32 => no +rgbaf32be => no +rgbf32 => no +rgbf32be => no uyvy422 => [pa] [un] yuv422p | a=2:1 [tu] [tp] uyvy422 => [pa] [un] yuv422pf | a=2:1 [planar-f32] uyyvyy411 => [pa] [un] yuv411p | a=4:1 [tu] [tp] @@ -223,12 +233,24 @@ vdpau => no vdpau_output => no videotoolbox => no vulkan => no +vuya => [pa] [un] yuva444p | a=1:1 +vuya => [pa] [un] yuva444pf | a=1:1 [planar-f32] +vuyx => [pa] [un] yuv444p | a=1:1 +vuyx => [pa] [un] yuv444pf | a=1:1 [planar-f32] x2bgr10 => [pa] [un] gbrp10 | a=1:1 x2bgr10 => [pa] [un] gbrpf32 | a=1:1 [planar-f32] x2bgr10be => [pa] [un] gbrp10 | a=1:1 x2bgr10be => [pa] [un] gbrpf32 | a=1:1 [planar-f32] x2rgb10be => [pa] [un] gbrp10 | a=1:1 [tu] [tp] x2rgb10be => [pa] [un] gbrpf32 | a=1:1 [planar-f32] +xv30 => [pa] [un] yuv444p10 | a=1:1 +xv30 => [pa] [un] yuv444pf | a=1:1 [planar-f32] +xv30be => [pa] [un] yuv444p10 | a=1:1 +xv30be => [pa] [un] yuv444pf | a=1:1 [planar-f32] +xv36 => [pa] [un] yuv444p16 | a=1:1 +xv36 => [pa] [un] yuv444pf | a=1:1 [planar-f32] +xv36be => [pa] [un] yuv444p16 | a=1:1 +xv36be => [pa] [un] yuv444pf | a=1:1 [planar-f32] xvmc => no xyz12 => [pa] [un] gbrp16 | a=1:1 [tu] [tp] xyz12 => [pa] [un] gbrpf32 | a=1:1 [planar-f32] @@ -238,6 +260,10 @@ y210 => [pa] [un] yuv422p16 | a=2:1 [tu] [tp] y210 => [pa] [un] yuv422pf | a=2:1 [planar-f32] y210be => [pa] [un] yuv422p16 | a=2:1 [tu] [tp] y210be => [pa] [un] yuv422pf | a=2:1 [planar-f32] +y212 => [pa] [un] yuv422p16 | a=2:1 +y212 => [pa] [un] yuv422pf | a=2:1 [planar-f32] +y212be => [pa] [un] yuv422p16 | a=2:1 +y212be => [pa] [un] yuv422pf | a=2:1 [planar-f32] ya16 => [pa] [un] yap16 | a=1:1 [tu] [tp] ya16 => [pa] [un] grayaf32 | a=1:1 [planar-f32] ya16be => [pa] [un] yap16 | a=1:1 diff --git a/test/ref/zimg_formats.txt b/test/ref/zimg_formats.txt index 1c842409760fc..194e36de21383 100644 --- a/test/ref/zimg_formats.txt +++ b/test/ref/zimg_formats.txt @@ -84,7 +84,7 @@ monob Zin Zout SWSin SWSout | monow Zin Zout SWSin SWSout | nv12 Zin Zout SWSin SWSout | - nv16 Zin Zout | + nv16 Zin Zout SWSin SWSout | nv20 Zin Zout | nv20be Zin Zout | nv21 Zin Zout SWSin SWSout | @@ -93,6 +93,8 @@ opencl | p010 Zin Zout SWSin SWSout | p010be Zin Zout SWSin SWSout | + p012 Zin Zout SWSin SWSout | + p012be Zin Zout SWSin SWSout | p016 Zin Zout SWSin SWSout | p016be Zin Zout SWSin SWSout | p210 Zin Zout SWSin SWSout | @@ -122,6 +124,12 @@ rgba Zin Zout SWSin SWSout | rgba64 Zin Zout SWSin SWSout | rgba64be Zin Zout SWSin SWSout | + rgbaf16 SWSin | + rgbaf16be SWSin | + rgbaf32 | + rgbaf32be | + rgbf32 | + rgbf32be | uyvy422 Zin Zout SWSin SWSout | uyyvyy411 Zin Zout | vaapi | @@ -129,15 +137,23 @@ vdpau_output | videotoolbox | vulkan | + vuya Zin Zout SWSin SWSout | + vuyx Zin Zout SWSin SWSout | x2bgr10 Zin Zout SWSin SWSout | x2bgr10be Zin Zout | x2rgb10be Zin Zout | + xv30 Zin Zout SWSin SWSout | + xv30be Zin Zout | + xv36 Zin Zout SWSin SWSout | + xv36be Zin Zout | xvmc | xyz12 Zin Zout SWSin SWSout | xyz12be Zin Zout SWSin SWSout | y1 Zin Zout | - y210 Zin Zout SWSin | + y210 Zin Zout SWSin SWSout | y210be Zin Zout | + y212 Zin Zout SWSin SWSout | + y212be Zin Zout | ya16 Zin Zout SWSin SWSout | ya16be Zin Zout SWSin SWSout | ya8 Zin Zout SWSin SWSout |