[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