[FFmpeg-devel] [PATCH] pixdesc: Add av_get_pix_fmt_descriptor()
Michael Niedermayer
michaelni
Wed Sep 8 15:40:50 CEST 2010
On Mon, Aug 30, 2010 at 03:19:18PM +0200, Tomas H?rdin wrote:
> On Fri, 2010-07-09 at 16:45 +0200, Michael Niedermayer wrote:
> > On Thu, Jul 08, 2010 at 02:48:29PM +0200, Tomas H?rdin wrote:
> > > Hi
> > >
> > > While poking around with MinGW compiled lav* DLLs in MSVC I noticed
> > > link.exe can't resolve references to av_pix_fmt_descriptors. This is due
> > > to how import libraries work, but I'm not an expert. The important thing
> > > is that only functions get exported properly - globals don't.
> >
> > see:
> > __declspec(dllexport)
> > __attribute__ ((dllexport))
> > --export-all
> > msdn
> > gcc docs
>
> I finally got around to poking at this again. Adding
> __declspec(dllimport) is enough for the variable to be imported
> properly. It's already exported. The attached patch defines a macro
> called AV_DLLIMPORT, listed below:
>
> #ifdef WIN32
> #define AV_DLLIMPORT __declspec(dllimport)
> #else
> #define AV_DLLIMPORT
> #endif
>
> I'm not sure this is the prettiest solution, but it works well enough on
> my Ubuntu machine, in MSYS and in MSVC.
>
> I also realized that there are more variables that won't be imported
> properly in MSVC without such a macro. A quick search among the
> installed headers indicate that at least the following variables are
> part of the public API:
>
> ff_log2_tab
> av_reverse
> av_pix_fmt_descriptors
> av_md5_size
> av_sha1_size
>
> The attached patch adds AV_DLLIMPORT to those variables, and passes
> regtests.
>
> /Tomas
>
> common.h | 10 ++++++++--
> md5.h | 3 ++-
> pixdesc.h | 3 ++-
> sha1.h | 3 ++-
> 4 files changed, 14 insertions(+), 5 deletions(-)
> df35a9b6d2178e33054375e739a970c4b1a0536f dllimport.patch
this patch should be ok if its shown to actually fix an issue.
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Dictatorship naturally arises out of democracy, and the most aggravated
form of tyranny and slavery out of the most extreme liberty. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100908/4b1c887e/attachment.pgp>
More information about the ffmpeg-devel
mailing list