GNOME Bugzilla – Bug 619484
vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
Last modified: 2010-06-01 09:20:58 UTC
Created attachment 161829 [details] [review] patch This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599e97891b
Better would be something like this additionally: #ifndef VPX_IMG_FMT_I420 #define VPX_IMG_FMT_I420 IMG_FMT_I420 #endif That way compilation with latest release is still possible. I saw that commit too but I planned to wait until all defines/enum values/etc from vpx_image.h are changed. The PLANE_ defines are still not prefixed by VPX_ for example.
Can we check the API version somehow in configure? Otherwise, maybe we should just check for the VPX_IMG_FMT_I420 define and disable the plugin if that's already defined (implying git version or future release).
Well, we can run code to check the API version. Not a good idea :) Why would you want to *disable* the plugin, if VPX_IMG_FMT_I420 is defined? With the simple #ifdef block from comment #1 we can support GIT and latest release.
> Why would you want to *disable* the plugin, if VPX_IMG_FMT_I420 is defined? > With the simple #ifdef block from comment #1 we can support GIT and latest > release. My understanding is that there will be more API changes, and likely some that we won't be able to anticipate? So I'd rather disable the plugin than have it break compilation in future (next -bad release is not going to be for another 2 months or so after all). Alternatively, if we're sure they're just going to prefix a bunch of defines we could add #ifdef blocks for anticipated/possible changes I guess.
Google said that the API should be more or less stable now and things will be only changed if really necessary. The rationale for this rename from IMG_FMT_I420 to something with VPX_ in the beginning was, to prevent naming clashes.
It looks like libvpx will get the old names again soon, put into deprecated guards: http://code.google.com/p/webm/issues/detail?id=25 I'll push your patch with my #ifdef block after release then. For the remaining renames see http://code.google.com/p/webm/issues/detail?id=27
The deprecated old stuff is in libvpx GIT now: commit db89bc3473307e1b9475dd5a36c813be024c9fe9 Merge: ad6a9d4 24fcc79 Author: James Zern <jzern@google.com> Date: Mon May 24 10:47:38 2010 -0700 Merge "Restore and deprecate img_fmt" commit 24fcc79892fe0c404367b032a9dc44c78f508a68 Author: James Zern <jzern@google.com> Date: Sat May 22 13:56:14 2010 -0400 Restore and deprecate img_fmt Deprecate img_fmt type and constants removed in 6cd4a10 allowing older code to build. Addresses: http://code.google.com/p/webm/issues/detail?id=25 Change-Id: I786bff1ebde4d1621c6f58dcc685f382bb733e29
commit 443af97a4114784c6c93bc388efdc20d69fc2832 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Wed May 26 06:52:15 2010 +0200 vp8: Use VPX_PLANE_* instead of PLANE_* commit 637a12a028e45165d07ce250035f3cc19dd5a424 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Mon May 24 11:04:02 2010 +0200 vp8: Add compatilibity defines to work with older versions of libvpx too commit 4c552be9d913d15003821abe375982fb9aedbb09 Author: Philip Jägenstedt <philipj@opera.com> Date: Sun May 23 09:28:13 2010 +0200 vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/ This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599