Gm8126 capture/encoding pipeline设计开发

Gm8126 capture/encoding pipeline设计要点:

1、流11080P流,占用ch1,底层按支持最大resolution来配置buffer。配置好main-bs, sub1-bs, sub2-bs, scaler1, scaler2, scaler3,得到6pipeline,由此可以支持:1080P, 1280x1024, 1820x960, 720P, VGA, QVAG。根据上层(MediaServer)配置的resolution,在某一时刻,选择一条pipeline投入运行。

2、流2720P流,占用ch2,底层按支持最大resolution来配置buffer。配置好main-bs, sub1-bs, sub2-bs, scaler1, scaler2, scaler3,得到6pipeline,由此可以支持:720P, VGA, QVAGQQVGA720x480720x576。根据上层(MediaServer)配置的resolution,在某一时刻,选择一条pipeline投入运行。

3、ch0,作为VI专用。Main-bs固定配置为320x240H.264,给motion detection用,避免流1或流2切换为mjpeg时,不支持motion侦测。Sub1-bs给为raw data pipeline,作为auto-focus使用。Sub2-bs保留。

4、Ch3,固定配置为D1,给BNC out专用,同时,sub1-bs作为raw data使用,可以用作tamperingsub2-bs保留。

经过测试,达到了上述设计目标。对gm8126 capture/encoder用法总结如下:

1dvr_graph作为最底层的支撑(GM没有给source code)

gDvr_comm_fd=open("/dev/dvr_common", O_RDWR);

这个只能有一个句柄,因此,流1,流2VI处理,snapshot都只能放在同一个进程。

2、一路capture ch,无论main-bs, sub1-bs,sub2-bs,只有一个句柄。

pVideoSetting->enc_fd=open("/dev/dvr_enc", O_RDWR);

3、main-bs必须优先使用,然后才可以用sub1-bs, sub2-bs

4、同一路capture ch上面,不能同时启动两路raw data.

5、每一路capture ch上面,允许最大使用三个scalerMain-bs,sub1-bs,sub2-bsscaler的关系是:如果设置为不支持的resolution时,就会去查找scaler来完成sizedown得到。

对此有问题的朋友可以找我。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值