[FFmpeg-devel] [PATCH 5/9] SBR DSP x86: implement SSE hf_apply_noise
darkshikari at gmail.com
Sat Apr 6 01:03:11 CEST 2013
On Fri, Apr 5, 2013 at 2:57 PM, Christophe Gisquet <
christophe.gisquet at gmail.com> wrote:
> 2013/4/5 Michael Niedermayer <michaelni at gmx.at>:
> >> +INIT_XMM sse
> >> +%ifdef PIC
> > i suspect you meant ifNdef
> I'm confused. From what I understood from your compile error, you had
> a non-PIC config (win64 is eg always PIC and does not exhibit it). In
> the case of such a non-PIC config, I'm supposed to allocate another
> reg and lea said address into it.
> Therefore for PIC, no additional reg and directly use the address.
> For non-PIC, one more and use it for addressing.
> And therefore this:
> >> +%define NPICREGS 0
> >> +%define NOISE_TABLE sbr_noise_table
> >> +%else
> >> +%define NPICREGS 1
> >> +%define NOISE_TABLE r5q
> >> +%endif
> So where am I mistaken?
> >> + mova m0, [kxq + ps_noise13 + 16]
> > these 2 will break PIC too
> OK, I'll lea the ps_noise* to the !PIC-allocated r5q and use it instead.
> Jason had a proposal for AVX code. I can test the SSE changes, but not
> the actual ymm stuff (nor understand it enough).
You shouldn't need to implement the AVX or anything like that to get the
code in; I just figured I'd mention it. For testing, you can use the
Intel Software Development Emulator: it's a super easy program that works
sde -- ./program my args go here
and supports everything up through AVX2. It uses dynamic recompilation, so
it's pretty fast.
Good catch on the cmpps; we should fix that.
More information about the ffmpeg-devel