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

📄 enc.c

📁 codec engine中的视频操作界面的历程
💻 C
📖 第 1 页 / 共 2 页
字号:
    if (simplewidget_png_create(NAV_BUTTON_UP_PRESSED, &navUpImg) == -1) {        ERR("Failed to create png image\n");        return FAILURE;    }    if (simplewidget_png_create(NAV_BUTTON_DOWN_PRESSED, &navDownImg) == -1) {        ERR("Failed to create png image\n");        return FAILURE;    }    if (simplewidget_png_create(NAV_BUTTON_OK_PRESSED, &navOkImg) == -1) {        ERR("Failed to create png image\n");        return FAILURE;    }    if (simplewidget_png_create(INFO_BUTTON, &infoImg) == -1) {        ERR("Failed to create png image\n");        return FAILURE;    }    if (simplewidget_png_create(WRONG_BUTTON, &noWrongImg) == -1) {        ERR("Failed to create png image\n");        return FAILURE;    }    if (simplewidget_png_create(WRONG_BUTTON_PRESSED, &wrongImg) == -1) {        ERR("Failed to create png image\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_1, PTSIZE, DEMONAMESTRING,                                 &demoNameText) == -1) {        ERR("Failed to create cpu load text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_2, PTSIZE, H264CODECSTRING,                                 &h264VideoCodecText) == -1) {        ERR("Failed to create cpu load text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_2, PTSIZE, MPEG4CODECSTRING,                                 &mpeg4VideoCodecText) == -1) {        ERR("Failed to create cpu load text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_3, PTSIZE, G711CODECSTRING,                                 &soundCodecText) == -1) {        ERR("Failed to create speech codec text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_4, PTSIZE, RESOLUTIONSTRING,                                 &resolutionText) == -1) {        ERR("Failed to create kbps text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_5, PTSIZE, DISPLAYSTRING,                                 &displayText) == -1) {        ERR("Failed to create kbps text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_6, PTSIZE, SAMPLEFREQSTRING,                                 &sampleFreqText) == -1) {        ERR("Failed to create sample frequency text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_7, PTSIZE, VIDEOLOWBPSSTRING,                                 &videoLowBpsText) == -1) {        ERR("Failed to create low bps video text\n");        return FAILURE;    }    if (simplewidget_text_create(COLUMN_3, ROW_7, PTSIZE, VIDEOHIGHBPSSTRING,                                 &videoHighBpsText) == -1) {        ERR("Failed to create high bps video text\n");        return FAILURE;    }    return SUCCESS;}/****************************************************************************** * uiDraw ******************************************************************************/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(demoNameText, simpleScreen) == -1) {        ERR("Failed to show demo name text\n");        return FAILURE;    }    if (simplewidget_screen_draw_rectangle(simpleScreen,                                           VIDEOALGSELECTOR_X,                                           VIDEOALGSELECTOR_Y,                                                    VIDEOALGSELECTOR_W,                                           VIDEOALGSELECTOR_H,                                           SELECTOR_R,                                           SELECTOR_G,                                           SELECTOR_B) == FAILURE) {        ERR("Failed to draw rectangle\n");        return FAILURE;    }    drawSelection(VIDEOALG);    if (simplewidget_text_show(soundCodecText, simpleScreen) == -1) {        ERR("Failed to show video codec text\n");        return FAILURE;    }    if (simplewidget_text_show(resolutionText, 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;    }    if (simplewidget_text_show(sampleFreqText, simpleScreen) == -1) {        ERR("Failed to show capture resolution text\n");        return FAILURE;    }    if (simplewidget_text_show(videoHighBpsText, simpleScreen) == -1) {        ERR("Failed to show capture resolution text\n");        return FAILURE;    }    return SUCCESS;}/****************************************************************************** * uiDelete ******************************************************************************/static int uiDelete(void){    if (videoLowBpsText) {        simplewidget_text_delete(videoLowBpsText);    }    if (videoHighBpsText) {        simplewidget_text_delete(videoHighBpsText);    }    if (demoNameText) {        simplewidget_text_delete(demoNameText);    }    if (displayText) {        simplewidget_text_delete(displayText);    }    if (resolutionText) {        simplewidget_text_delete(resolutionText);    }    if (soundCodecText) {        simplewidget_text_delete(soundCodecText);    }    if (h264VideoCodecText) {        simplewidget_text_delete(h264VideoCodecText);    }    if (mpeg4VideoCodecText) {        simplewidget_text_delete(mpeg4VideoCodecText);    }    if (wrongImg) {        simplewidget_png_delete(wrongImg);    }    if (noWrongImg) {        simplewidget_png_delete(noWrongImg);    }    if (infoImg) {        simplewidget_png_delete(infoImg);    }    if (navUpImg) {        simplewidget_png_delete(navUpImg);    }    if (navDownImg) {        simplewidget_png_delete(navDownImg);    }    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_RECORD:            if (uiPressButton(CTRLREC) == FAILURE) {                return FAILURE;            }            *quitPtr = TRUE;            break;        case MSP430LIB_KEYCODE_PLAY:            if (uiPressButton(CTRLPLAY) == FAILURE) {                return FAILURE;            }            *quitPtr = PLAYBACK;            break;        case MSP430LIB_KEYCODE_STOP:            *quitPtr = NOSELECTION;            break;        case MSP430LIB_KEYCODE_VOLINC:            changeSelection();            if (uiPressButton(NAVPLUS) == FAILURE) {                return FAILURE;            }            break;        case MSP430LIB_KEYCODE_VOLDEC:            changeSelection();            if (uiPressButton(NAVMINUS) == FAILURE) {                return FAILURE;            }            break;        case MSP430LIB_KEYCODE_CHANINC:            changeChoice();            if (uiPressButton(NAVUP) == FAILURE) {                return FAILURE;            }            break;        case MSP430LIB_KEYCODE_CHANDEC:            changeChoice();            if (uiPressButton(NAVDOWN) == 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;}/****************************************************************************** * interfaceFxn ******************************************************************************/int encodeFxn(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;    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->videoAlg = videoAlgSelection;    envp->videoBps = videoBpsSelection;    if (quit == NOSELECTION) {        status = NOSELECTION;    }    else if (quit == PLAYBACK) {        status = PLAYBACK;    }cleanup:    if (initLevel >= MSP430LIBINITIALIZED) {        msp430lib_exit();    }    if (initLevel >= CREATEDINTERFACE) {        uiDelete();    }    return status;}

⌨️ 快捷键说明

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