+ int (*decode_handler)(AVCodecContext *avctx, AVFrame *picture,
+ int *got_picture_ptr,
+ const AVPacket *avpkt) = NULL;
+
+ if (!c) {
+#ifdef FFMPEG_DECODER
+#define DECODER_SYMBOL0(CODEC) ff_##CODEC##_decoder
+#define DECODER_SYMBOL(CODEC) DECODER_SYMBOL0(CODEC)
+ extern AVCodec DECODER_SYMBOL(FFMPEG_DECODER);
+ avcodec_register(&DECODER_SYMBOL(FFMPEG_DECODER));
+
+ c = &DECODER_SYMBOL(FFMPEG_DECODER);
+
+ // Unsupported
+ if (c->capabilities & AV_CODEC_CAP_HWACCEL_VDPAU)
+ return 0;
+#else
+ avcodec_register_all();