MTK Video FAq 2

来源:互联网 发布:中国根域名服务器在哪 编辑:程序博客网 时间:2024/05/02 01:27

2. 23C不能实现无限制录影,录相只能10秒左右
[Version]
N/A
[DESCRIPTION]
N/A
[SOLUTION]
第一,23C的录相机制与25不相同,不能实现无限制录像,这是平台限制。
第二,具体录的大小由包在__DIRECT_SENSOR_SUPPORT__下的宏MED_AVI_WRITE_DATA_BUF_SIZE限制,录满MED_AVI_WRITE_DATA_BUF_SIZE后就会停止。大小之
第三,23C平台录相的大体机制如下:在RAM中开一个大小为MED_AVI_WRITE_DATA_BUF_SIZE的BUFFER,当此BUFFER被写满后就会停止。25不断地将BUFFER中的内容写到文件系统中,
这样可以实现无限录像,但是23C平台由于硬件限制(sensor, lcd,t card 都挂在LCD IF上),做不到当BUFFER满时将其内容写到文件系统,所以做不到无限录像。
第四,增大宏MED_AVI_WRITE_DATA_BUF_SIZE的大小,可以增加录像时间,但不会有本质改变。需要同步增大med_ext_mem的大小,因为此BUFFER是由med_ext_mem中分配的。
第五,med_ext_mem在med_main.c中定义。

 

3.录相分屏
[Version]
N/A
[DESCRIPTION]
分屏又叫Tearing,即"断层"现象,产生的原因是BB通过LCD IF将数据刷到DRIVER IC的GRAM的时间(1)与DIRVER IC将
GRAM数据刷到LCD的玻璃上的时间(2)不同步,导致Baseband没写完一帧Driver IC就更新了。其中,(1)与VIDEO文件的帧率和
LCD IF的时序都相关。所以,并不是所有帧率的VIDEO文件都会出现TEARING现象。一般只是对个别帧率的VIDEO文件有比较明显的
TEARING现象。

[SOLUTION]
第一,在25平台上,做以下调整可以降低"断层"出现的概率。

1)提高LCD IF的时序,通过调整init_lcd_interface()中的下面部分。
SET_LCD_PARALLEL_CE2WR_SETUP_TIME((kal_uint32)2);
SET_LCD_PARALLEL_CE2WR_HOLD_TIME(2);
SET_LCD_PARALLEL_CE2RD_SETUP_TIME(0);
SET_LCD_PARALLEL_WRITE_WAIT_STATE(3);
SET_LCD_PARALLEL_READ_LATENCY_TIME(2);
SET_LCD_ROI_CTRL_CMD_LATENCY(4);
2)调整LCD的DRIVER IC将数据刷到LCD的玻璃上的速度,这个需要客户请LCM的厂商帮忙。

3)如果对录下来的视频有比较明显的tearing现象,可以调整一下录相帧率。

上面方法的改善可能并不明显,也没有办法,25平台此问题解不掉。

第二,在26/27/28/29平台,tearing的解法:
软件上:打开make file的宏SYNC_LCM_SUPPORT硬件上:把LCD的vsync信号接到BB的任何一个EINT上。原理:LCM
的GRAM之后会有一个被写完vsync信号出来,这时正好可以将此信息刷到玻璃上。

原创粉丝点击