Files
haiku-beta6/src/add-ons/media/plugins/ffmpeg/libavcodec/x86/Jamfile
T
Stephan Aßmus 4c3fe04bd3 * More cleanup and removal of code duplication in the Jamfiles. Moved
the HAIKU_FFMPEG_DEFINES and friends to the toplevel ffmpeg Jamfile.
* Define the X86 CPU acceleration features in global Jamfile variables,
  so that we can build specific source files depending on those defines
  later (used for libavcodec_x86.a).
* In config.h, a whole bunch of parsers were defined off, which was the
  actual reason why plain old .MPG files and also my .MTS streams with
  H.264 video gave only scrambled video.
* Removed some files from the build by comparing which files are build
  by a pristine FFmpeg libavcodec Makefile.

Attention: The following changes may break the GCC2 build:
* Remove Haiku specific changes from
	- libavcodec/x86/cavsdsp_mmx.c
	- libavcodec/x86/dsputil_mmx.c
	- libavcodec/x86/h264dsp_mmx.c

I will test this next after switching my GCC. If you are impatiant, the
following changes were previously done to the pristine FFmpeg 0.5 files:

libavcodec/x86/cavsdsp_mmx.c:
* commented out line 426 to 429

libavcodec/x86/h264dsp_mmx.c
* h264_loop_filter_strength_mmx2() was commented out.

libavcodec/x86/dsputil_mmx.c
* gmc_mmx() was commented out.
* commented out line 2665 (assigning c->gmc)
* commented out line 2786 (assigning c->h264_loop_filter_strength)

However, I would now make similar changes by checking the GCC version. Also,
the libavcodec/x86/dsputil_mmx.c:2786 was still assigning the dummy
h264_loop_filter_strength_mmx2() version.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 14:34:11 +00:00

69 lines
1.4 KiB
Plaintext

SubDir HAIKU_TOP src add-ons media plugins ffmpeg libavcodec x86 ;
SubDirHdrs [ FDirName $(SUBDIR) .. ] ;
SubDirHdrs [ FDirName $(SUBDIR) ../.. ] ;
SubDirHdrs [ FDirName $(SUBDIR) ../../libavutil ] ;
SubDirHdrs [ FDirName $(SUBDIR) ../../libswscale ] ;
# filter warnings we don't want here
TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS)
: -Wall -Wmissing-prototypes -Wsign-compare -Wpointer-arith ] ;
SubDirCcFlags $(HAIKU_FFMPEG_GCC_EXTRA_FLAGS) ;
SubDirCcFlags $(HAIKU_FFMPEG_DEFINES) ;
SubDirC++Flags $(HAIKU_FFMPEG_DEFINES) ;
local mmxSources = ;
if $(HAIKU_FFMPEG_USE_MMX) = 1 {
mmxSources =
cpuid.c
cavsdsp_mmx.c
dsputil_mmx.c
# dsputilenc_mmx.c # For when we enable encoders.
fdct_mmx.c
# idct_mmx.c # GPL
idct_mmx_xvid.c
motion_est_mmx.c
mpegvideo_mmx.c
rv40dsp_mmx.c
simple_idct_mmx.c
vc1dsp_mmx.c
vp3dsp_mmx.c
vp6dsp_mmx.c
fft_mmx.nasm
dsputil_yasm.nasm
;
}
local sseSources = ;
#if $(HAIKU_FFMPEG_USE_SSE) = 1 {
if $(HAIKU_FFMPEG_USE_SSSE3) = 1 {
sseSources =
fft_sse.c
idct_sse2_xvid.c
vp3dsp_sse2.c
vp6dsp_sse2.c
h264_idct_sse2.nasm
h264_deblock_sse2.nasm
;
}
local amdSources = ;
if $(HAIKU_FFMPEG_USE_AMD3DNOW) = 1 {
amdSources =
fft_3dn.c
;
}
if $(HAIKU_FFMPEG_USE_AMD3DNOWEXT) = 1 {
amdSources +=
fft_3dn2.c
;
}
StaticLibrary libavcodec_x86.a :
$(mmxSources)
$(sseSources)
$(amdSources)
;