The FreshRPMS-packaged Cinelerra contains the following patch to make
Cinelerra use the new function names in the faad 2.5 library
(NeAACDec* instead of faacDec*). Stock faad 2.5 still contains the old
names for compatibility, but they have been removed from the FreshRPMS
faad2 package and as I understand the old function names are
deprecated. I have successfully applied the patch against revision
998.
The patch was written by Matthias Saou <matthias rpmforge net>, the
maintainer of the Cinelerra rpm.
Mikko
---
diff -Naupr cinelerra-2.1.orig/quicktime/ffmpeg/libavcodec/faad.c
cinelerra-2.1/quicktime/ffmpeg/libavcodec/faad.c
--- cinelerra-2.1.orig/quicktime/ffmpeg/libavcodec/faad.c 2005-09-28
20:39:56.000000000 +0200
+++ cinelerra-2.1/quicktime/ffmpeg/libavcodec/faad.c 2007-01-09
14:46:42.000000000 +0100
@@ -54,42 +54,42 @@ typedef struct {
int flags;
/* faad calls */
- faacDecHandle FAADAPI (*faacDecOpen)(void);
- faacDecConfigurationPtr FAADAPI
(*faacDecGetCurrentConfiguration)(faacDecHandle hDecoder);
+ NeAACDecHandle FAADAPI (*NeAACDecOpen)(void);
+ NeAACDecConfigurationPtr FAADAPI
(*NeAACDecGetCurrentConfiguration)(NeAACDecHandle hDecoder);
#ifndef FAAD2_VERSION
- int FAADAPI (*faacDecSetConfiguration)(faacDecHandle hDecoder,
- faacDecConfigurationPtr config);
- int FAADAPI (*faacDecInit)(faacDecHandle hDecoder,
+ int FAADAPI (*NeAACDecSetConfiguration)(NeAACDecHandle hDecoder,
+ NeAACDecConfigurationPtr config);
+ int FAADAPI (*NeAACDecInit)(NeAACDecHandle hDecoder,
unsigned char *buffer,
unsigned long *samplerate,
unsigned long *channels);
- int FAADAPI (*faacDecInit2)(faacDecHandle hDecoder, unsigned char
*pBuffer,
+ int FAADAPI (*NeAACDecInit2)(NeAACDecHandle hDecoder, unsigned char
*pBuffer,
unsigned long SizeOfDecoderSpecificInfo,
unsigned long *samplerate, unsigned long
*channels);
- int FAADAPI (*faacDecDecode)(faacDecHandle hDecoder,
+ int FAADAPI (*NeAACDecDecode)(NeAACDecHandle hDecoder,
unsigned char *buffer,
unsigned long *bytesconsumed,
short *sample_buffer,
unsigned long *samples);
#else
- unsigned char FAADAPI (*faacDecSetConfiguration)(faacDecHandle hDecoder,
- faacDecConfigurationPtr
config);
- long FAADAPI (*faacDecInit)(faacDecHandle hDecoder,
+ unsigned char FAADAPI (*NeAACDecSetConfiguration)(NeAACDecHandle
hDecoder,
+ NeAACDecConfigurationPtr
config);
+ long FAADAPI (*NeAACDecInit)(NeAACDecHandle hDecoder,
unsigned char *buffer,
unsigned long buffer_size,
unsigned long *samplerate,
unsigned char *channels);
- char FAADAPI (*faacDecInit2)(faacDecHandle hDecoder, unsigned char
*pBuffer,
+ char FAADAPI (*NeAACDecInit2)(NeAACDecHandle hDecoder, unsigned char
*pBuffer,
unsigned long SizeOfDecoderSpecificInfo,
unsigned long *samplerate, unsigned char
*channels);
- void *FAADAPI (*faacDecDecode)(faacDecHandle hDecoder,
- faacDecFrameInfo *hInfo,
+ void *FAADAPI (*NeAACDecDecode)(NeAACDecHandle hDecoder,
+ NeAACDecFrameInfo *hInfo,
unsigned char *buffer,
unsigned long
buffer_size);
- char* FAADAPI (*faacDecGetErrorMessage)(unsigned char errcode);
+ char* FAADAPI (*NeAACDecGetErrorMessage)(unsigned char errcode);
#endif
- void FAADAPI (*faacDecClose)(faacDecHandle hDecoder);
+ void FAADAPI (*NeAACDecClose)(NeAACDecHandle hDecoder);
} FAACContext;
@@ -112,13 +112,13 @@ static int faac_init_mp4(AVCodecContext
int r = 0;
if (avctx->extradata)
- r = s->faacDecInit2(s->faac_handle, (uint8_t*) avctx->extradata,
+ r = s->NeAACDecInit2(s->faac_handle, (uint8_t*) avctx->extradata,
avctx->extradata_size,
&samplerate, &channels);
- // else r = s->faacDecInit(s->faac_handle ... );
+ // else r = s->NeAACDecInit(s->faac_handle ... );
if (r < 0)
- av_log(avctx, AV_LOG_ERROR, "faacDecInit2 failed r:%d sr:%ld ch:%ld
s:%d\n",
+ av_log(avctx, AV_LOG_ERROR, "NeAACDecInit2 failed r:%d sr:%ld ch:%ld
s:%d\n",
r, samplerate, (long)channels, avctx->extradata_size);
avctx->sample_rate = samplerate;
avctx->channels = channels;
@@ -137,13 +137,13 @@ static int faac_decode_frame(AVCodecCont
unsigned long samples;
int out;
#else
- faacDecFrameInfo frame_info;
+ NeAACDecFrameInfo frame_info;
void *out;
#endif
if(buf_size == 0)
return 0;
#ifndef FAAD2_VERSION
- out = s->faacDecDecode(s->faac_handle,
+ out = s->NeAACDecDecode(s->faac_handle,
(unsigned char*)buf,
&bytesconsumed,
data,
@@ -155,11 +155,11 @@ static int faac_decode_frame(AVCodecCont
? buf_size : (int)bytesconsumed;
#else
- out = s->faacDecDecode(s->faac_handle, &frame_info, (unsigned char*)buf,
(unsigned long)buf_size);
+ out = s->NeAACDecDecode(s->faac_handle, &frame_info, (unsigned char*)buf,
(unsigned long)buf_size);
if (frame_info.error > 0) {
av_log(avctx, AV_LOG_ERROR, "faac: frame decoding failed: %s\n",
- s->faacDecGetErrorMessage(frame_info.error));
+ s->NeAACDecGetErrorMessage(frame_info.error));
return 0;
}
@@ -178,8 +178,8 @@ static int faac_decode_end(AVCodecContex
{
FAACContext *s = (FAACContext *) avctx->priv_data;
- if (s->faacDecClose)
- s->faacDecClose(s->faac_handle);
+ if (s->NeAACDecClose)
+ s->NeAACDecClose(s->faac_handle);
dlclose(s->handle);
return 0;
@@ -188,7 +188,7 @@ static int faac_decode_end(AVCodecContex
static int faac_decode_init(AVCodecContext *avctx)
{
FAACContext *s = (FAACContext *) avctx->priv_data;
- faacDecConfigurationPtr faac_cfg;
+ NeAACDecConfigurationPtr faac_cfg;
#ifdef CONFIG_FAADBIN
const char* err = 0;
@@ -201,38 +201,38 @@ static int faac_decode_init(AVCodecConte
return -1;
}
#define dfaac(a, b) \
- do { static const char* n = "faacDec" #a; \
- if ((s->faacDec ## a = b dlsym( s->handle, n )) == NULL) { err = n; break;
} } while(0)
+ do { static const char* n = "NeAACDec" #a; \
+ if ((s->NeAACDec ## a = b dlsym( s->handle, n )) == NULL) { err = n;
break; } } while(0)
for(;;) {
#else /* !CONFIG_FAADBIN */
-#define dfaac(a, b) s->faacDec ## a = faacDec ## a
+#define dfaac(a, b) s->NeAACDec ## a = NeAACDec ## a
#endif /* CONFIG_FAADBIN */
// resolve all needed function calls
- dfaac(Open, (faacDecHandle FAADAPI (*)(void)));
- dfaac(GetCurrentConfiguration, (faacDecConfigurationPtr
- FAADAPI (*)(faacDecHandle)));
+ dfaac(Open, (NeAACDecHandle FAADAPI (*)(void)));
+ dfaac(GetCurrentConfiguration, (NeAACDecConfigurationPtr
+ FAADAPI (*)(NeAACDecHandle)));
#ifndef FAAD2_VERSION
- dfaac(SetConfiguration, (int FAADAPI (*)(faacDecHandle,
-
faacDecConfigurationPtr)));
+ dfaac(SetConfiguration, (int FAADAPI (*)(NeAACDecHandle,
+
NeAACDecConfigurationPtr)));
- dfaac(Init, (int FAADAPI (*)(faacDecHandle, unsigned char*,
+ dfaac(Init, (int FAADAPI (*)(NeAACDecHandle, unsigned char*,
unsigned long*, unsigned long*)));
- dfaac(Init2, (int FAADAPI (*)(faacDecHandle, unsigned char*,
+ dfaac(Init2, (int FAADAPI (*)(NeAACDecHandle, unsigned char*,
unsigned long, unsigned long*,
unsigned long*)));
- dfaac(Close, (void FAADAPI (*)(faacDecHandle hDecoder)));
- dfaac(Decode, (int FAADAPI (*)(faacDecHandle, unsigned char*,
+ dfaac(Close, (void FAADAPI (*)(NeAACDecHandle hDecoder)));
+ dfaac(Decode, (int FAADAPI (*)(NeAACDecHandle, unsigned char*,
unsigned long*, short*, unsigned long*)));
#else
- dfaac(SetConfiguration, (unsigned char FAADAPI (*)(faacDecHandle,
-
faacDecConfigurationPtr)));
- dfaac(Init, (long FAADAPI (*)(faacDecHandle, unsigned char*,
+ dfaac(SetConfiguration, (unsigned char FAADAPI (*)(NeAACDecHandle,
+
NeAACDecConfigurationPtr)));
+ dfaac(Init, (long FAADAPI (*)(NeAACDecHandle, unsigned char*,
unsigned long, unsigned long*, unsigned
char*)));
- dfaac(Init2, (char FAADAPI (*)(faacDecHandle, unsigned char*,
+ dfaac(Init2, (char FAADAPI (*)(NeAACDecHandle, unsigned char*,
unsigned long, unsigned long*,
unsigned char*)));
- dfaac(Decode, (void *FAADAPI (*)(faacDecHandle, faacDecFrameInfo*,
+ dfaac(Decode, (void *FAADAPI (*)(NeAACDecHandle, NeAACDecFrameInfo*,
unsigned char*, unsigned long)));
dfaac(GetErrorMessage, (char* FAADAPI (*)(unsigned char)));
#endif
@@ -249,7 +249,7 @@ static int faac_decode_init(AVCodecConte
}
#endif
- s->faac_handle = s->faacDecOpen();
+ s->faac_handle = s->NeAACDecOpen();
if (!s->faac_handle) {
av_log(avctx, AV_LOG_ERROR, "FAAD library: cannot create handler!\n");
faac_decode_end(avctx);
@@ -257,7 +257,7 @@ static int faac_decode_init(AVCodecConte
}
- faac_cfg = s->faacDecGetCurrentConfiguration(s->faac_handle);
+ faac_cfg = s->NeAACDecGetCurrentConfiguration(s->faac_handle);
if (faac_cfg) {
switch (avctx->bits_per_sample) {
@@ -287,7 +287,7 @@ static int faac_decode_init(AVCodecConte
faac_cfg->defObjectType = LC;
}
- s->faacDecSetConfiguration(s->faac_handle, faac_cfg);
+ s->NeAACDecSetConfiguration(s->faac_handle, faac_cfg);
faac_init_mp4(avctx);
diff -Naupr cinelerra-2.1.orig/quicktime/mp4a.c cinelerra-2.1/quicktime/mp4a.c
--- cinelerra-2.1.orig/quicktime/mp4a.c 2006-08-31 22:25:39.000000000 +0200
+++ cinelerra-2.1/quicktime/mp4a.c 2007-01-09 14:46:00.000000000 +0100
@@ -23,9 +23,9 @@
typedef struct
{
// Decoder objects
- faacDecHandle decoder_handle;
- faacDecFrameInfo frame_info;
- faacDecConfigurationPtr decoder_config;
+ NeAACDecHandle decoder_handle;
+ NeAACDecFrameInfo frame_info;
+ NeAACDecConfigurationPtr decoder_config;
int decoder_initialized;
@@ -58,7 +58,7 @@ static int delete_codec(quicktime_audio_
if(codec->decoder_initialized)
{
- faacDecClose(codec->decoder_handle);
+ NeAACDecClose(codec->decoder_handle);
}
if(codec->encoder_initialized)
@@ -93,17 +93,17 @@ static int decode(quicktime_t *file,
// FAAD needs unsigned char here
unsigned char channels = track_map->channels;
quicktime_init_vbr(vbr, channels);
- codec->decoder_handle = faacDecOpen();
- codec->decoder_config =
faacDecGetCurrentConfiguration(codec->decoder_handle);
+ codec->decoder_handle = NeAACDecOpen();
+ codec->decoder_config =
NeAACDecGetCurrentConfiguration(codec->decoder_handle);
codec->decoder_config->outputFormat = FAAD_FMT_FLOAT;
// codec->decoder_config->defSampleRate =
// trak->mdia.minf.stbl.stsd.table[0].sample_rate;
- faacDecSetConfiguration(codec->decoder_handle,
codec->decoder_config);
+ NeAACDecSetConfiguration(codec->decoder_handle,
codec->decoder_config);
quicktime_align_vbr(track_map, samples);
quicktime_read_vbr(file, track_map);
- if(faacDecInit(codec->decoder_handle,
+ if(NeAACDecInit(codec->decoder_handle,
quicktime_vbr_input(vbr),
quicktime_vbr_input_size(vbr),
&samplerate,
@@ -136,8 +136,8 @@ static int decode(quicktime_t *file,
if(quicktime_read_vbr(file, track_map)) break;
- bzero(&codec->frame_info, sizeof(faacDecFrameInfo));
- float *sample_buffer =
faacDecDecode(codec->decoder_handle,
+ bzero(&codec->frame_info, sizeof(NeAACDecFrameInfo));
+ float *sample_buffer =
NeAACDecDecode(codec->decoder_handle,
&codec->frame_info,
quicktime_vbr_input(vbr),
quicktime_vbr_input_size(vbr));
@@ -145,7 +145,7 @@ static int decode(quicktime_t *file,
if (codec->frame_info.error > 0)
{
// printf("decode mp4a: %s\n",
-// faacDecGetErrorMessage(codec->frame_info.error));
+// NeAACDecGetErrorMessage(codec->frame_info.error));
}
/*
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra