您尚未登录。

楼主 #1 2020-10-16 13:48:46

f1c100_
会员
注册时间: 2020-09-22
已发帖子: 32
积分: 45.5

f1c100s调用cedar 实现硬编码jpeg h.264

还是这个解码库
https://github.com/EmperG/lindenis-v536-package
jpeg硬解码研究了好久没搞起来,想跑一下.264解码但是cedarx编译不起来,提示没有cdxlist.i也不知道咋搞,希望有大神能研究下跑起来

使用主线5.2,按照这个教程成功安装了cedar,dev出现了cedar和ion设备,下面的cedarx也装一下,这样就不用拷so库了
https://github.com/aodzip/cedar/

编译链要用这个:
https://pan.baidu.com/s/1-WXlwxLoQNzKGDdIJ5JDpw

buildroot里的cedarc要改一下
FluxBB bbcode 测试

主要看lindenis-v536-package里面的
tina_multimedia和tina_multimedia_demo两个文件夹,

先编译tina_multimedia/cedarc,按照里面的readme说明编译,平台选arm-none-linux-gnueabi,注意编译的时候统一编译链,configure和make都带上CC=/...你的编译链路径

jpeg和.264硬编码的demo在/tina_multimedia_demo/encodertest/src,修改makefile文件如下:

Target = demo
SourceIncludePath := -I/work/tina_multimedia/libcedarx/libcore/base/include -I/work/tina_multimedia/libcedarc/include -L/work/libcedarc/lib -L/work/tina_multimedia/libcedarc/library/arm-none-linux-gnueabi
CompileFlags = $(CFLAGS) $(SourceIncludePath)
LoadFlags +=  -lvencoder -lMemAdapter -lpthread -ldl -lm

CC=/work/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
LDFLAGS= -Wl,-rpath-link /work/tina_multimedia/libcedarc/library/arm-none-linux-gnueabi -Wl,-rpath-link /work/tina_multimedia/libcedarc/base/.libs
$(Target): encodertest.c 
    $(CC) -o $@ $^ $(CompileFlags) $(LDFLAGS) $(LoadFlags)

路径名字对应改就行,其中/work/libcedarc/lib路径是编译tina_multimedia时的输出安装路径

然后make就生成程序了,直接拷到板子就能运行(前面buildroot已经安装了库所以不用拷)
测试程序,支持jpg和.264编码,前面的1表示编码成jpg,后面的1表示1帧
./demo 1 YUV420 800 480 800 480 1 ./123.yuv /root

debug  : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug  : cedarc <VeInitialize:1198>: ve init ok

debug  : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug  : ionAlloc <ion_alloc_open:134>:begin ion_alloc_open

debug  : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug  : cedarc <VeInitialize:1198>: ve init ok

debug  : ionAlloc <ion_alloc_open:175>:** phy offset = 40000000
debug  : cedarc <VeRelease:1253>: ve release ok

debug  : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug  : ionAlloc <ion_alloc_open:134>:begin ion_alloc_open

debug  : cedarc <VideoEncInit:195>: (f:VideoEncInit, l:195)
debug  : cedarc <VideoEncInit:210>: (f:VideoEncInit, l:210)
debug  : cedarc <BitStreamCreate:102>: BitStreamCreate OK
 encode frame 0 use time is 5263us...
 the average encode time is 5263us...
debug  : cedarc <VeRelease:1253>: ve release ok

 output file is saved:/root

编码结果,5ms一帧,还是挺快的。



这里提供个YUV420文件供测试:
https://whycan.com/files/members/5219/yuv.rar

到此f1c200/100 的硬编码基本论证了,就剩解码了
继续研究lindenis-v536-package这个库ING......

离线

#2 2020-10-16 23:50:25

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 567
积分: 506
个人网站

Re: f1c100s调用cedar 实现硬编码jpeg h.264

解码我确定是可以的(裸机)。感谢楼主分享的编码经验

离线

楼主 #3 2020-10-17 01:12:17

f1c100_
会员
注册时间: 2020-09-22
已发帖子: 32
积分: 45.5

Re: f1c100s调用cedar 实现硬编码jpeg h.264

微凉VeiLiang 说:

解码我确定是可以的(裸机)。感谢楼主分享的编码经验

