[FFmpeg-devel] [PATCH] libavcodec: Implementation of AC3 fixed point decoder

Michael Niedermayer michaelni at gmx.at
Tue Jan 7 18:21:18 CET 2014


On Tue, Dec 31, 2013 at 01:36:51PM +0000, Nedeljko Babic wrote:
> >> >> +     *             constraints: multiple of 4
> >> >> +     */
> >> >> +    void (*vector_fmul_window_fixed)(int32_t *dst, const int32_t *src0, const int32_t *src1, const int32_t *win, int len);
> >> >> +
> >> >> +} AVFixedDSPContext;
> >> >> +
> >> >> +/**
> >> >> + * Initialize a fixed DSP context.
> >> >> + *
> >> >> + * @param fdsp    fixed DSP context
> >> >> + * @param strict  setting to non-zero avoids using functions which may not be IEEE-754 compliant
> >> >> + */
> >> >> +void avpriv_fixed_dsp_init(AVFixedDSPContext *fdsp, int strict);
> >> >
> >> >This API/ABI is not extendible, any field added to the struct requires
> >> >a major version and soname bump, adding such API/ABI is not ok
> >> >yes i know you copied that design from existing code, its not ok there
> >> >either
> >> 
> >> We can make these functions stand alone and call them as such, but I guess
> >> that this is bad idea also. Do you have a suggestion how should we treat them
> >> correctly?
> >
> >i guess the easiest solution is to make the struct allocated
> >by something
> >
> >like for example:
> >AVFixedDSPContext * avpriv_alloc_fixed_dsp(int strict);
> >and drop avpriv_fixed_dsp_init()
> >
> >and document how it has to be freed (like av_free or a seperate
> >avpriv_free_fixed_dsp()
> 
> But we would still have the same structure that implements the same API/ABI, 
> even if it is allocated and we would still need to initialize function pointers.
> 
> Wouldn't we? 

yes
but the user would have a pointer to that structure then while now
the user has a pointer to something smaller where the init function
would overwrite something outside that too small space


> 
> Or am I missing something...?
> 
> -Nedeljko
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140107/9591fef3/attachment.asc>


More information about the ffmpeg-devel mailing list