[FFmpeg-cvslog] lpc: use function pointers, in preparation for asm

Michael Niedermayer michaelni at gmx.at
Sun Jun 30 12:59:17 CEST 2013


On Sun, Jun 30, 2013 at 11:29:49AM +0200, Loren Merritt wrote:
> ffmpeg | branch: master | Loren Merritt <lorenm at u.washington.edu> | Tue Jun 18 21:30:41 2013 +0000| [41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2] | committer: Luca Barbato
> 
> lpc: use function pointers, in preparation for asm
[...]
> diff --git a/libavutil/lls.h b/libavutil/lls.h
> index 9c71cf9..8183440 100644
> --- a/libavutil/lls.h
> +++ b/libavutil/lls.h
> @@ -37,12 +37,23 @@ typedef struct LLSModel {
>      double coeff[MAX_VARS][MAX_VARS];
>      double variance[MAX_VARS];
>      int indep_count;
> +    /**
> +     * Take the outer-product of var[] with itself, and add to the covariance matrix.
> +     * @param m this context
> +     * @param var training samples, starting with the value to be predicted
> +     */
> +    void (*update_lls)(struct LLSModel *m, double *var);
> +    /**
> +     * Inner product of var[] and the LPC coefs.
> +     * @param m this context
> +     * @param var training samples, excluding the value to be predicted
> +     * @param order lpc order
> +     */
> +    double (*evaluate_lls)(struct LLSModel *m, double *var, int order);
>  } LLSModel;

This and the other changes to the struct as well as the removial of
the delay argument break inter library ABI

So for example if a user has libavutil & libavcodec installed as
shared libs and he updates libavutil without libavcodec then things
will break and crash

IMHO these changes should either have been delayed until a major
version bump of libavutil or be introduced as a new lls2 module,
deprecating the lls one.

Ive bumped the minor versions of the libs so libavcodec cant be
updated withot libavutil but the other issue still exists and may
need distro maintainers to manually set some depends or conflicts

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
-------------- 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-cvslog/attachments/20130630/5d302b50/attachment.asc>


More information about the ffmpeg-cvslog mailing list