This is very good, but in order to include it into cinelerra main svn,
the difference between old/new one should be ifdefed, so it can be
switched depending on the build environment
b
ye
andaz
On Wed, 2007-02-14 at 11:01 +0200, Mikko Huhtala wrote:
> 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
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra