diff options
author | Niklas Haas <git@haasn.dev> | 2024-10-10 12:16:44 +0200 |
---|---|---|
committer | Niklas Haas <git@haasn.dev> | 2024-11-21 12:49:56 +0100 |
commit | 2d077f9acda4946b3455ded5778fb3fc7e85bba2 (patch) | |
tree | 44ab5d5889e65b4067fbe54f4e7966a31f4c9f13 /libswscale/x86 | |
parent | 10d1be262126f1699a89b54cf5f23a5370c57cb5 (diff) | |
download | ffmpeg-2d077f9acda4946b3455ded5778fb3fc7e85bba2.tar.gz |
swscale/internal: group user-facing options together
This is a preliminary step to separating these into a new struct. This
commit contains no functional changes, it is a pure search-and-replace.
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
Diffstat (limited to 'libswscale/x86')
-rw-r--r-- | libswscale/x86/output.asm | 2 | ||||
-rw-r--r-- | libswscale/x86/swscale.c | 60 | ||||
-rw-r--r-- | libswscale/x86/swscale_template.c | 20 | ||||
-rw-r--r-- | libswscale/x86/yuv2rgb.c | 14 |
4 files changed, 48 insertions, 48 deletions
diff --git a/libswscale/x86/output.asm b/libswscale/x86/output.asm index 0f854e521d..dec1d27f9a 100644 --- a/libswscale/x86/output.asm +++ b/libswscale/x86/output.asm @@ -582,7 +582,7 @@ yuv2nv12cX_fn yuv2nv21 %if ARCH_X86_64 struc SwsInternal - .padding: resb 40292 ; offsetof(SwsInternal, yuv2rgb_y_offset) + .padding: resb 40316 ; offsetof(SwsInternal, yuv2rgb_y_offset) .yuv2rgb_y_offset: resd 1 .yuv2rgb_y_coeff: resd 1 .yuv2rgb_v2r_coeff: resd 1 diff --git a/libswscale/x86/swscale.c b/libswscale/x86/swscale.c index 40bfe4a2f6..3e1f9f371f 100644 --- a/libswscale/x86/swscale.c +++ b/libswscale/x86/swscale.c @@ -63,8 +63,8 @@ DECLARE_ASM_ALIGNED(8, const uint64_t, ff_w1111) = 0x0001000100010001ULL; void ff_updateMMXDitherTables(SwsInternal *c, int dstY) { - const int dstH= c->dstH; - const int flags= c->flags; + const int dstH= c->opts.dst_h; + const int flags= c->opts.flags; SwsPlane *lumPlane = &c->slice[c->numSlice-2].plane[0]; SwsPlane *chrUPlane = &c->slice[c->numSlice-2].plane[1]; @@ -85,7 +85,7 @@ void ff_updateMMXDitherTables(SwsInternal *c, int dstY) const int firstChrSrcY= vChrFilterPos[chrDstY]; //First line needed as input c->blueDither= ff_dither8[dstY&1]; - if (c->dstFormat == AV_PIX_FMT_RGB555 || c->dstFormat == AV_PIX_FMT_BGR555) + if (c->opts.dst_format == AV_PIX_FMT_RGB555 || c->opts.dst_format == AV_PIX_FMT_BGR555) c->greenDither= ff_dither8[dstY&1]; else c->greenDither= ff_dither4[dstY&1]; @@ -96,10 +96,10 @@ void ff_updateMMXDitherTables(SwsInternal *c, int dstY) const int16_t **alpSrcPtr = (CONFIG_SWSCALE_ALPHA && hasAlpha) ? (const int16_t **)(void*) alpPlane->line + firstLumSrcY - alpPlane->sliceY : NULL; int i; - if (firstLumSrcY < 0 || firstLumSrcY + vLumFilterSize > c->srcH) { + if (firstLumSrcY < 0 || firstLumSrcY + vLumFilterSize > c->opts.src_h) { const int16_t **tmpY = (const int16_t **) lumPlane->tmp; - int neg = -firstLumSrcY, i, end = FFMIN(c->srcH - firstLumSrcY, vLumFilterSize); + int neg = -firstLumSrcY, i, end = FFMIN(c->opts.src_h - firstLumSrcY, vLumFilterSize); for (i = 0; i < neg; i++) tmpY[i] = lumSrcPtr[neg]; for ( ; i < end; i++) @@ -453,7 +453,7 @@ INPUT_PLANAR_RGB_A_ALL_DECL(avx2); #define RANGE_CONVERT_FUNCS(opt) do { \ if (c->dstBpc <= 14) { \ - if (c->srcRange) { \ + if (c->opts.src_range) { \ c->lumConvertRange = ff_lumRangeFromJpeg_ ##opt; \ c->chrConvertRange = ff_chrRangeFromJpeg_ ##opt; \ } else { \ @@ -490,7 +490,7 @@ av_cold void ff_sws_init_swscale_x86(SwsInternal *c) if (INLINE_MMXEXT(cpu_flags)) sws_init_swscale_mmxext(c); #endif - if(c->use_mmx_vfilter && !(c->flags & SWS_ACCURATE_RND)) { + if(c->use_mmx_vfilter && !(c->opts.flags & SWS_ACCURATE_RND)) { #if HAVE_MMXEXT_EXTERNAL if (EXTERNAL_MMXEXT(cpu_flags)) c->yuv2planeX = yuv2yuvX_mmxext; @@ -526,7 +526,7 @@ av_cold void ff_sws_init_swscale_x86(SwsInternal *c) } else if (c->srcBpc == 12) { \ hscalefn = c->dstBpc <= 14 ? ff_hscale12to15_ ## filtersize ## _ ## opt2 : \ ff_hscale12to19_ ## filtersize ## _ ## opt1; \ - } else if (c->srcBpc == 14 || ((c->srcFormat==AV_PIX_FMT_PAL8||isAnyRGB(c->srcFormat)) && av_pix_fmt_desc_get(c->srcFormat)->comp[0].depth<16)) { \ + } else if (c->srcBpc == 14 || ((c->opts.src_format==AV_PIX_FMT_PAL8||isAnyRGB(c->opts.src_format)) && av_pix_fmt_desc_get(c->opts.src_format)->comp[0].depth<16)) { \ hscalefn = c->dstBpc <= 14 ? ff_hscale14to15_ ## filtersize ## _ ## opt2 : \ ff_hscale14to19_ ## filtersize ## _ ## opt1; \ } else { /* c->srcBpc == 16 */ \ @@ -538,15 +538,15 @@ av_cold void ff_sws_init_swscale_x86(SwsInternal *c) #define ASSIGN_VSCALEX_FUNC(vscalefn, opt, do_16_case, condition_8bit) \ switch(c->dstBpc){ \ case 16: do_16_case; break; \ - case 10: if (!isBE(c->dstFormat) && !isSemiPlanarYUV(c->dstFormat)) vscalefn = ff_yuv2planeX_10_ ## opt; break; \ - case 9: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_9_ ## opt; break; \ + case 10: if (!isBE(c->opts.dst_format) && !isSemiPlanarYUV(c->opts.dst_format)) vscalefn = ff_yuv2planeX_10_ ## opt; break; \ + case 9: if (!isBE(c->opts.dst_format)) vscalefn = ff_yuv2planeX_9_ ## opt; break; \ case 8: if ((condition_8bit) && !c->use_mmx_vfilter) vscalefn = ff_yuv2planeX_8_ ## opt; break; \ } #define ASSIGN_VSCALE_FUNC(vscalefn, opt) \ switch(c->dstBpc){ \ - case 16: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2plane1_16_ ## opt; break; \ - case 10: if (!isBE(c->dstFormat) && !isSemiPlanarYUV(c->dstFormat)) vscalefn = ff_yuv2plane1_10_ ## opt; break; \ - case 9: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2plane1_9_ ## opt; break; \ + case 16: if (!isBE(c->opts.dst_format)) vscalefn = ff_yuv2plane1_16_ ## opt; break; \ + case 10: if (!isBE(c->opts.dst_format) && !isSemiPlanarYUV(c->opts.dst_format)) vscalefn = ff_yuv2plane1_10_ ## opt; break; \ + case 9: if (!isBE(c->opts.dst_format)) vscalefn = ff_yuv2plane1_9_ ## opt; break; \ case 8: vscalefn = ff_yuv2plane1_8_ ## opt; break; \ default: av_assert0(c->dstBpc>8); \ } @@ -569,10 +569,10 @@ switch(c->dstBpc){ \ ASSIGN_SSE_SCALE_FUNC(c->hcScale, c->hChrFilterSize, sse2, sse2); ASSIGN_VSCALEX_FUNC(c->yuv2planeX, sse2, , HAVE_ALIGNED_STACK || ARCH_X86_64); - if (!(c->flags & SWS_ACCURATE_RND)) + if (!(c->opts.flags & SWS_ACCURATE_RND)) ASSIGN_VSCALE_FUNC(c->yuv2plane1, sse2); - switch (c->srcFormat) { + switch (c->opts.src_format) { case AV_PIX_FMT_YA8: c->lumToYV12 = ff_yuyvToY_sse2; if (c->needAlpha) @@ -605,7 +605,7 @@ switch(c->dstBpc){ \ if (EXTERNAL_SSSE3(cpu_flags)) { ASSIGN_SSE_SCALE_FUNC(c->hyScale, c->hLumFilterSize, ssse3, ssse3); ASSIGN_SSE_SCALE_FUNC(c->hcScale, c->hChrFilterSize, ssse3, ssse3); - switch (c->srcFormat) { + switch (c->opts.src_format) { case_rgb(rgb24, RGB24, ssse3); case_rgb(bgr24, BGR24, ssse3); default: @@ -617,19 +617,19 @@ switch(c->dstBpc){ \ ASSIGN_SSE_SCALE_FUNC(c->hyScale, c->hLumFilterSize, sse4, ssse3); ASSIGN_SSE_SCALE_FUNC(c->hcScale, c->hChrFilterSize, sse4, ssse3); ASSIGN_VSCALEX_FUNC(c->yuv2planeX, sse4, - if (!isBE(c->dstFormat)) c->yuv2planeX = ff_yuv2planeX_16_sse4, + if (!isBE(c->opts.dst_format)) c->yuv2planeX = ff_yuv2planeX_16_sse4, HAVE_ALIGNED_STACK || ARCH_X86_64); - if (c->dstBpc == 16 && !isBE(c->dstFormat) && !(c->flags & SWS_ACCURATE_RND)) + if (c->dstBpc == 16 && !isBE(c->opts.dst_format) && !(c->opts.flags & SWS_ACCURATE_RND)) c->yuv2plane1 = ff_yuv2plane1_16_sse4; } if (EXTERNAL_AVX(cpu_flags)) { ASSIGN_VSCALEX_FUNC(c->yuv2planeX, avx, , HAVE_ALIGNED_STACK || ARCH_X86_64); - if (!(c->flags & SWS_ACCURATE_RND)) + if (!(c->opts.flags & SWS_ACCURATE_RND)) ASSIGN_VSCALE_FUNC(c->yuv2plane1, avx); - switch (c->srcFormat) { + switch (c->opts.src_format) { case AV_PIX_FMT_YUYV422: c->chrToYV12 = ff_yuyvToUV_avx; break; @@ -670,7 +670,7 @@ switch(c->dstBpc){ \ if (EXTERNAL_AVX2_FAST(cpu_flags)) { if (ARCH_X86_64) - switch (c->srcFormat) { + switch (c->opts.src_format) { case_rgb(rgb24, RGB24, avx2); case_rgb(bgr24, BGR24, avx2); case_rgb(bgra, BGRA, avx2); @@ -678,8 +678,8 @@ switch(c->dstBpc){ \ case_rgb(abgr, ABGR, avx2); case_rgb(argb, ARGB, avx2); } - if (!(c->flags & SWS_ACCURATE_RND)) // FIXME - switch (c->dstFormat) { + if (!(c->opts.flags & SWS_ACCURATE_RND)) // FIXME + switch (c->opts.dst_format) { case AV_PIX_FMT_NV12: case AV_PIX_FMT_NV24: c->yuv2nv12cX = ff_yuv2nv12cX_avx2; @@ -752,7 +752,7 @@ switch(c->dstBpc){ \ if (EXTERNAL_SSE2(cpu_flags)) { - switch (c->srcFormat) { + switch (c->opts.src_format) { INPUT_PLANER_RGB_A_FUNC_CASE_NOBREAK(AV_PIX_FMT_GBRAP, rgb, sse2); INPUT_PLANER_RGB_UV_FUNC_CASE( AV_PIX_FMT_GBRP, rgb, sse2); INPUT_PLANER_RGBXX_UV_FUNC_CASE( AV_PIX_FMT_GBRP9, rgb9, sse2); @@ -767,7 +767,7 @@ switch(c->dstBpc){ \ } if (EXTERNAL_SSE4(cpu_flags)) { - switch (c->srcFormat) { + switch (c->opts.src_format) { case AV_PIX_FMT_GBRAP: INPUT_PLANER_RGB_YUV_FUNC_CASE( AV_PIX_FMT_GBRP, rgb, sse4); INPUT_PLANER_RGBXX_YUV_FUNC_CASE( AV_PIX_FMT_GBRP9, rgb9, sse4); @@ -782,14 +782,14 @@ switch(c->dstBpc){ \ } if (EXTERNAL_AVX2_FAST(cpu_flags)) { - switch (c->srcFormat) { + switch (c->opts.src_format) { INPUT_PLANER_RGB_YUVA_ALL_CASES(avx2) default: break; } } - if(c->flags & SWS_FULL_CHR_H_INT) { + if(c->opts.flags & SWS_FULL_CHR_H_INT) { #define YUV2ANYX_FUNC_CASE(fmt, name, opt) \ case fmt: \ @@ -821,7 +821,7 @@ switch(c->dstBpc){ \ YUV2ANYX_FUNC_CASE(AV_PIX_FMT_GBRAPF32BE, gbrapf32be, opt) if (EXTERNAL_SSE2(cpu_flags)) { - switch (c->dstFormat) { + switch (c->opts.dst_format) { YUV2ANYX_GBRAP_CASES(sse2) default: break; @@ -829,7 +829,7 @@ switch(c->dstBpc){ \ } if (EXTERNAL_SSE4(cpu_flags)) { - switch (c->dstFormat) { + switch (c->opts.dst_format) { YUV2ANYX_GBRAP_CASES(sse4) default: break; @@ -837,7 +837,7 @@ switch(c->dstBpc){ \ } if (EXTERNAL_AVX2_FAST(cpu_flags)) { - switch (c->dstFormat) { + switch (c->opts.dst_format) { YUV2ANYX_GBRAP_CASES(avx2) default: break; diff --git a/libswscale/x86/swscale_template.c b/libswscale/x86/swscale_template.c index cffafccb24..e09310ab91 100644 --- a/libswscale/x86/swscale_template.c +++ b/libswscale/x86/swscale_template.c @@ -1384,15 +1384,15 @@ static void RENAME(yuv2yuyv422_1)(SwsInternal *c, const int16_t *buf0, } static av_cold void RENAME(sws_init_swscale)(SwsInternal *c) { - enum AVPixelFormat dstFormat = c->dstFormat; + enum AVPixelFormat dstFormat = c->opts.dst_format; c->use_mmx_vfilter= 0; if (!is16BPS(dstFormat) && !isNBPS(dstFormat) && !isSemiPlanarYUV(dstFormat) && dstFormat != AV_PIX_FMT_GRAYF32BE && dstFormat != AV_PIX_FMT_GRAYF32LE - && !(c->flags & SWS_BITEXACT)) { - if (c->flags & SWS_ACCURATE_RND) { - if (!(c->flags & SWS_FULL_CHR_H_INT)) { - switch (c->dstFormat) { + && !(c->opts.flags & SWS_BITEXACT)) { + if (c->opts.flags & SWS_ACCURATE_RND) { + if (!(c->opts.flags & SWS_FULL_CHR_H_INT)) { + switch (c->opts.dst_format) { case AV_PIX_FMT_RGB32: c->yuv2packedX = RENAME(yuv2rgb32_X_ar); break; #if HAVE_6REGS case AV_PIX_FMT_BGR24: c->yuv2packedX = RENAME(yuv2bgr24_X_ar); break; @@ -1405,8 +1405,8 @@ static av_cold void RENAME(sws_init_swscale)(SwsInternal *c) } } else { c->use_mmx_vfilter= 1; - if (!(c->flags & SWS_FULL_CHR_H_INT)) { - switch (c->dstFormat) { + if (!(c->opts.flags & SWS_FULL_CHR_H_INT)) { + switch (c->opts.dst_format) { case AV_PIX_FMT_RGB32: c->yuv2packedX = RENAME(yuv2rgb32_X); break; case AV_PIX_FMT_BGR32: c->yuv2packedX = RENAME(yuv2bgr32_X); break; #if HAVE_6REGS @@ -1419,8 +1419,8 @@ static av_cold void RENAME(sws_init_swscale)(SwsInternal *c) } } } - if (!(c->flags & SWS_FULL_CHR_H_INT)) { - switch (c->dstFormat) { + if (!(c->opts.flags & SWS_FULL_CHR_H_INT)) { + switch (c->opts.dst_format) { case AV_PIX_FMT_RGB32: c->yuv2packed1 = RENAME(yuv2rgb32_1); c->yuv2packed2 = RENAME(yuv2rgb32_2); @@ -1449,7 +1449,7 @@ static av_cold void RENAME(sws_init_swscale)(SwsInternal *c) if (c->srcBpc == 8 && c->dstBpc <= 14) { // Use the new MMX scaler if the MMXEXT one can't be used (it is faster than the x86 ASM one). - if (c->flags & SWS_FAST_BILINEAR && c->canMMXEXTBeUsed) { + if (c->opts.flags & SWS_FAST_BILINEAR && c->canMMXEXTBeUsed) { c->hyscale_fast = ff_hyscale_fast_mmxext; c->hcscale_fast = ff_hcscale_fast_mmxext; } else { diff --git a/libswscale/x86/yuv2rgb.c b/libswscale/x86/yuv2rgb.c index 93a6b9a6e2..a1463867a2 100644 --- a/libswscale/x86/yuv2rgb.c +++ b/libswscale/x86/yuv2rgb.c @@ -41,11 +41,11 @@ #if HAVE_X86ASM #define YUV2RGB_LOOP(depth) \ - h_size = (c->dstW + 7) & ~7; \ + h_size = (c->opts.dst_w + 7) & ~7; \ if (h_size * depth > FFABS(dstStride[0])) \ h_size -= 8; \ \ - vshift = c->srcFormat != AV_PIX_FMT_YUV422P; \ + vshift = c->opts.src_format != AV_PIX_FMT_YUV422P; \ \ for (y = 0; y < srcSliceH; y++) { \ uint8_t *image = dst[0] + (y + srcSliceY) * dstStride[0]; \ @@ -215,11 +215,11 @@ static inline int yuv420_gbrp_ssse3(SwsInternal *c, const uint8_t *const src[], { int y, h_size, vshift; - h_size = (c->dstW + 7) & ~7; + h_size = (c->opts.dst_w + 7) & ~7; if (h_size * 3 > FFABS(dstStride[0])) h_size -= 8; - vshift = c->srcFormat != AV_PIX_FMT_YUV422P; + vshift = c->opts.src_format != AV_PIX_FMT_YUV422P; for (y = 0; y < srcSliceH; y++) { uint8_t *dst_g = dst[0] + (y + srcSliceY) * dstStride[0]; @@ -244,9 +244,9 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsInternal *c) int cpu_flags = av_get_cpu_flags(); if (EXTERNAL_SSSE3(cpu_flags)) { - switch (c->dstFormat) { + switch (c->opts.dst_format) { case AV_PIX_FMT_RGB32: - if (c->srcFormat == AV_PIX_FMT_YUVA420P) { + if (c->opts.src_format == AV_PIX_FMT_YUVA420P) { #if CONFIG_SWSCALE_ALPHA return yuva420_rgb32_ssse3; #endif @@ -254,7 +254,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsInternal *c) } else return yuv420_rgb32_ssse3; case AV_PIX_FMT_BGR32: - if (c->srcFormat == AV_PIX_FMT_YUVA420P) { + if (c->opts.src_format == AV_PIX_FMT_YUVA420P) { #if CONFIG_SWSCALE_ALPHA return yuva420_bgr32_ssse3; #endif |