对,官方tina,裸机代码都可以,但是tina linux我们这些diy的拿不到啊:(主线linux能跑就方便多了

最近编辑记录 f1c100_ (2020-10-17 01:13:24)

离线

#4 2020-10-19 19:15:40

dgtg
会员
注册时间: 2017-11-08
已发帖子: 236
积分: 225.5

Re: f1c100s调用cedar 实现硬编码jpeg h.264

支持一下大神!
谢谢分享!
一直想搞这个C100,但是却一直抽不出时间...看到楼主编解码的帖子...心又痒痒了

离线

#5 2020-10-20 11:08:41

iki1120
会员
注册时间: 2018-03-02
已发帖子: 32
积分: 27

Re: f1c100s调用cedar 实现硬编码jpeg h.264

f1c200/100 支持H264硬编码??规格书上没写啊

离线

#6 2020-11-03 06:13:55

TivonLiu
会员
注册时间: 2019-12-27
已发帖子: 46
积分: 41

Re: f1c100s调用cedar 实现硬编码jpeg h.264

支持一下,留下记录,后面好找

离线

#7 2020-11-05 17:33:52

b7376811
会员
注册时间: 2019-09-12
已发帖子: 27
积分: 27

Re: f1c100s调用cedar 实现硬编码jpeg h.264

好东西

离线

#10 2021-06-20 23:56:02

unturned3
会员
注册时间: 2020-07-01
已发帖子: 233
积分: 271

Re: f1c100s调用cedar 实现硬编码jpeg h.264

iki1120 说:

f1c200/100 支持H264硬编码??规格书上没写啊

对啊,我也想问问这个
f1c100、200s 不是只支持 jpeg 硬编码吗?什么时候支持 h.264 硬编码了(还是我文档没读懂?)

离线

#11 2021-08-16 20:34:37

hoel
会员
注册时间: 2019-06-15
已发帖子: 88
积分: 27

Re: f1c100s调用cedar 实现硬编码jpeg h.264

mp4 可以达到哪个帧率?

离线

#12 2021-08-16 20:39:52

hoel
会员
注册时间: 2019-06-15
已发帖子: 88
积分: 27

Re: f1c100s调用cedar 实现硬编码jpeg h.264

f1c100_ 说:
微凉VeiLiang 说:

解码我确定是可以的(裸机)。感谢楼主分享的编码经验

对,官方tina,裸机代码都可以,但是tina linux我们这些diy的拿不到啊:(主线linux能跑就方便多了

你知道如何在裸机中进行h264解码吗?

离线

#13 2021-11-10 09:21:15

luoguojian6
会员
注册时间: 2019-12-13
已发帖子: 3
积分: 3

Re: f1c100s调用cedar 实现硬编码jpeg h.264

LoadFlags +=  -lvencoder -lMemAdapter -lpthread -ldl -lm
MemAdapter这个只有64位的库,编译不过去,32位的库在哪里可以找到?

离线

#14 2022-02-17 21:52:11

X3
会员
注册时间: 2020-04-08
已发帖子: 79
积分: 67.5

Re: f1c100s调用cedar 实现硬编码jpeg h.264

make[4]: Entering directory '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/libcedarx'
Making install in libcore
make[5]: Entering directory '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/libcedarx/libcore'
Making install in base
make[6]: Entering directory '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/libcedarx/libcore/base'
  CC       libcdx_base_la-AwPool.lo
In file included from ./AwPool.c:13:0:
./include/CdxList.h:153:21: fatal error: CdxList.i: No such file or directory
 #include <CdxList.i>
                     ^
compilation terminated.
Makefile:551: recipe for target 'libcdx_base_la-AwPool.lo' failed
make[6]: *** [libcdx_base_la-AwPool.lo] Error 1
make[6]: Leaving directory '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/libcedarx/libcore/base'
Makefile:353: recipe for target 'install-recursive' failed
make[5]: *** [install-recursive] Error 1
make[5]: Leaving directory '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/libcedarx/libcore'
Makefile:398: recipe for target 'install-recursive' failed
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/libcedarx'
Makefile:724: recipe for target '/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/.built' failed
make[3]: *** [/opt/a133/tina/out/mr813-a3/compile_dir/target/libcedarx/.built] Error 2
make[3]: Leaving directory '/opt/a133/tina/package/allwinner/tina_multimedia'
package/Makefile:192: recipe for target 'package/allwinner/tina_multimedia/compile' failed
make[2]: *** [package/allwinner/tina_multimedia/compile] Error 2
make[2]: Leaving directory '/opt/a133/tina'
package/Makefile:189: recipe for target '/opt/a133/tina/out/mr813-a3/staging_dir/target/stamp/.package_compile' failed
make[1]: *** [/opt/a133/tina/out/mr813-a3/staging_dir/target/stamp/.package_compile] Error 2
make[1]: Leaving directory '/opt/a133/tina'
/opt/a133/tina/build/toplevel.mk:304: recipe for target 'world' failed
make: *** [world] Error 2

#### make failed to build some targets (22 seconds) ####

./include/CdxList.h:153:21: fatal error: CdxList.i: No such file or directory
#include <CdxList.i>


这个错误 。。。

离线

#15 2022-02-17 22:05:10

X3
会员
注册时间: 2020-04-08
已发帖子: 79
积分: 67.5

Re: f1c100s调用cedar 实现硬编码jpeg h.264

_20220217220424.png

故意删掉一个文件?

离线

#16 2022-02-17 23:30:16

X3
会员
注册时间: 2020-04-08
已发帖子: 79
积分: 67.5

Re: f1c100s调用cedar 实现硬编码jpeg h.264

cp /opt/D1/tina_d1_open/package/allwinner/tina_multimedia/libcedarx/libcore/base/include/CdxList.i package/allwinner/tina_multimedia/libcedarx/libcore/base/include/

去D1 SDK 里面借一个用用。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn