[FFmpeg-devel] [FFmpeg-cvslog] r25206 - trunk/libavcodec/x86/h264_idct.asm
Dave Yeo
daveryeo
Mon Sep 27 18:34:36 CEST 2010
On 09/27/10 07:46 am, Ronald S. Bultje wrote:
> Hi,
>
> 2010/9/27 M?ns Rullg?rd<mans at mansr.com>:
>> Dave Yeo<daveryeo at telus.net> writes:
>>> On 09/26/10 02:10 pm, M?ns Rullg?rd wrote:
>>>> configure support for nasm is in place. All that's missing now is the
>>>> OS/2 bits.
>>>
>>> This builds and passes fate here.
>>> Dave
>>>
>>> Index: configure
>>> ===================================================================
>>> --- configure (revision 25215)
>>> +++ configure (working copy)
>>> @@ -2391,6 +2391,7 @@
>>> strip="lxlite"
>>> ln_s="cp -f"
>>> add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap
>>> + objformat="aout"
>>> SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
>>> FFSERVERLDFLAGS=""
>>> LIBSUF="_s.a"
>>
>> This part OK.
>>
>>> Index: libavcodec/x86/fft_mmx.asm
>>> ===================================================================
>>> --- libavcodec/x86/fft_mmx.asm (revision 25215)
>>> +++ libavcodec/x86/fft_mmx.asm (working copy)
>>> @@ -71,7 +71,7 @@
>>> %1
>>> %endmacro
>>>
>>> -section .text align=16
>>> +SECTION_TEXT
>>>
>>> %macro T2_3DN 4 ; z0, z1, mem0, mem1
>>> mova %1, %3
>>> Index: libavcodec/x86/dsputil_yasm.asm
>>> ===================================================================
>>> --- libavcodec/x86/dsputil_yasm.asm (revision 25215)
>>> +++ libavcodec/x86/dsputil_yasm.asm (working copy)
>>> @@ -28,7 +28,7 @@
>>> pb_zzzz3333zzzzbbbb: db -1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,11,11,11,11
>>> pb_zz11zz55zz99zzdd: db -1,-1,1,1,-1,-1,5,5,-1,-1,9,9,-1,-1,13,13
>>>
>>> -section .text align=16
>>> +SECTION_TEXT
>>>
>>> %macro PSWAPD_SSE 2
>>> pshufw %1, %2, 0x4e
>>> Index: libavcodec/x86/x86inc.asm
>>> ===================================================================
>>> --- libavcodec/x86/x86inc.asm (revision 25215)
>>> +++ libavcodec/x86/x86inc.asm (working copy)
>>> @@ -62,11 +62,22 @@
>>> %elifidn __OUTPUT_FORMAT__,macho
>>> SECTION .text align=%1
>>> fakegot:
>>> + %elifidn __OUTPUT_FORMAT__,aout
>>> + section .text
>>> %else
>>> SECTION .rodata align=%1
>>> %endif
>>> %endmacro
>>>
>>> +; aout does not support align=
>>> +%macro SECTION_TEXT 0-1 16
>>> + %ifidn __OUTPUT_FORMAT__,aout
>>> + SECTION .text
>>> + %else
>>> + SECTION .text align=%1
>>> + %endif
>>> +%endmacro
>>> +
>>> %ifdef WIN64
>>> %define PIC
>>> %elifndef ARCH_X86_64
>>
>> Jason or another x86 guru should review this.
>
> I think it's OK as long as it's tested to ensure that yasm still has
> 16-byte alignment with this in relevant sections.
>
Testing by using yasm -f elf -e
[...]
%line 73+1 /usr/src/ffmpeg/libavcodec/x86/fft_mmx.asm
[section .text align=16]
[...]
[...]
%line 23+1 /usr/src/ffmpeg/libavcodec/x86/dsputil_yasm.asm
[section .rodata align=16]
pb_f: times 16 db 15
pb_zzzzzzzz77777777: times 8 db -1
pb_7: times 8 db 7
pb_zzzz3333zzzzbbbb: db -1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,11,11,11,11
pb_zz11zz55zz99zzdd: db -1,-1,1,1,-1,-1,5,5,-1,-1,9,9,-1,-1,13,13
[section .text align=16]
%line 41+1 /usr/src/ffmpeg/libavcodec/x86/dsputil_yasm.asm
[...]
Dave
More information about the ffmpeg-devel
mailing list