[FFmpeg-devel] [PATCH] x86/fdct: port fdct functions to yasm
jamrial at gmail.com
Wed Jun 4 01:01:42 CEST 2014
On 28/05/14 7:58 PM, James Almer wrote:
> On 25/05/14 8:58 PM, James Almer wrote:
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> libavcodec/x86/Makefile | 3 +-
>> libavcodec/x86/dsputilenc_mmx.c | 42 ++-
>> libavcodec/x86/fdct.asm | 298 ++++++++++++++++++++
>> libavcodec/x86/fdct.c | 594 ----------------------------------------
>> 4 files changed, 315 insertions(+), 622 deletions(-)
>> create mode 100644 libavcodec/x86/fdct.asm
>> delete mode 100644 libavcodec/x86/fdct.c
> Currently, this line is preventing this patch from working if ffmpeg is configured
> with --disable-yasm:
> This is an inline asm function that's unconditionally calling one of the simd versions
> of ff_fdct, and was introduced 12 years ago in commit 28db7fce.
> There doesn't seem to be a FATE test currently using dct_quantize_<opt> to see if
> changing that line to "s->dsp.fdct(block);" is a possibility (So it might fall back to
> the C implementation if needed), and I'm not sure how to manually trigger it either.
> Then there's of course the comment in that line that makes me wonder if changing it
> isn't out of the question to begin with.
> The only other solutions would be making the simd versions of dct_quantize depend on
> both inline asm and yasm (Which is ugly and we already reverted changes that tried
> this before), or port them to yasm, which is a big task I'm not really up to.
> Any idea if changing that line as mentioned above is a possibility? Or any way/sample
> to test the simd versions of dct_quantize?
More information about the ffmpeg-devel