summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-03 21:54:54 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-03 21:54:54 +0000
commit9b4542f466580c4193b565638573d1ca8776ae6f (patch)
tree97704fff4024acad0ebad03bfa82f9594818c2d1 /libmpcodecs
parente63a631f945a1276d06b806f59310d19b122d05e (diff)
downloadmpv-9b4542f466580c4193b565638573d1ca8776ae6f.tar.bz2
mpv-9b4542f466580c4193b565638573d1ca8776ae6f.tar.xz
cannot rotate non-symmetric yuv pixel formats
bugrep. by Filip Kalinski <filon@pld.org.pl> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8750 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf_rotate.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libmpcodecs/vf_rotate.c b/libmpcodecs/vf_rotate.c
index 65eb32ffa7..96f212eb66 100644
--- a/libmpcodecs/vf_rotate.c
+++ b/libmpcodecs/vf_rotate.c
@@ -98,9 +98,27 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
//===========================================================================//
+static int query_format(struct vf_instance_s* vf, unsigned int fmt){
+ if(IMGFMT_IS_RGB(fmt) || IMGFMT_IS_BGR(fmt)) return vf_next_query_format(vf, fmt);
+ // we can support only symmetric (chroma_x_shift==chroma_y_shift) YUV formats:
+ switch(fmt) {
+ case IMGFMT_YV12:
+ case IMGFMT_I420:
+ case IMGFMT_IYUV:
+ case IMGFMT_YVU9:
+// case IMGFMT_IF09:
+ case IMGFMT_Y8:
+ case IMGFMT_Y800:
+ case IMGFMT_444P:
+ return vf_next_query_format(vf, fmt);
+ }
+ return 0;
+}
+
static int open(vf_instance_t *vf, char* args){
vf->config=config;
vf->put_image=put_image;
+ vf->query_format=query_format;
vf->priv=malloc(sizeof(struct vf_priv_s));
vf->priv->direction=args?atoi(args):0;
return 1;