From 31db39d8ec9cd2b8df0123e2f2142a187733ecad Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Thu, 24 Apr 2008 08:43:56 +0300 Subject: Make video decoder description structs const This makes the per-decoder struct vd_functions and its ->info struct constants. Same for the mpcodecs_vd_drivers[] table of pointers to those structs. --- libmpcodecs/dec_video.c | 14 +++++++------- libmpcodecs/vd.c | 2 +- libmpcodecs/vd.h | 4 ++-- libmpcodecs/vd_dmo.c | 2 +- libmpcodecs/vd_dshow.c | 2 +- libmpcodecs/vd_ffmpeg.c | 2 +- libmpcodecs/vd_hmblck.c | 2 +- libmpcodecs/vd_ijpg.c | 2 +- libmpcodecs/vd_internal.h | 2 +- libmpcodecs/vd_libdv.c | 2 +- libmpcodecs/vd_libmpeg2.c | 2 +- libmpcodecs/vd_lzo.c | 2 +- libmpcodecs/vd_mpegpes.c | 2 +- libmpcodecs/vd_mpng.c | 2 +- libmpcodecs/vd_mtga.c | 2 +- libmpcodecs/vd_null.c | 2 +- libmpcodecs/vd_nuv.c | 2 +- libmpcodecs/vd_qtvideo.c | 2 +- libmpcodecs/vd_raw.c | 2 +- libmpcodecs/vd_realvid.c | 2 +- libmpcodecs/vd_sgi.c | 2 +- libmpcodecs/vd_theora.c | 2 +- libmpcodecs/vd_vfw.c | 2 +- libmpcodecs/vd_xanim.c | 2 +- libmpcodecs/vd_xvid4.c | 2 +- libmpcodecs/vd_zrmjpeg.c | 2 +- 26 files changed, 33 insertions(+), 33 deletions(-) (limited to 'libmpcodecs') diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c index a52580393b..b2c4b518ba 100644 --- a/libmpcodecs/dec_video.c +++ b/libmpcodecs/dec_video.c @@ -53,7 +53,7 @@ int get_video_quality_max(sh_video_t *sh_video) return ret; } } - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; if (vd) { int ret = vd->control(sh_video, VDCTRL_QUERY_MAX_PP_LEVEL, NULL); if (ret > 0) { @@ -72,7 +72,7 @@ void set_video_quality(sh_video_t *sh_video, int quality) if (ret == CONTROL_TRUE) return; // success } - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; if (vd) vd->control(sh_video, VDCTRL_SET_PP_LEVEL, (void *) (&quality)); } @@ -92,7 +92,7 @@ int set_video_colors(sh_video_t *sh_video, const char *item, int value) return (1); } /* try software control */ - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; if (vd && vd->control(sh_video, VDCTRL_SET_EQUALIZER, item, (int *) value) == CONTROL_OK) @@ -118,7 +118,7 @@ int get_video_colors(sh_video_t *sh_video, const char *item, int *value) } } /* try software control */ - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; if (vd) return vd->control(sh_video, VDCTRL_GET_EQUALIZER, item, value); return 0; @@ -140,14 +140,14 @@ int set_rectangle(sh_video_t *sh_video, int param, int value) void resync_video_stream(sh_video_t *sh_video) { - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; if (vd) vd->control(sh_video, VDCTRL_RESYNC_STREAM, NULL); } int get_current_video_decoder_lag(sh_video_t *sh_video) { - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; if (!vd) return -1; int ret = vd->control(sh_video, VDCTRL_QUERY_UNSEEN_FRAMES, NULL); @@ -283,7 +283,7 @@ static int init_video(sh_video_t *sh_video, char *codecname, char *vfm, } // init() - struct vd_functions *vd = sh_video->vd_driver; + const struct vd_functions *vd = sh_video->vd_driver; mp_msg(MSGT_DECVIDEO, MSGL_INFO, MSGTR_OpeningVideoDecoder, vd->info->short_name, vd->info->name); // clear vf init error, it is no longer relevant diff --git a/libmpcodecs/vd.c b/libmpcodecs/vd.c index f5d55be271..9d3a2bb066 100644 --- a/libmpcodecs/vd.c +++ b/libmpcodecs/vd.c @@ -47,7 +47,7 @@ extern vd_functions_t mpcodecs_vd_qtvideo; * decoder, add it to libavcodec, except for wrappers around external * libraries and decoders requiring binary support. */ -vd_functions_t *mpcodecs_vd_drivers[] = { +const vd_functions_t * const mpcodecs_vd_drivers[] = { &mpcodecs_vd_null, #ifdef USE_LIBAVCODEC &mpcodecs_vd_ffmpeg, diff --git a/libmpcodecs/vd.h b/libmpcodecs/vd.h index 03f1453539..df71970f7d 100644 --- a/libmpcodecs/vd.h +++ b/libmpcodecs/vd.h @@ -10,7 +10,7 @@ typedef mp_codec_info_t vd_info_t; /* interface of video decoder drivers */ typedef struct vd_functions { - vd_info_t *info; + const vd_info_t *info; int (*init)(sh_video_t *sh); void (*uninit)(sh_video_t *sh); int (*control)(sh_video_t *sh,int cmd,void* arg, ...); @@ -18,7 +18,7 @@ typedef struct vd_functions } vd_functions_t; // NULL terminated array of all drivers -extern vd_functions_t* mpcodecs_vd_drivers[]; +extern const vd_functions_t * const mpcodecs_vd_drivers[]; #define VDCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */ #define VDCTRL_QUERY_MAX_PP_LEVEL 4 /* test for postprocessing support (max level) */ diff --git a/libmpcodecs/vd_dmo.c b/libmpcodecs/vd_dmo.c index 22682675ca..abce6a9da6 100644 --- a/libmpcodecs/vd_dmo.c +++ b/libmpcodecs/vd_dmo.c @@ -11,7 +11,7 @@ #include "loader/dmo/DMO_VideoDecoder.h" -static vd_info_t info = { +static const vd_info_t info = { "DMO video codecs", "dmo", "A'rpi", diff --git a/libmpcodecs/vd_dshow.c b/libmpcodecs/vd_dshow.c index 391c59fe94..febdbb4e3f 100644 --- a/libmpcodecs/vd_dshow.c +++ b/libmpcodecs/vd_dshow.c @@ -11,7 +11,7 @@ #include "loader/dshow/DS_VideoDecoder.h" -static vd_info_t info = { +static const vd_info_t info = { "DirectShow video codecs", "dshow", "A'rpi", diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 87d0fd20b2..3f1aff0462 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -14,7 +14,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "FFmpeg's libavcodec codec family", "ffmpeg", "A'rpi", diff --git a/libmpcodecs/vd_hmblck.c b/libmpcodecs/vd_hmblck.c index 18f26f45e1..096f081d18 100644 --- a/libmpcodecs/vd_hmblck.c +++ b/libmpcodecs/vd_hmblck.c @@ -8,7 +8,7 @@ #define TEMP_BUF_SIZE (720*576) -static vd_info_t info = { +static const vd_info_t info = { "Hauppauge Macroblock/NV12/NV21 Decoder", "hmblck", "Alex , A'rpi, Alex Beregszaszi", diff --git a/libmpcodecs/vd_ijpg.c b/libmpcodecs/vd_ijpg.c index a54b339c8f..bd72cef175 100644 --- a/libmpcodecs/vd_ijpg.c +++ b/libmpcodecs/vd_ijpg.c @@ -16,7 +16,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "JPEG Images decoder", "ijpg", "Pontscho", diff --git a/libmpcodecs/vd_internal.h b/libmpcodecs/vd_internal.h index d04903e26a..dee8448cb1 100644 --- a/libmpcodecs/vd_internal.h +++ b/libmpcodecs/vd_internal.h @@ -19,7 +19,7 @@ static int init(sh_video_t *sh); static void uninit(sh_video_t *sh); static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags); -#define LIBVD_EXTERN(x) vd_functions_t mpcodecs_vd_##x = {\ +#define LIBVD_EXTERN(x) const vd_functions_t mpcodecs_vd_##x = {\ &info,\ init,\ uninit,\ diff --git a/libmpcodecs/vd_libdv.c b/libmpcodecs/vd_libdv.c index f7c1e4db03..8f5c6996ed 100644 --- a/libmpcodecs/vd_libdv.c +++ b/libmpcodecs/vd_libdv.c @@ -18,7 +18,7 @@ #include "vd_internal.h" -static vd_info_t info = +static const vd_info_t info = { "Raw DV Video Decoder", "libdv", diff --git a/libmpcodecs/vd_libmpeg2.c b/libmpcodecs/vd_libmpeg2.c index 369c1da685..8be6d7f841 100644 --- a/libmpcodecs/vd_libmpeg2.c +++ b/libmpcodecs/vd_libmpeg2.c @@ -9,7 +9,7 @@ //#undef MPEG12_POSTPROC -static vd_info_t info = +static const vd_info_t info = { "MPEG 1/2 Video decoder libmpeg2-v0.4.0b", "libmpeg2", diff --git a/libmpcodecs/vd_lzo.c b/libmpcodecs/vd_lzo.c index a2e92a5301..a49a418e26 100644 --- a/libmpcodecs/vd_lzo.c +++ b/libmpcodecs/vd_lzo.c @@ -9,7 +9,7 @@ #define MOD_NAME "DecLZO" -static vd_info_t info = { +static const vd_info_t info = { "LZO compressed Video", "lzo", "Tilmann Bitterberg", diff --git a/libmpcodecs/vd_mpegpes.c b/libmpcodecs/vd_mpegpes.c index 033df36fa6..598b1203ba 100644 --- a/libmpcodecs/vd_mpegpes.c +++ b/libmpcodecs/vd_mpegpes.c @@ -7,7 +7,7 @@ #include "vd_internal.h" -static vd_info_t info = +static const vd_info_t info = { "MPEG 1/2 Video passthrough", "mpegpes", diff --git a/libmpcodecs/vd_mpng.c b/libmpcodecs/vd_mpng.c index f4af973e8d..cab4cf66d4 100644 --- a/libmpcodecs/vd_mpng.c +++ b/libmpcodecs/vd_mpng.c @@ -12,7 +12,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "PNG Images decoder", "mpng", "A'rpi", diff --git a/libmpcodecs/vd_mtga.c b/libmpcodecs/vd_mtga.c index c9e0c24555..61022c71c8 100644 --- a/libmpcodecs/vd_mtga.c +++ b/libmpcodecs/vd_mtga.c @@ -16,7 +16,7 @@ #include "vd_internal.h" -static vd_info_t info = +static const vd_info_t info = { "TGA Images decoder", "mtga", diff --git a/libmpcodecs/vd_null.c b/libmpcodecs/vd_null.c index a82a3ba036..34392962b1 100644 --- a/libmpcodecs/vd_null.c +++ b/libmpcodecs/vd_null.c @@ -6,7 +6,7 @@ #include "vd_internal.h" -static vd_info_t info = +static const vd_info_t info = { "Null video decoder", "null", diff --git a/libmpcodecs/vd_nuv.c b/libmpcodecs/vd_nuv.c index cb89ddb391..21ed42ec1d 100644 --- a/libmpcodecs/vd_nuv.c +++ b/libmpcodecs/vd_nuv.c @@ -6,7 +6,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "NuppelVideo decoder", "nuv", "A'rpi", diff --git a/libmpcodecs/vd_qtvideo.c b/libmpcodecs/vd_qtvideo.c index 6dcd2b44c4..c82b97338a 100644 --- a/libmpcodecs/vd_qtvideo.c +++ b/libmpcodecs/vd_qtvideo.c @@ -18,7 +18,7 @@ #include "loader/ldt_keeper.h" #endif -static vd_info_t info = { +static const vd_info_t info = { "Quicktime Video decoder", "qtvideo", "A'rpi", diff --git a/libmpcodecs/vd_raw.c b/libmpcodecs/vd_raw.c index d025fd0060..7eeda88c00 100644 --- a/libmpcodecs/vd_raw.c +++ b/libmpcodecs/vd_raw.c @@ -6,7 +6,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "RAW Uncompressed Video", "raw", "A'rpi", diff --git a/libmpcodecs/vd_realvid.c b/libmpcodecs/vd_realvid.c index 0c346ef42a..5070266aab 100644 --- a/libmpcodecs/vd_realvid.c +++ b/libmpcodecs/vd_realvid.c @@ -13,7 +13,7 @@ #include "vd_internal.h" #include "loader/wine/windef.h" -static vd_info_t info = { +static const vd_info_t info = { "RealVideo decoder", "realvid", "Alex Beregszaszi", diff --git a/libmpcodecs/vd_sgi.c b/libmpcodecs/vd_sgi.c index 1496b041e3..e4e72285b9 100644 --- a/libmpcodecs/vd_sgi.c +++ b/libmpcodecs/vd_sgi.c @@ -21,7 +21,7 @@ #define OUT_PIXEL_STRIDE 3 /* RGB */ -static vd_info_t info = +static const vd_info_t info = { "SGI Image decoder", "sgi", diff --git a/libmpcodecs/vd_theora.c b/libmpcodecs/vd_theora.c index 3ed2f88354..69beb08198 100644 --- a/libmpcodecs/vd_theora.c +++ b/libmpcodecs/vd_theora.c @@ -9,7 +9,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "Theora/VP3", "theora", "David Kuehling", diff --git a/libmpcodecs/vd_vfw.c b/libmpcodecs/vd_vfw.c index f21a6d2c82..e74007803e 100644 --- a/libmpcodecs/vd_vfw.c +++ b/libmpcodecs/vd_vfw.c @@ -10,7 +10,7 @@ #include "loader/wine/driver.h" #include "loader/wine/vfw.h" -static vd_info_t info = { +static const vd_info_t info = { #ifdef BUILD_VFWEX "Win32/VfWex video codecs", "vfwex", diff --git a/libmpcodecs/vd_xanim.c b/libmpcodecs/vd_xanim.c index 57e2135f58..07acf558be 100644 --- a/libmpcodecs/vd_xanim.c +++ b/libmpcodecs/vd_xanim.c @@ -18,7 +18,7 @@ #include "vd_internal.h" -static vd_info_t info = { +static const vd_info_t info = { "XAnim codecs", "xanim", "A'rpi & Alex", diff --git a/libmpcodecs/vd_xvid4.c b/libmpcodecs/vd_xvid4.c index 9d9559feba..4003821bfa 100644 --- a/libmpcodecs/vd_xvid4.c +++ b/libmpcodecs/vd_xvid4.c @@ -378,7 +378,7 @@ static float stats2aspect(xvid_dec_stats_t *stats) * Module structure definition ****************************************************************************/ -static vd_info_t info = +static const vd_info_t info = { "XviD 1.0 decoder", "xvid", diff --git a/libmpcodecs/vd_zrmjpeg.c b/libmpcodecs/vd_zrmjpeg.c index c33c71778a..6f8ce58fcf 100644 --- a/libmpcodecs/vd_zrmjpeg.c +++ b/libmpcodecs/vd_zrmjpeg.c @@ -19,7 +19,7 @@ #include "vd_internal.h" -static vd_info_t info = +static const vd_info_t info = { "Zoran MJPEG Video passthrough", "zrmjpeg", -- cgit v1.2.3