----- Original Message ----- From: "Darren Salt" linux@youmustbejoking.demon.co.uk To: vdr@linuxtv.org Sent: Tuesday, June 10, 2008 3:13 PM Subject: Re: [vdr] dfb/coreavc,xine bulid problem
I demand that Timothy D. Lenz may or may not have written...
I am runing debian 64bit.
alpha? amd64? ia64? sparc? :-)
AMD Athlon64 x2 cpu.
I am currently using rgb out of nexus But I want to switch to the Matrox g450 so I can down convert hd to sd. I am trying to use vdr-xine plugin, DirectFB with fb_xine for the matrox card and coreavc for decoder. The problem is getting xine 1.2 to build. Using latest HG make seems to
compile
but using fakeroot dpkg-buildpackage I get a lot of this:
pp.c:309: warning: statement with no effect pp.c:311: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:312: error: implicit declaration of function âpp_postprocessâ
[snip rest]
Those errors don't make sense on their own. I'm guessing that there were errors before them...
gcc -DHAVE_CONFIG_H -I. -I../../../include -I../../.. -I../../../include -I. ./../../include -I../../../src -I../../../src/xine-engine -I../../../src/xin e-engine -I../../../src/xine-utils -I../../../src/input -I../../../src/input -I../../../lib -I../../../lib -DNDEBUG -D_REENTRANT -DXINE_COMPILE -O3 -ffa st-math -fexpensive-optimizations -fvisibility=hidden -pipe -Wall -Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute -Werror-implicit-functio n-declaration -Wstrict-aliasing=2 -Wchar-subscripts -Wmissing-declarations - Wmissing-prototypes -Wwrite-strings -Wpointer-arith -g -march=athlon64 -g -M T xineplug_post_planar_la-pp.lo -MD -MP -MF .deps/xineplug_post_planar_la-pp.Tpo -c pp.c -fPIC -DPIC -o .libs/xineplug_post_planar_la-pp.o pp.c:37:39: error: libpostproc/postprocess.h: No such file or directory pp.c:61: error: âPP_QUALITY_MAXâ undeclared here (not in a function) pp.c:81: error: expected specifier-qualifier-list before âpp_context_tâ pp.c: In function âset_parametersâ: pp.c:92: error: âpost_plugin_pp_tâ has no member named âlockâ pp.c:92: warning: passing argument 1 of âpthread_mutex_lockâ from incompatible pointer type pp.c:96: error: âpost_plugin_pp_tâ has no member named âlockâ pp.c:96: warning: passing argument 1 of âpthread_mutex_unlockâ from incompatible pointer type pp.c: In function âget_helpâ: pp.c:124: error: âpp_helpâ undeclared (first use in this function) pp.c:124: error: (Each undeclared identifier is reported only once pp.c:124: error: for each function it appears in.) pp.c:127: warning: format â%sâ expects type âchar *â, but argument 4 has type âstruct xine_post_api_parameter_t *â pp.c: In function âpp_init_pluginâ: pp.c:157: warning: âxine_xmallocâ is deprecated (declared at ../../../include/xine/xineutils.h:606) pp.c: In function âpp_open_pluginâ: pp.c:194: error: âPP_FORMAT_420â undeclared (first use in this function) pp.c:194: warning: assignment makes integer from pointer without a cast pp.c:196: error: âPP_CPU_CAPS_MMXâ undeclared (first use in this function) pp.c:196: error: invalid operands to binary | pp.c:196: error: incompatible types in assignment pp.c:196: warning: statement with no effect pp.c:198: error: âPP_CPU_CAPS_MMX2â undeclared (first use in this function) pp.c:198: error: invalid operands to binary | pp.c:198: error: incompatible types in assignment pp.c:198: warning: statement with no effect pp.c:200: error: âPP_CPU_CAPS_3DNOWâ undeclared (first use in this function) pp.c:200: error: invalid operands to binary | pp.c:200: error: incompatible types in assignment pp.c:200: warning: statement with no effect pp.c:202: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:202: warning: statement with no effect pp.c:203: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:203: warning: statement with no effect pp.c:205: error: âpost_plugin_pp_tâ has no member named âlockâ pp.c:205: warning: passing argument 1 of âpthread_mutex_initâ from incompatible pointer type pp.c: In function âpp_disposeâ: pp.c:232: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:233: error: implicit declaration of function âpp_free_modeâ pp.c:233: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:234: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:234: warning: statement with no effect pp.c:236: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:237: error: implicit declaration of function âpp_free_contextâ pp.c:237: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:238: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:238: warning: statement with no effect pp.c: In function âpp_drawâ: pp.c:286: error: âpost_plugin_pp_tâ has no member named âlockâ pp.c:286: warning: passing argument 1 of âpthread_mutex_lockâ from incompatible pointer type pp.c:288: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:296: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:297: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:299: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:299: error: implicit declaration of function âpp_get_contextâ pp.c:299: warning: statement with no effect pp.c:301: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:302: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:303: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:303: warning: statement with no effect pp.c:307: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:308: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:308: error: implicit declaration of function âpp_get_mode_by_name_and_qualityâ pp.c:309: warning: statement with no effect pp.c:311: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:312: error: implicit declaration of function âpp_postprocessâ pp.c:316: error: âpost_plugin_pp_tâ has no member named âpp_modeâ pp.c:316: error: âpost_plugin_pp_tâ has no member named âpp_contextâ pp.c:319: error: âpost_plugin_pp_tâ has no member named âlockâ pp.c:319: warning: passing argument 1 of âpthread_mutex_unlockâ from incompatible pointer type pp.c:321: error: âpost_plugin_pp_tâ has no member named âpp_modeâ make[4]: *** [xineplug_post_planar_la-pp.lo] Error 1 make[4]: Leaving directory `/usr/local/src/xine/xine-lib/master/xine-lib-1.2/src/post/planar' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/local/src/xine/xine-lib/master/xine-lib-1.2/src/post' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/local/src/xine/xine-lib/master/xine-lib-1.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/xine/xine-lib/master/xine-lib-1.2' make: *** [build-stamp] Error 2
And that is before trying to patch it with xine-lib-1.2hg-coreavc.diff. That as 2 hunks fail which I patch by hand. The failed hunks are:
[snip first failure]
demux_ts.c.rej
*** 220,226 ****
[snip]
ISO_14496_PART3_AUDIO = 0x11, /* ISO/IEC 14496-3 Audio with
LATM transport syntax */
ISO_14496_PART10_VIDEO = 0x1b, /* ISO/IEC 14496-10 Video
(MPEG-4 part 10/AVC, aka H.264) */
Not surprising since I added a bit to that code not that long ago.
STREAMDEV_H264_VIDEO = 0xe0 /* ISO/IEC 14496-10 Video
(MPEG-4
part 10/AVC, aka H.264) */
That change, together with any change which uses that constant, is BROKEN.
It
will cause failures when playing back TS files, recorded via xine-lib's DVB plugin, which contain MPEG2 video.
(xine-lib's TS demuxer is a bit broken here in that no descriptor tag was found so it's falling back on using a value from a different source as if
it
were the descriptor tag. 0xE0 only indicates that it's a video stream.)
Detection-by-content for the 'default' case for the video format detection code (around line 800) is what's needed. (Patches which implement this and this alone will be considered.)
[snip]
demux_ts.c:222: error: expected â,â or â}â before âSTREAM_VIDEO_MPEGâ
You've either omitted a comma or added the extra line in the wrong place.
:-)
[snip fallout from that error]
The switches I add to the debian rule file are:
--enable-directfb \ --disable-dxr3 \ --disable-xvmc \ --without-x \ --without-xcb \ --disable-altivec \ --disable-vis \
But I get the same errors with/out the switches.
Not surprising. It's mispatched.
-- | Darren Salt | linux or ds at | nr. Ashington, | Toon | RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army | + Use more efficient products. Use less. BE MORE ENERGY
EFFICIENT.
I am Bjorn of Borg. Wimbledon is irrelevant.
So we need an updated patch :(