⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tvi_dummy.c

📁 君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图片解码,浏览,电子书,录音,想学ucos,识货的人就下吧 russblock fmradio explore set
💻 C
字号:
/*    Only a sample!*/#include "config.h"#include <mplaylib.h>#include "libmpcodecs/img_format.h"#include "tv.h"static tvi_handle_t *tvi_init_dummy(tv_param_t* tv_param);/* information about this file */tvi_info_t tvi_info_dummy = {	tvi_init_dummy,	"NULL-TV",	"dummy",	"alex",	NULL};/* private data's */typedef struct {    int width;    int height;} priv_t;#include "tvi_def.h"/* handler creator - entry point ! */static tvi_handle_t *tvi_init_dummy(tv_param_t* tv_param){    return(new_handle());}/* initialisation */static int init(priv_t *priv){    priv->width = 320;    priv->height = 200;    return(1);}/* that's the real start, we'got the format parameters (checked with control) */static int start(priv_t *priv){    return(1);}static int uninit(priv_t *priv){    return(1);}static int control(priv_t *priv, int cmd, void *arg){    switch(cmd)    {	case TVI_CONTROL_IS_VIDEO:	    return(TVI_CONTROL_TRUE);	case TVI_CONTROL_VID_GET_FORMAT://	    *(int *)arg = IMGFMT_YV12;	    *(int *)arg = IMGFMT_YV12;	    return(TVI_CONTROL_TRUE);	case TVI_CONTROL_VID_SET_FORMAT:	{//	    int req_fmt = *(int *)arg;	    int req_fmt = *(int *)arg;	    if (req_fmt != IMGFMT_YV12)		return(TVI_CONTROL_FALSE);	    return(TVI_CONTROL_TRUE);	}	case TVI_CONTROL_VID_SET_WIDTH:	    priv->width = *(int *)arg;	    return(TVI_CONTROL_TRUE);	case TVI_CONTROL_VID_GET_WIDTH:	    *(int *)arg = priv->width;	    return(TVI_CONTROL_TRUE);	case TVI_CONTROL_VID_SET_HEIGHT:	    priv->height = *(int *)arg;	    return(TVI_CONTROL_TRUE);	    	case TVI_CONTROL_VID_GET_HEIGHT:	    *(int *)arg = priv->height;	    return(TVI_CONTROL_TRUE);	    	case TVI_CONTROL_VID_CHK_WIDTH:	case TVI_CONTROL_VID_CHK_HEIGHT:	    return(TVI_CONTROL_TRUE);	case TVI_CONTROL_TUN_SET_NORM:	    return(TVI_CONTROL_TRUE);    }    return(TVI_CONTROL_UNKNOWN);}static double grab_video_frame(priv_t *priv, char *buffer, int len){    memset(buffer, 0x42, len);    return(1);}static int get_video_framesize(priv_t *priv){    /* YV12 */    return(priv->width*priv->height*12/8);}static double grab_audio_frame(priv_t *priv, char *buffer, int len){    memset(buffer, 0x42, len);    return(1);}static int get_audio_framesize(priv_t *priv){    return(1);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -