From 47eef7b244ffae6a4ae3405c6bcb3805998b20ac Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Thu, 4 Jul 2013 11:45:12 -0700 Subject: [PATCH] Fix compile warning about planar_to_interleaved() unused. And make it more clear which conversion function is needed for which version of libavcodec. --- src/modules/avformat/producer_avformat.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c index 1b87b86d..9068f081 100644 --- a/src/modules/avformat/producer_avformat.c +++ b/src/modules/avformat/producer_avformat.c @@ -2010,31 +2010,33 @@ static int sample_bytes( AVCodecContext *context ) #endif } -static void planar_to_interleaved( uint8_t *dest, uint8_t *src, int samples, int channels, int bytes_per_sample ) +#if LIBAVCODEC_VERSION_MAJOR >= 55 +static void planar_to_interleaved( uint8_t *dest, AVFrame *src, int samples, int channels, int bytes_per_sample ) { int s, c; for ( s = 0; s < samples; s++ ) { for ( c = 0; c < channels; c++ ) { - memcpy( dest, src + ( c * samples + s ) * bytes_per_sample, bytes_per_sample ); + memcpy( dest, &src->data[c][s * bytes_per_sample], bytes_per_sample ); dest += bytes_per_sample; } } } - -static void planar_to_interleaved2( uint8_t *dest, AVFrame *src, int samples, int channels, int bytes_per_sample ) +#else +static void planar_to_interleaved( uint8_t *dest, uint8_t *src, int samples, int channels, int bytes_per_sample ) { int s, c; for ( s = 0; s < samples; s++ ) { for ( c = 0; c < channels; c++ ) { - memcpy( dest, &src->data[c][s * bytes_per_sample], bytes_per_sample ); + memcpy( dest, src + ( c * samples + s ) * bytes_per_sample, bytes_per_sample ); dest += bytes_per_sample; } } } +#endif static int decode_audio( producer_avformat self, int *ignore, AVPacket pkt, int channels, int samples, double timecode, double fps ) { @@ -2106,7 +2108,7 @@ static int decode_audio( producer_avformat self, int *ignore, AVPacket pkt, int case AV_SAMPLE_FMT_S32P: case AV_SAMPLE_FMT_FLTP: #if LIBAVCODEC_VERSION_MAJOR >= 55 - planar_to_interleaved2( dest, self->audio_frame, convert_samples, codec_context->channels, sizeof_sample ); + planar_to_interleaved( dest, self->audio_frame, convert_samples, codec_context->channels, sizeof_sample ); #else planar_to_interleaved( dest, decode_buffer, convert_samples, codec_context->channels, sizeof_sample ); #endif -- 2.39.2