📄 enc.c
字号:
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 + -