1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

swscale/arm: re-enable neon rgbx to nv12 routines

Commit '842b8f4ba2e79b9c004a67f6fdb3d5c5d05805d3' fixed clang/iphone
build but failed on some versions of cygwin. It has now been verified
to work on both platforms.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Xiaolei Yu 2016-02-22 19:50:13 +08:00 committed by Michael Niedermayer
parent 1ec7a70380
commit 5a91589476
2 changed files with 2 additions and 6 deletions

View File

@ -1,5 +1,5 @@
OBJS += arm/swscale_unscaled.o OBJS += arm/swscale_unscaled.o
# NEON-OBJS += arm/rgb2yuv_neon_32.o NEON-OBJS += arm/rgb2yuv_neon_32.o
# NEON-OBJS += arm/rgb2yuv_neon_16.o NEON-OBJS += arm/rgb2yuv_neon_16.o
NEON-OBJS += arm/yuv2rgb_neon.o NEON-OBJS += arm/yuv2rgb_neon.o

View File

@ -23,7 +23,6 @@
#include "libswscale/swscale_internal.h" #include "libswscale/swscale_internal.h"
#include "libavutil/arm/cpu.h" #include "libavutil/arm/cpu.h"
#if 0
extern void rgbx_to_nv12_neon_32(const uint8_t *src, uint8_t *y, uint8_t *chroma, extern void rgbx_to_nv12_neon_32(const uint8_t *src, uint8_t *y, uint8_t *chroma,
int width, int height, int width, int height,
int y_stride, int c_stride, int src_stride, int y_stride, int c_stride, int src_stride,
@ -61,7 +60,6 @@ static int rgbx_to_nv12_neon_16_wrapper(SwsContext *context, const uint8_t *src[
return 0; return 0;
} }
#endif
#define YUV_TO_RGB_TABLE(precision) \ #define YUV_TO_RGB_TABLE(precision) \
c->yuv2rgb_v2r_coeff / ((precision) == 16 ? 1 << 7 : 1), \ c->yuv2rgb_v2r_coeff / ((precision) == 16 ? 1 << 7 : 1), \
@ -167,14 +165,12 @@ DECLARE_FF_NVX_TO_ALL_RGBX_ALL_PRECISION_FUNCS(nv21)
static void get_unscaled_swscale_neon(SwsContext *c) { static void get_unscaled_swscale_neon(SwsContext *c) {
int accurate_rnd = c->flags & SWS_ACCURATE_RND; int accurate_rnd = c->flags & SWS_ACCURATE_RND;
#if 0
if (c->srcFormat == AV_PIX_FMT_RGBA if (c->srcFormat == AV_PIX_FMT_RGBA
&& c->dstFormat == AV_PIX_FMT_NV12 && c->dstFormat == AV_PIX_FMT_NV12
&& (c->srcW >= 16)) { && (c->srcW >= 16)) {
c->swscale = accurate_rnd ? rgbx_to_nv12_neon_32_wrapper c->swscale = accurate_rnd ? rgbx_to_nv12_neon_32_wrapper
: rgbx_to_nv12_neon_16_wrapper; : rgbx_to_nv12_neon_16_wrapper;
} }
#endif
SET_FF_NVX_TO_ALL_RGBX_FUNC(nv12, NV12, accurate_rnd); SET_FF_NVX_TO_ALL_RGBX_FUNC(nv12, NV12, accurate_rnd);
SET_FF_NVX_TO_ALL_RGBX_FUNC(nv21, NV21, accurate_rnd); SET_FF_NVX_TO_ALL_RGBX_FUNC(nv21, NV21, accurate_rnd);