[FFmpeg-cvslog] r20502 - in trunk: configure libavcodec/allcodecs.c libavcodec/h263dec.c libavcodec/imgconvert.c libavcodec/vdpau.c libavcodec/vdpau.h libavcodec/vdpau_internal.h libavutil/pixfmt.h

Uoti Urpala uoti.urpala
Mon Nov 16 16:47:57 CET 2009

On Mon, 2009-11-16 at 12:02 +0000, M?ns Rullg?rd wrote:
> Jai Menon <jmenon86 at gmail.com> writes:
> > I had written a patch a few days ago, which was fixed/corrected by
> > Mans, which disables just the mpeg4 vdpau support instead of disabling
> > vdpau entirely in case of old headers. Any opinions on such an
> > approach?
> diff --git a/configure b/configure
> -mpeg4_vdpau_decoder_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
> +mpeg4_vdpau_decoder_deps="vdpau_vdpau_h vdpau_vdpau_x11_h vdpau_mpeg4"

> +check_cpp_condition \
> +    vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" && \
> +    enable vdpau_mpeg4
> +
>  enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"

This doesn't work because the public libavcodec/vdpau.h header uses a
type only in the newest vdpau/vdpau.h and vdpau.c has MPEG4-specific
code that's not under any #ifdef.

This is a hack that I used to make mplayer-build work with older VDPAU
headers for now:
(note that the misspelling of FFmpeg is not mine :)

The #ifdef in a public header works OK because it tests a #define from
vdpau/vdpau.h, but it's not too pretty.
(note that the misspelling of FFmpeg is not mine :)

If someone really wants to implement that as more than a temporary hack
then at least the vdpau.c #ifdef should test the decoder being enabled

More information about the ffmpeg-cvslog mailing list