5539
|
1 #include <stdio.h>
|
|
2 #include <stdlib.h>
|
|
3 #include <string.h>
|
|
4 #include <inttypes.h>
|
|
5
|
|
6 #include "../config.h"
|
|
7 #include "../mp_msg.h"
|
|
8
|
|
9 #include "../libvo/img_format.h"
|
|
10 #include "../mp_image.h"
|
|
11 #include "vf.h"
|
|
12
|
|
13 struct vf_priv_s {
|
|
14 unsigned int fmt;
|
|
15 };
|
|
16
|
|
17 //===========================================================================//
|
|
18
|
|
19 static int query_format(struct vf_instance_s* vf, unsigned int fmt){
|
|
20 if(fmt==vf->priv->fmt)
|
|
21 return vf_next_query_format(vf,fmt);
|
|
22 return 0;
|
|
23 }
|
|
24
|
|
25 static int open(vf_instance_t *vf, char* args){
|
|
26 vf->query_format=query_format;
|
|
27 vf->priv=malloc(sizeof(struct vf_priv_s));
|
|
28
|
|
29 if(args){
|
|
30 if(!strcasecmp(args,"yuy2")) vf->priv->fmt=IMGFMT_YUY2; else
|
|
31 if(!strcasecmp(args,"yv12")) vf->priv->fmt=IMGFMT_YV12; else
|
|
32 if(!strcasecmp(args,"i420")) vf->priv->fmt=IMGFMT_I420; else
|
|
33 if(!strcasecmp(args,"iyuv")) vf->priv->fmt=IMGFMT_IYUV; else
|
|
34 if(!strcasecmp(args,"uyvy")) vf->priv->fmt=IMGFMT_UYVY; else
|
|
35 if(!strcasecmp(args,"bgr24")) vf->priv->fmt=IMGFMT_BGR24; else
|
|
36 if(!strcasecmp(args,"bgr32")) vf->priv->fmt=IMGFMT_BGR32; else
|
|
37 if(!strcasecmp(args,"bgr16")) vf->priv->fmt=IMGFMT_BGR16; else
|
|
38 { printf("Unknown format name: '%s'\n",args);return 0;}
|
|
39 } else
|
|
40 vf->priv->fmt=IMGFMT_YUY2;
|
|
41
|
|
42 return 1;
|
|
43 }
|
|
44
|
|
45 vf_info_t vf_info_format = {
|
|
46 "force output format",
|
|
47 "format",
|
|
48 "A'rpi",
|
|
49 "",
|
|
50 open
|
|
51 };
|
|
52
|
|
53 //===========================================================================//
|