On Sat, Apr 23, 2011 at 01:16:45PM +0200, Benjamin Larsson wrote:
> On 04/23/2011 12:18 PM, Diego Biurrun wrote:
> > On Fri, Apr 22, 2011 at 10:19:44PM -0400, Justin Ruggles wrote:
> >>
> >> Based on patches by clsid2 in ffdshow-tryout.
> >>
> >> --- a/libavcodec/aacdec.c
> >> +++ b/libavcodec/aacdec.c
> >> @@ -549,7 +549,11 @@ static av_cold int aac_decode_init(AVCodecContext
> >> *avctx)
> >>
> >> +#if CONFIG_AUDIO_FLOAT
> >> + avctx->sample_fmt = AV_SAMPLE_FMT_FLT;
> >> +#else
> >> avctx->sample_fmt = AV_SAMPLE_FMT_S16;
> >> +#endif
> >
> > The code is now littered with these #if #else #endif blocks in many
> > places. Maybe you can just set a few #defines at the top depending
> > on whether or not CONFIG_AUDIO_FLOAT is in effect or not and use
> > them below. This would concentrate the #ifdeffery in one place.
>
> Exactly how do you propose to do that?
Something like this at the top of the file (note that the names could
likely be improved):
#if CONFIG_AUDIO_FLOAT
#define AV_SAMPLE_FMT_NATIVE AV_SAMPLE_FMT_FLT
#else
#define AV_SAMPLE_FMT_NATIVE AV_SAMPLE_FMT_S16
#endif
and then the above ugly block just reads
avctx->sample_fmt = AV_SAMPLE_FMT_NATIVE;
Since at least the AV_SAMPLE_FMT thing is used in multiple places
within each file, this should even save some lines. Also, I think
both AAC and AC-3 used the same formats, probably more codecs do,
so this could be placed in a common header, saving even more
#ifdeffery...
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel