summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-05 00:22:37 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-05 00:22:37 +0000
commitceb31765ba134403a8a0d4046170a8eff09b11df (patch)
tree0d19bf83220bdbac8521b100be069ead744dcf2f
parent1500ec16c5b28990a58de19ffd5cc17b8a43c806 (diff)
downloadmpv-ceb31765ba134403a8a0d4046170a8eff09b11df.tar.bz2
mpv-ceb31765ba134403a8a0d4046170a8eff09b11df.tar.xz
Fix draw_slice() in passthrough mode.
patch by Balatoni Denes <pnis@coder.hu> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8368 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--libmpcodecs/vf.c4
-rw-r--r--libmpcodecs/vf.h1
-rw-r--r--libmpcodecs/vf_rotate.c3
3 files changed, 8 insertions, 0 deletions
diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c
index d348a506a8..3001eae288 100644
--- a/libmpcodecs/vf.c
+++ b/libmpcodecs/vf.c
@@ -390,6 +390,10 @@ int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi){
return vf->next->put_image(vf->next,mpi);
}
+void vf_next_draw_slice(struct vf_instance_s* vf,unsigned char** src, int * stride,int w, int h, int x, int y){
+ vf->next->draw_slice(vf->next,src,stride,w,h,x,y);
+}
+
//============================================================================
vf_instance_t* append_filters(vf_instance_t* last){
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index fa7fb47b2a..fe04c467ef 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -78,6 +78,7 @@ int vf_next_config(struct vf_instance_s* vf,
int vf_next_control(struct vf_instance_s* vf, int request, void* data);
int vf_next_query_format(struct vf_instance_s* vf, unsigned int fmt);
int vf_next_put_image(struct vf_instance_s* vf,mp_image_t *mpi);
+void vf_next_draw_slice (struct vf_instance_s* vf, unsigned char** src, int* stride, int w,int h, int x, int y);
vf_instance_t* append_filters(vf_instance_t* last);
diff --git a/libmpcodecs/vf_rotate.c b/libmpcodecs/vf_rotate.c
index bc4e279eb7..65eb32ffa7 100644
--- a/libmpcodecs/vf_rotate.c
+++ b/libmpcodecs/vf_rotate.c
@@ -61,6 +61,9 @@ static int config(struct vf_instance_s* vf,
}
if (vf->priv->direction & 4){
vf->put_image=vf_next_put_image; // passthru mode!
+ if (vf->next->draw_slice) vf->draw_slice=vf_next_draw_slice;
+/* FIXME: this should be in an other procedure in vf.c; that should always check
+ whether the filter after the passthrough one still (not)supports slices */
return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
}
return vf_next_config(vf,height,width,d_height,d_width,flags,outfmt);