On 07.08.2019, at 19:39, Daniel Kolesa <dan...@octaforge.org> wrote:

> While this technically compiles in current ffmpeg, this is only
> because ffmpeg is compiled in strict ISO C mode, which disables
> the builtin 'vector' keyword for AltiVec/VSX. Instead this gets
> replaced with a macro inside altivec.h, which defines vector to
> be actually __vector, which accepts random types.
> 
> Normally, the vector keyword should be used only with plain
> scalar non-typedef types, such as unsigned int. But we have the
> vec_(s|u)(8|16|32) macros, which can be used in a portable manner,
> in util_altivec.h in libavutil.
> 
> This is also consistent with other AltiVec/VSX code elsewhere in
> the tree.

I see the consistency argument, but otherwise it really doesn't sound 
convincing.
I don't think the intend to support compiling with -std=gnu11 either way, so 
not sure we should care about that.
And not allowing typedef'd type seems utterly silly and against any expected C 
behaviour that for simple maintenance reasons I don't think we want this 
long-term.
As far as I remember switching to __vector everywhere is not really an option 
either though because some compilers do not accept that?
I don't strictly object to the change, it just doesn't really feel like a truly 
good path forward long-term.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to