summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@symbol.nonexistent.invalid>2008-04-24 08:43:56 +0300
committerUoti Urpala <uau@symbol.nonexistent.invalid>2008-04-25 07:16:32 +0300
commit31db39d8ec9cd2b8df0123e2f2142a187733ecad (patch)
treed550915eb5339500161fb58ff30c991d97cc3171
parent7dc42263486bd45d2ba830f065a8556c02aaf7c8 (diff)
downloadmpv-31db39d8ec9cd2b8df0123e2f2142a187733ecad.tar.bz2
mpv-31db39d8ec9cd2b8df0123e2f2142a187733ecad.tar.xz
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.
-rw-r--r--libmpcodecs/dec_video.c14
-rw-r--r--libmpcodecs/vd.c2
-rw-r--r--libmpcodecs/vd.h4
-rw-r--r--libmpcodecs/vd_dmo.c2
-rw-r--r--libmpcodecs/vd_dshow.c2
-rw-r--r--libmpcodecs/vd_ffmpeg.c2
-rw-r--r--libmpcodecs/vd_hmblck.c2
-rw-r--r--libmpcodecs/vd_ijpg.c2
-rw-r--r--libmpcodecs/vd_internal.h2
-rw-r--r--libmpcodecs/vd_libdv.c2
-rw-r--r--libmpcodecs/vd_libmpeg2.c2
-rw-r--r--libmpcodecs/vd_lzo.c2
-rw-r--r--libmpcodecs/vd_mpegpes.c2
-rw-r--r--libmpcodecs/vd_mpng.c2
-rw-r--r--libmpcodecs/vd_mtga.c2
-rw-r--r--libmpcodecs/vd_null.c2
-rw-r--r--libmpcodecs/vd_nuv.c2
-rw-r--r--libmpcodecs/vd_qtvideo.c2
-rw-r--r--libmpcodecs/vd_raw.c2
-rw-r--r--libmpcodecs/vd_realvid.c2
-rw-r--r--libmpcodecs/vd_sgi.c2
-rw-r--r--libmpcodecs/vd_theora.c2
-rw-r--r--libmpcodecs/vd_vfw.c2
-rw-r--r--libmpcodecs/vd_xanim.c2
-rw-r--r--libmpcodecs/vd_xvid4.c2
-rw-r--r--libmpcodecs/vd_zrmjpeg.c2
-rw-r--r--libmpdemux/stheader.h2
27 files changed, 34 insertions, 34 deletions
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 <d18c7db@hotmail.com>, 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",
diff --git a/libmpdemux/stheader.h b/libmpdemux/stheader.h
index 469314b541..6ca9866ec3 100644
--- a/libmpdemux/stheader.h
+++ b/libmpdemux/stheader.h
@@ -85,7 +85,7 @@ typedef struct sh_video {
unsigned int outfmtidx;
struct vf_instance *vfilter; // the video filter chain, used for this video stream
int output_flags; // query_format() results for output filters+vo
- struct vd_functions *vd_driver;
+ const struct vd_functions *vd_driver;
int vf_initialized;
#ifdef DYNAMIC_PLUGINS
void *dec_handle;