swscale: Add support for NV24 and NV42

Multimedia / FFmpeg - Philip Langdale [overt.org] - 12 May 2019 14:51 EDT

The implementation is pretty straight-forward. Most of the existing NV12 codepaths work regardless of subsampling and are re-used as is. Where necessary I wrote the slightly different NV24 versions.

Finally, the one thing that confused me for a long time was the asm specific x86 path that did an explicit exclusion check for NV12. I replaced that with a semi-planar check and also updated the equivalent PPC code, which Lauri kindly checked.

cd48318035 swscale: Add support for NV24 and NV42
libswscale/input.c | 2 ++
libswscale/output.c | 6 ++--
libswscale/ppc/swscale_altivec.c | 3 +-
libswscale/ppc/swscale_vsx.c | 3 +-
libswscale/swscale_unscaled.c | 51 ++++++++++++++++++++++++++++++++
libswscale/utils.c | 2 ++
libswscale/version.h | 2 +-
libswscale/x86/swscale_template.c | 4 +--
tests/ref/fate/filter-pixfmts-copy | 2 ++
tests/ref/fate/filter-pixfmts-crop | 2 ++
tests/ref/fate/filter-pixfmts-field | 2 ++
tests/ref/fate/filter-pixfmts-fieldorder | 2 ++
tests/ref/fate/filter-pixfmts-hflip | 2 ++
tests/ref/fate/filter-pixfmts-il | 2 ++
tests/ref/fate/filter-pixfmts-null | 2 ++
tests/ref/fate/filter-pixfmts-pad | 2 ++
tests/ref/fate/filter-pixfmts-scale | 2 ++
tests/ref/fate/filter-pixfmts-transpose | 2 ++
tests/ref/fate/filter-pixfmts-vflip | 2 ++
tests/ref/fate/sws-pixdesc-query | 6 ++++
20 files changed, 92 insertions(+), 9 deletions(-)

  • Share