mbox series

[FFmpeg-devel,v2,0/5] swscale/yuv2rgb: add yuv42{0, 2}p -> gbrp unscaled colorspace converters

Message ID 20240806105106.59866-1-ramiro.polla@gmail.com
Headers show
Series swscale/yuv2rgb: add yuv42{0, 2}p -> gbrp unscaled colorspace converters | expand

Message

Ramiro Polla Aug. 6, 2024, 10:51 a.m. UTC
Changes from v1:
- multi-planar rgb for YUV2RGBFUNC no longer uses an array in the stack,
  since that gave an overall 1% slowdown because some variables would no
  longer be stored in registers.

Ramiro Polla (5):
  swscale/yuv2rgb: prepare LOADCHROMA/PUTFUNC macros for multi-planar
    rgb
  swscale/yuv2rgb: prepare YUV2RGBFUNC macro for multi-planar rgb
  swscale/yuv2rgb: add yuv42{0,2}p -> gbrp unscaled colorspace
    converters
  swscale/x86/yuv2rgb: add ssse3 yuv42{0,2}p -> gbrp unscaled colorspace
    converters
  swscale/aarch64/yuv2rgb: add neon yuv42{0,2}p -> gbrp unscaled
    colorspace converters

 libswscale/aarch64/swscale_unscaled.c |  58 +++
 libswscale/aarch64/yuv2rgb_neon.S     |  73 +++-
 libswscale/x86/yuv2rgb.c              |  39 ++
 libswscale/x86/yuv_2_rgb.asm          |  24 +-
 libswscale/yuv2rgb.c                  | 513 ++++++++++++++------------
 tests/checkasm/sw_yuv2rgb.c           |  60 ++-
 6 files changed, 495 insertions(+), 272 deletions(-)

Comments

Ramiro Polla Aug. 15, 2024, 2:32 p.m. UTC | #1
On Tue, Aug 6, 2024 at 12:51 PM Ramiro Polla <ramiro.polla@gmail.com> wrote:
>
> Changes from v1:
> - multi-planar rgb for YUV2RGBFUNC no longer uses an array in the stack,
>   since that gave an overall 1% slowdown because some variables would no
>   longer be stored in registers.
>
> Ramiro Polla (5):
>   swscale/yuv2rgb: prepare LOADCHROMA/PUTFUNC macros for multi-planar
>     rgb
>   swscale/yuv2rgb: prepare YUV2RGBFUNC macro for multi-planar rgb
>   swscale/yuv2rgb: add yuv42{0,2}p -> gbrp unscaled colorspace
>     converters
>   swscale/x86/yuv2rgb: add ssse3 yuv42{0,2}p -> gbrp unscaled colorspace
>     converters
>   swscale/aarch64/yuv2rgb: add neon yuv42{0,2}p -> gbrp unscaled
>     colorspace converters
>
>  libswscale/aarch64/swscale_unscaled.c |  58 +++
>  libswscale/aarch64/yuv2rgb_neon.S     |  73 +++-
>  libswscale/x86/yuv2rgb.c              |  39 ++
>  libswscale/x86/yuv_2_rgb.asm          |  24 +-
>  libswscale/yuv2rgb.c                  | 513 ++++++++++++++------------
>  tests/checkasm/sw_yuv2rgb.c           |  60 ++-
>  6 files changed, 495 insertions(+), 272 deletions(-)
>
> --
> 2.30.2
>

I'll apply this patchset in a few days if there are no further comments.