On Friday 02 January 2009 10:15:43 pm Ken Moffat wrote:
> On Fri, Jan 02, 2009 at 08:02:12PM +0000, b-vol wrote:
> > the ImageMagick is now upgraded to ImageMagick-6.4.8-3 (there was no
> > 6.4.4-1 on the ImageMagick site).
>
> Yes, they put out so many releases that they don't keep them around
> for long.
>
> > Compiling xine-lib-1.15 seems to bypass
> > the ImageMagick glitch but it now responds with:-
> >
> >
> > #for unpatched sources:-
> >
> > In file included from ../../../src/xine-engine/xine_internal.h:33,
> > from ff_audio_decoder.c:41:
> > ../../../include/xine.h:2230: warning: 'xine_tvsystem' is deprecated
> > In file included from ../../../src/input/input_plugin.h:29,
> > from ../../../src/xine-engine/xine_internal.h:35,
> > from ff_audio_decoder.c:41:
> > ../../../src/xine-engine/buffer.h:679: warning: return type defaults to
> > 'int' ff_audio_decoder.c: In function 'ff_audio_decode_data':
> > ff_audio_decoder.c:272: error: 'AVCodecContext' has no member
> > named 'bits_per_sample'
> > ff_audio_decoder.c:325: error: implicit declaration of
> > function 'avcodec_decode_audio'
> > ff_audio_decoder.c:325: warning: nested extern declaration
> > of 'avcodec_decode_audio'
> > ff_audio_decoder.c:330: error: 'AVCodecContext' has no member
> > named 'bits_per_sample'
> > make[3]: *** [xineplug_decode_ff_la-ff_audio_decoder.lo] Error 1
> >
> >
> > ###for patched sources (the patched is:-
> > ff_audio_decoder.c:330: error: 'AVCodecContext' has no member
> > named 'bits_per_sample'
>
> (the same error, either way).
>
> This is in the ffmpeg part of xine-lib. I can't guess which version
> of ffmpeg you are using. Looking at cblfs, the page tells you to
> use subversion to check it out - that's the problem with wikis, they
> aren't always up to date (there are daily snapshots, or at least
> there were back in October).
>
> I assume you're using an up-to-date version of ffmpeg.
thanks:
I am using ffmpeg-svn downloaded&installed last day of 2008.
####compiler spew from installing xine-lib
gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -I../../../include
-I../../../src -I../../../src/xine-engine -I../../../src/xine-engine
-I../../../src/xine-utils -I../../../src/input -I../../../src/input
-I../../../lib -I../../../lib -I../../../src/dxr3 -I/usr/X11R7.4/include
-I/opt/ffmpegSVN311208/include -I/opt/ffmpegSVN311208/include -I/usr/include
-I/usr/include -I/usr/local/include -I/opt/include
-I/opt/ffmpegSVN311208/include/libaccodec
-I/opt/ffmpegSVN311208/include/libavdevice
-I/opt/ffmpegSVN311208/include/libavformat
-I/opt/ffmpegSVN311208/include/libavutil
-I/opt/ffmpegSVN311208/include/libpostproc -fvisibility=hidden -D_REENTRANT
-D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wformat=2 -Wno-format-zero-length
-Wmissing-format-attribute -Werror-implicit-function-declaration
-Wstrict-aliasing=2 -O3 -fomit-frame-pointer -fexpensive-optimizations
-fschedule-insns2 -ffast-math -finline-functions -Wall -Wpointer-arith
-Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations
-Wmissing-prototypes -g -O2 -DNDEBUG -MT
xineplug_decode_ff_la-ff_audio_decoder.lo -MD -MP -MF
.deps/xineplug_decode_ff_la-ff_audio_decoder.Tpo -c
ff_audio_decoder.c -fPIC -DPIC -o
.libs/xineplug_decode_ff_la-ff_audio_decoder.o
In file included from ../../../src/xine-engine/xine_internal.h:33,
from ff_audio_decoder.c:41:
../../../include/xine.h:2230: warning: 'xine_tvsystem' is deprecated
In file included from ../../../src/input/input_plugin.h:29,
from ../../../src/xine-engine/xine_internal.h:35,
from ff_audio_decoder.c:41:
../../../src/xine-engine/buffer.h:679: warning: return type defaults to 'int'
ff_audio_decoder.c: In function 'ff_audio_decode_data':
ff_audio_decoder.c:272: error: 'AVCodecContext' has no member
named 'bits_per_sample'
ff_audio_decoder.c:325: error: implicit declaration of
function 'avcodec_decode_audio'
ff_audio_decoder.c:325: warning: nested extern declaration
of 'avcodec_decode_audio'
ff_audio_decoder.c:330: error: 'AVCodecContext' has no member
named 'bits_per_sample'
make[3]: *** [xineplug_decode_ff_la-ff_audio_decoder.lo] Error 1
> What you
> will need to do is grep the installed headers for AVCodecContext and
> then look for that file at http://svn.ffmpeg.org/ffmpeg/trunk/ .
>
I have browsed the ffmpeg SVN (ther are a few avcodec headers for i386. I
ony one installed (libavcodes.h) for the x86_64 setup. Excerpt therefrom is
below
#######excerpt from avcodec.h
typedef struct AVCodecContext {
/**
* information on struct for av_log
* - set by avcodec_alloc_context
*/
const AVClass *av_class;
/**
* the average bitrate
* - encoding: Set by user; unused for constant quantizer encoding.
* - decoding: Set by libavcodec. 0 or some bitrate if this info is
available in the stream.
*/
int bit_rate;
/**
* number of bits the bitstream is allowed to diverge from the reference.
* the reference can be CBR (for CBR pass1) or VBR (for pass2)
* - encoding: Set by user; unused for constant quantizer encoding.
* - decoding: unused
*/
int bit_rate_tolerance;
/**
* CODEC_FLAG_*.
* - encoding: Set by user.
* - decoding: Set by user.
*/
int flags;
/**
* Some codecs need additional format info. It is stored here.
* If any muxer uses this then ALL demuxers/parsers AND encoders for the
* specific codec MUST set it correctly otherwise stream copy breaks.
* In general use of this field by muxers is not recommanded.
* - encoding: Set by libavcodec.
* - decoding: Set by libavcodec. (FIXME: Is this OK?)
*/
int sub_id;
/**
* Motion estimation algorithm used for video coding.
* 1 (zero), 2 (full), 3 (log), 4 (phods), 5 (epzs), 6 (x1), 7 (hex),
* 8 (umh), 9 (iter), 10 (tesa) [7, 8, 10 are x264 specific, 9 is snow
specific]
* - encoding: MUST be set by user.
* - decoding: unused
*/
int me_method;
/**
* some codecs need / can use extradata like Huffman tables.
* mjpeg: Huffman tables
* rv10: additional flags
* mpeg4: global headers (they can be in the bitstream or here)
* The allocated memory should be FF_INPUT_BUFFER_PADDING_SIZE bytes
larger
* than extradata_size to avoid prolems if it is read with the bitstream
reader.
* The bytewise contents of extradata must not depend on the architecture
or CPU endianness.
* - encoding: Set/allocated/freed by libavcodec.
* - decoding: Set/allocated/freed by user.
*/
uint8_t *extradata;
int extradata_size;
/**
* This is the fundamental unit of time (in seconds) in terms
* of which frame timestamps are represented. For fixed-fps content,
* timebase should be 1/framerate and timestamp increments should be
* identically 1.
* - encoding: MUST be set by user.
* - decoding: Set by libavcodec.
*/
AVRational time_base;
/* video only */
/**
* picture width / height.
* - encoding: MUST be set by user.
* - decoding: Set by libavcodec.
* Note: For compatibility it is possible to set this instead of
* coded_width/height before decoding.
*/
int width, height;
###### correct there is no int bits_per_sample in typedef struct
AVCodecContext (avcodec.h on x86_64)
#######
xine-lib-1.1.15/src/ff_audio_decoder.c has:-
#ifdef HAVE_CONFIG_H
#include "config.h"
#include "../../libffmpeg/ffmpeg_config.h"
#endif
### the latter is in xine-lib-1.1.15/src/libffmpeg
> Seems to be defined in avcodec.h which is part of libavcodec. Hmm,
> i don't see any obvious mentions in the recent commits, but it seems
> to have gone - you'll need to look at the diffs to see what happened
> to it. It was there (at line 1325) in the version referenced below.
> Based on my experiences with xine-lib and transcode, it probably
> either got removed entirely, or renamed.
>
> For me, the 'old' version referenced in
> http://wiki.linuxfromscratch.org/blfs/ticket/2681
> (at
> http://www.linuxfromscratch.org/~ken/packages/ffmpeg-git-20080908.tar.bz2
> ) works on 32-bit, but I haven't committed it because I don't make a
> lot of use of ffmpeg (all those dependencies I've never found any
> need for). I might do so if no-one else shows any interest in it.
>
> ĸen
> --
> das eine Mal als Tragödie, das andere Mal als Farce
I have browsed the latest ffmpeg-SVN trunk/avcodec.h (few minutes old) and
as above typedef struct AVCodecContext has no int bits_per_sample. I tried
looking ro SVN/CVS/git xine-lib to see if it is up to date with the ffmpeg
stuff but the only downloadable xine-lib-stuff I was able to find i my
quick biowse are conventional releases. If any one knows of post
xine-lib-1.1.15 svn/git/cvs sources please let me know.
I had a go with you links without any luck. I suspect I would also run into
the 32-bit to -64-bit missing header files. ( a more useful appoach might be
to get hold of the most recent xine-lib-sources that have acounted for
changes in ffmpeg.)
thanks again and any other helpful suggestions (from anyone on list) will be
appreciated.
lux-integ
--
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page