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

📄 encdec.c

📁 codec engine中的视频操作界面的历程
💻 C
📖 第 1 页 / 共 2 页
字号:
 ******************************************************************************/static int uiDraw(void){    /* Clear the OSD window */    simplewidget_screen_clear(simpleScreen, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);    if (simplewidget_png_show(ctrlImg, simpleScreen,                              CTRL_BUTTON_X, YSCALE(CTRL_BUTTON_Y)) == -1) {        ERR("Failed to show png image\n");        return FAILURE;    }    if (simplewidget_png_show(navImg, simpleScreen,                              NAV_BUTTON_X, YSCALE(NAV_BUTTON_Y)) == -1) {        ERR("Failed to show png image\n");        return FAILURE;    }    if (simplewidget_png_show(infoImg, simpleScreen,                              INFO_BUTTON_X, YSCALE(INFO_BUTTON_Y)) == -1) {        ERR("Failed to show png image\n");        return FAILURE;    }    if (simplewidget_text_show(videoCodecText, simpleScreen) == -1) {        ERR("Failed to show video codec text\n");        return FAILURE;    }    if (simplewidget_text_show(demoNameText, simpleScreen) == -1) {        ERR("Failed to show demo name text\n");        return FAILURE;    }    if (simplewidget_screen_draw_rectangle(simpleScreen,                                           SELECTOR_X,                                           SELECTOR_Y,                                           SELECTOR_W,                                           SELECTOR_H,                                           SELECTOR_R,                                           SELECTOR_G,                                           SELECTOR_B) == FAILURE) {        ERR("Failed to draw selector\n");        return FAILURE;    }    if (simplewidget_text_show(zoomResolutionText, simpleScreen) == -1) {        ERR("Failed to show capture resolution text\n");        return FAILURE;    }    if (simplewidget_text_show(displayText, simpleScreen) == -1) {        ERR("Failed to show capture resolution text\n");        return FAILURE;    }    return SUCCESS;}/****************************************************************************** * uiDelete ******************************************************************************/static int uiDelete(void){    if (demoNameText) {        simplewidget_text_delete(demoNameText);    }    if (displayText) {        simplewidget_text_delete(displayText);    }    if (zoomResolutionText) {        simplewidget_text_delete(zoomResolutionText);    }    if (cifResolutionText) {        simplewidget_text_delete(cifResolutionText);    }    if (videoCodecText) {        simplewidget_text_delete(videoCodecText);    }    if (wrongImg) {        simplewidget_png_delete(wrongImg);    }    if (noWrongImg) {        simplewidget_png_delete(noWrongImg);    }    if (infoImg) {        simplewidget_png_delete(infoImg);    }    if (navRightImg) {        simplewidget_png_delete(navRightImg);    }    if (navLeftImg) {        simplewidget_png_delete(navLeftImg);    }    if (navImg) {        simplewidget_png_delete(navImg);    }    if (ctrlRecImg) {        simplewidget_png_delete(ctrlRecImg);    }     if (ctrlPauseImg) {        simplewidget_png_delete(ctrlPauseImg);    }    if (ctrlStopImg) {        simplewidget_png_delete(ctrlStopImg);    }     if (ctrlPlayImg) {        simplewidget_png_delete(ctrlPlayImg);    }    if (ctrlImg) {        simplewidget_png_delete(ctrlImg);    }    if (simpleScreen) {        simplewidget_screen_exit(simpleScreen);    }    return SUCCESS;}/****************************************************************************** * keyAction ******************************************************************************/static int keyAction(enum msp430lib_keycode key, DemoEnv *envp, int *quitPtr){    switch(key) {        case MSP430LIB_KEYCODE_PLAY:            if (uiPressButton(CTRLPLAY) == FAILURE) {                return FAILURE;            }            *quitPtr = TRUE;            break;        case MSP430LIB_KEYCODE_STOP:            *quitPtr = NOSELECTION;            break;        case MSP430LIB_KEYCODE_VOLINC:            resolution = (resolution + 1) % NUM_RESOLUTIONS;            if (simplewidget_screen_draw_rectangle(simpleScreen,                                                   SELECTOR_X,                                                   SELECTOR_Y,                                                   SELECTOR_W,                                                   SELECTOR_H,                                                   SELECTOR_R,                                                   SELECTOR_G,                                                   SELECTOR_B) == FAILURE) {                ERR("Failed to draw selector\n");                return FAILURE;            }            if (resolution == ZOOM) {                if (simplewidget_text_show(zoomResolutionText,                                           simpleScreen) == -1) {                    ERR("Failed to show capture resolution text\n");                    return FAILURE;                }            }            else {                if (simplewidget_text_show(cifResolutionText,                                           simpleScreen) == -1) {                    ERR("Failed to show capture resolution text\n");                    return FAILURE;                }            }            if (uiPressButton(NAVPLUS) == FAILURE) {                return FAILURE;            }            break;        case MSP430LIB_KEYCODE_VOLDEC:            if (resolution - 1 < 0) {                resolution = NUM_RESOLUTIONS - 1;            }            else {                resolution--;            }            if (simplewidget_screen_draw_rectangle(simpleScreen,                                                   SELECTOR_X,                                                   SELECTOR_Y,                                                   SELECTOR_W,                                                   SELECTOR_H,                                                   SELECTOR_R,                                                   SELECTOR_G,                                                   SELECTOR_B) == FAILURE) {                ERR("Failed to draw selector\n");                return FAILURE;            }            if (resolution == ZOOM) {                if (simplewidget_text_show(zoomResolutionText,                                           simpleScreen) == -1) {                    ERR("Failed to show capture resolution text\n");                    return FAILURE;                }            }            else {                if (simplewidget_text_show(cifResolutionText,                                           simpleScreen) == -1) {                    ERR("Failed to show capture resolution text\n");                    return FAILURE;                }            }            if (uiPressButton(NAVMINUS) == FAILURE) {                return FAILURE;            }            break;        case MSP430LIB_KEYCODE_INFOSELECT:            DBG("Menu done or info/select command received.\n");            if (osdVisible) {                setOsdTransparency(0x0);                osdVisible = 0;            }            else {                setOsdTransparency(osdTransparency);                osdVisible = 1;            }               break;        default:            DBG("Unknown button pressed.\n");            if (uiPressButton(WRONG) == FAILURE) {                return FAILURE;            }    }    return SUCCESS;}/****************************************************************************** * encodeDecodeFxn ******************************************************************************/int encodeDecodeFxn(DemoEnv *envp){    enum InitLevels        initLevel = 0;    int                    status    = SUCCESS;    int                    quit      = 0;    enum msp430lib_keycode key;    if (getYFactor() == NTSC) {        if (drawDiagram(DEMO_DIAGRAM_NTSC) == FAILURE) {            CLEANUP(FAILURE);        }    }    else {        if (drawDiagram(DEMO_DIAGRAM_PAL) == FAILURE) {            CLEANUP(FAILURE);        }    }    if (uiCreate() == FAILURE) {        CLEANUP(FAILURE);    }    initLevel = CREATEDINTERFACE;    if (setOsdTransparency(osdTransparency) == FAILURE) {        CLEANUP(FAILURE);    }    if (uiDraw() == FAILURE) {        CLEANUP(FAILURE);    }    if (msp430lib_init() == MSP430LIB_FAILURE) {        ERR("Failed to initialize msp430lib.\n");        CLEANUP(FAILURE);    }    initLevel = MSP430LIBINITIALIZED;    resolution = ZOOM;    while (!quit) {        /* See if an IR remote key has been pressed */        if (msp430lib_get_ir_key(&key) == MSP430LIB_FAILURE) {            ERR("Failed to get IR value.\n");        }        DBG("Got IR key %#x from the MSP430\n", key);        /* If an IR key had been pressed, service it */        if (key != 0) {            if (keyAction(key, envp, &quit) == FAILURE) {                BREAK_LOOP(FAILURE);            }        }        usleep(500000);    }    envp->resolution = resolution;    if (quit == NOSELECTION) {        status = NOSELECTION;    }cleanup:    if (initLevel >= MSP430LIBINITIALIZED) {        msp430lib_exit();    }    if (initLevel >= CREATEDINTERFACE) {        uiDelete();    }    return status;}

⌨️ 快捷键说明

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