[FFmpeg-devel] [PATCH] mips: optimization for float aac decoder (core module)

Babic, Nedeljko nbabic at mips.com
Fri Jan 18 11:19:24 CET 2013

>> diff --git a/libavcodec/aac.h b/libavcodec/aac.h
>> index 9e9fa0e..e23d18b 100644
>> --- a/libavcodec/aac.h
>> +++ b/libavcodec/aac.h
>> @@ -257,10 +257,12 @@ typedef struct ChannelElement {
>>      SpectralBandReplication sbr;
>>  } ChannelElement;
>> +typedef struct AACContext AACContext;
>> +
>>  /**
>>   * main AAC context
>>   */
>> -typedef struct AACContext {
>> +struct AACContext {
>>      AVClass        *class;
>>      AVCodecContext *avctx;
>>      AVFrame frame;
>is that change needed ?

The change is needed because in this structure there are pointers 
to functions which have arguments of type AACContext. 
We could have use "struct AACContext" for declaring these pointers 
in this particular patch, but in second patch there are also function 
pointers to AACContext in structure in file sbr.h so we need to 
define type AACContext anyway.

>also i tried to apply the patch but it doesnt apply cleanly anymore
>CONFLICT (content): Merge conflict in libavutil/mips/float_dsp_mips.c
>CONFLICT (modify/delete): libavcodec/mips/dsputil_mips.c deleted in HEAD and modified in mips: optimization for float aac decoder (core module). Version mips: optimization for float aac decoder (core module) of libavcodec/mips/dsputil_mips.c left in tree.

Conflicts are effect of newest changes to dsputil and float_dsp files 
(specifically moving mips optimization of vector_fmul_window from 
dsputil_mips to float_dsp_mips). I will remake patch so it can be 
applied to newest version and resubmit it.


More information about the ffmpeg-devel mailing list