[FFmpeg-devel] [PATCH/RFC]Allow compilation without HAVE_6REGS
Carl Eugen Hoyos
cehoyos at ag.or.at
Fri Apr 18 22:00:32 CEST 2014
Michael Niedermayer <michaelni <at> gmx.at> writes:
> On Fri, Apr 18, 2014 at 02:48:00PM +0000, Carl Eugen Hoyos wrote:
> > Carl Eugen Hoyos <cehoyos <at> ag.or.at> writes:
> >
> > > Attached patch is needed here for compilation without HAVE_6REGS
>
> should be ok if these all use 6 or more registers
I am not sure which parameters must be counted:
libavfilter/vf_noise.c line_noise_avg_mmx():
:: "r" (src+mmx_len), "r" (shift[0]+mmx_len), "r" (shift[1]+mmx_len),
"r" (shift[2]+mmx_len), "r" (dst+mmx_len), "g" (-mmx_len)
: "%"REG_a
libavcodec/x86/mathops.h COPY3_IF_LT():
: "+&r" (x), "+&r" (a), "+r" (c)
: "r" (y), "r" (b), "r" (d)
libavcodec/x86/vp56_arith.h vp56_rac_get_prob():
: "+q"(bit), "+&r"(c->high), "+&r"(c->code_word)
: "r"(low_shift), "r"(low), "r"(code_word)
libavcodec/x86/cavsdsp.c QPEL_CAVS():
: "+a"(src), "+c"(dst), "+m"(h)
: "d"((x86_reg)srcStride), "S"((x86_reg)dstStride),
"m"(ff_pw_5), "m"(ff_pw_4)
: "memory"
libavcodec/x86/mpegaudiodsp.c apply_window():
:"+&r"(count)
:"r"(win1a), "r"(win2a), "r"(bufa), "r"(sum1a), "r"(sum2a)
libavcodec/x86/snowdsp.c snow_inner_add_yblock_sse2_header:
:"+m"(dst8),"+m"(dst_array),"=&r"(tmp)
:"rm"((x86_reg)(src_x<<1)),"m"(obmc),"a"(block),"m"(b_h),
"m"(src_stride)
:XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4",
"%xmm5", "%xmm6", "%xmm7", )
"%"REG_c"","%"REG_S"","%"REG_D"","%"REG_d""
libavcodec/x86/mpegvideoenc_template.c dct_quantize:
: "+a" (last_non_zero_p1)
: "r" (block+64), "r" (qmat+64), "r" (bias+64),
"r" (inv_zigzag_direct16 + 64), "r" (temp_block + 64)
XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
"%xmm4", "%xmm5", "%xmm6", "%xmm7")
libavcodec/x86/vp3dsp_init.c put_vp_no_rnd_pixels8_l2_mmx():
:"+r"(h), "+r"(a), "+r"(b), "+r"(dst)
:"r"((x86_reg)stride), "r"((x86_reg)3L*stride)
:"memory");
libavcodec/x86/vc1dsp_mmx.c vc1_put_ver_16b_shift2_mmx():
: "+r"(src), "+r"(dst)
: "r"(stride), "r"(-2*stride),
"m"(shift), "m"(rnd), "r"(9*stride-4)
NAMED_CONSTRAINTS_ADD(ff_pw_9)
: "%"REG_c, "memory"
libswscale/x86/swscale_template.c yuv2bgr24_X_ar:
:: "r" (&c->redDither),
"m" (dummy), "m" (dummy), "m" (dummy),
"r" (dest), "m" (dstW_reg), "m"(uv_off)
NAMED_CONSTRAINTS_ADD(ff_M24A,ff_M24C,ff_M24B)
: "%"REG_a, "%"REG_c, "%"REG_d, "%"REG_S
libswscale/x86/yuv2rgb_template.c yuv420_rgb15
: "+r" (index), "+r" (image)
: "r" (pu - index), "r" (pv - index), "r"(&c->redDither),
"r" (py - 2*index)
NAMED_CONSTRAINTS_ADD(mmx_00ffw,pb_03,pb_07,mmx_redmask,pb_e0)
RGB_PACK24_B_OPERANDS
: "memory"
Is one of them not using six registers?
Carl Eugen
More information about the ffmpeg-devel
mailing list