summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vf.h
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-11 20:56:17 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-11 20:56:17 +0000
commit39e3a780ce9ac86245ae3fd28515f1a2b5dfff8d (patch)
treead69d9167f0f962b19bcfc45a2994721a66cf2ad /libmpcodecs/vf.h
parenta2ac31892837e61cc2e441cd143ad4d6afdaed24 (diff)
downloadmpv-39e3a780ce9ac86245ae3fd28515f1a2b5dfff8d.tar.bz2
mpv-39e3a780ce9ac86245ae3fd28515f1a2b5dfff8d.tar.xz
capabilities support -> automatic insertion of scale, expand, pp
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5566 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf.h')
-rw-r--r--libmpcodecs/vf.h29
1 files changed, 6 insertions, 23 deletions
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index 1a0260d2f2..1fa6cd734a 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -34,6 +34,9 @@ typedef struct vf_instance_s {
void (*draw_slice)(struct vf_instance_s* vf,
unsigned char* src, int* stride, int w,int h, int x, int y);
void (*uninit)(struct vf_instance_s* vf);
+ // caps:
+ unsigned int default_caps; // used by default query_format()
+ unsigned int default_reqs; // used by default config()
// data:
vf_image_context_t imgctx;
struct vf_instance_s* next;
@@ -47,29 +50,7 @@ typedef struct vf_instance_s {
#define VFCTRL_SET_PP_LEVEL 5 /* set postprocessing level */
#define VFCTRL_SET_EQUALIZER 6 /* set color options (brightness,contrast etc) */
-// VFCAP_* values: they are flags, returned by query_format():
-
-// set, if the given colorspace is supported (with or without conversion)
-#define VFCAP_CSP_SUPPORTED 0x1
-// set, if the given colorspace is supported _without_ conversion
-#define VFCAP_CSP_SUPPORTED_BY_HW 0x2
-// set if the driver/filter can draw OSD
-#define VFCAP_OSD 0x4
-// set if the driver/filter can handle compressed SPU stream
-#define VFCAP_SPU 0x8
-// scaling up/down by hardware, or software:
-#define VFCAP_HWSCALE_UP 0x10
-#define VFCAP_HWSCALE_DOWN 0x20
-#define VFCAP_SWSCALE 0x40
-// driver/filter can do vertical flip (upside-down)
-#define VFCAP_FLIP 0x80
-
-// driver/hardware handles timing (blocking)
-#define VFCAP_TIMER 0x100
-// driver _always_ flip image upside-down (for ve_vfw)
-#define VFCAP_FLIPPED 0x200
-// driver accept stride: (put_image/draw_frame)
-#define VFCAP_ACCEPT_STRIDE 0x400
+#include "vfcap.h"
// functions:
mp_image_t* vf_get_image(vf_instance_t* vf, unsigned int outfmt, int mp_imgtype, int mp_imgflag, int w, int h);
@@ -78,6 +59,8 @@ vf_instance_t* vf_open_plugin(vf_info_t** filter_list, vf_instance_t* next, char
vf_instance_t* vf_open_filter(vf_instance_t* next, char *name, char *args);
vf_instance_t* vf_open_encoder(vf_instance_t* next, char *name, char *args);
+unsigned int vf_match_csp(vf_instance_t** vfp,unsigned int* list,unsigned int preferred);
+
// default wrappers:
int vf_next_config(struct vf_instance_s* vf,
int width, int height, int d_width, int d_height,