您尚未登录。

#1 Re: 全志 SOC » lctech pi F1C200S u-boot RGB 屏幕正常显示,但Linux 6.8主线内核无法显示 » 2024-08-10 00:56:03

fe0,be0,tcon0等的status都要设为“okay”,看log根本没有启动drm和fb的操作,估计可能是这些设备没有打开。

#2 Re: 全志 SOC » [外包] 一个基于F1C100S的视频播放器项目 » 2024-08-04 23:05:13

研究了个来月,发现硬解真的不容易。目前根据论坛的资料,能裸机实现mjpeg硬解,但加上音频又不行了。想要完整的视频播放项目,可能只有用官方的系统了,只能联系代理商了。

#3 Re: 全志 SOC » F1C200S系列该如何调出视频tv-out输出呢? » 2024-07-09 23:26:33

nTliang 说:

楼主知道怎么配置i8080接口?我用i8080接口也是有fb0和dri/card0,但是没有输出。
先用gpio模式初始化了屏幕,刷了一屏蓝色。之后加载显示驱动后显示没有变化

我没有驱动过i8080接口。不过你既然已经能刷蓝色,说明驱动应该是正确的了。“显示没有变化”可能是需要刷新输出吧?你遇到的问题具体怎么回事我也不太清楚,我也是小白菜哈。

#4 Re: 全志 SOC » F1C200S系列该如何调出视频tv-out输出呢? » 2024-07-09 14:00:49

还有虽然是输出了视频信号,但就是不知道为什么没有色彩。。。。一大堆坑啊

#5 Re: 全志 SOC » F1C200S系列该如何调出视频tv-out输出呢? » 2024-07-09 13:57:01

使用libdrm编写程序能搞出视频信号,但画面是错的,像参数配置不正确。
然后尝试直接在drm内核代码修改相关的寄存器能强制输出正常的彩条信号。
貌似是defe、debe问题吧~~
暂时还不能输出正常画面。。。
继续研究中。。。。。。

#7 全志 SOC » F1C200S系列该如何调出视频tv-out输出呢? » 2024-07-07 15:59:59

genyhwang
回复: 4

最近有点闲,想做点小东西来配合上个世纪的电视机。
但在调试F1C200S的tv-out输出的时候,没有任何办法和头绪,还是太菜。
在linux内核启动的时候,启动信息看到tv-encoder了,dev有fb0和dri/card0,但始终差临门一脚。
望各位大佬指点一下小弟,感激不尽。


启动的部分信息

[    1.059740] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[    1.071758] sun4i-drm soc:display-engine: bound 1e00000.display-frontend (ops 0xc083b2c0)
[    1.080737] sun4i-drm soc:display-engine: bound 1e60000.display-backend (ops 0xc083ab00)
[    1.090389] sun4i-drm soc:display-engine: bound 1c0c000.lcd-controller (ops 0xc08396a0)
[    1.098997] sun4i-drm soc:display-engine: bound 1c0a000.tv-encoder (ops 0xc083a3c0)
[    1.106775] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.113429] [drm] No driver support for vblank timestamp query.
[    1.121605] [drm] Initialized sun4i-drm 1.0.0 20150629 for soc:display-engine on minor 0
[    1.130550] [drm] kms: can't enable cloning when we probably wanted to.
[    1.187122] Console: switching to colour frame buffer device 60x34
[    1.239317] sun4i-drm soc:display-engine: fb0: sun4i-drmdrmfb frame buffer device

modeprint 信息

trying to open device 'sun4i-drm'

count_connectors : 2
count_encoders   : 2
count_crtcs      : 1
count_fbs        : 0

Connector: unknown-1
        id             : 49
        encoder id     : 48
        conn           : connected
        size           : 95x53 (mm)
        count_modes    : 1
        count_props    : 5
        props          : 1 2 5 6 4
        count_encoders : 1
        encoders       : 48
Mode: "480x272" 480x272 60
Connector: composite-1
        id             : 51
        encoder id     : 0
        conn           : connected
        size           : 0x0 (mm)
        count_modes    : 2
        count_props    : 5
        props          : 1 2 5 6 4
        count_encoders : 1
        encoders       : 50
Mode: "PAL" 720x576 50
Mode: "NTSC" 720x480 60

Encoder: none
        id     :48
        crtc_id   :47
        type   :0
        possible_crtcs  :0x1
        possible_clones :0x0
Encoder: TVDAC
        id     :50
        crtc_id   :0
        type   :4
        possible_crtcs  :0x1
        possible_clones :0x0

Crtc
        id             : 47
        x              : 0
        y              : 0
        width          : 480
        height         : 272
        mode           : 0x256cc
        gamma size     : 0

Ok

设备树部分相关设置

tve0: tv-encoder@1c0a000 {
			compatible = "allwinner,suniv-f1c100s-tv-encoder",
						"allwinner,sun4i-a10-tv-encoder";
			reg = <0x01c0a000 0x1000>;
			clocks = <&ccu CLK_BUS_TVE>;
			resets = <&ccu RST_BUS_TVE>;
			status = "okay";

			port {

				tve0_in_tcon0: endpoint {
					remote-endpoint = <&tcon0_out_tve0>;
				};
			};
		};

		tcon0: lcd-controller@1c0c000 {
			compatible = "allwinner,suniv-f1c100s-tcon",
						"allwinner,sun4i-a10-tcon";
			reg = <0x01c0c000 0x1000>;
			interrupts = <29>;
			clocks = <&ccu CLK_BUS_LCD>,
				 <&ccu CLK_TCON>,
				 <&ccu CLK_TVE1_CLK>;
			clock-names = "ahb",
					  "tcon-ch0",
					  "tcon-ch1";
			clock-output-names = "tcon-pixel-clock";
			resets = <&ccu RST_BUS_LCD>;
			reset-names = "lcd";
			assigned-clocks = <&ccu CLK_TCON>;
			assigned-clock-rates = <297000000>;
			status = "okay";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				tcon0_in: port@0 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0>;

					tcon0_in_be0: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&be0_out_tcon0>;
					};
				};

				tcon0_out: port@1 {
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <1>;

					tcon0_out_tve0: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&tve0_in_tcon0>;
						allwinner,tcon-channel = <1>;
					};
				};
			};
		};

#8 Re: 全志 SOC » F1C200s主线gstreamer使用openmax调用cedar硬解码 » 2024-07-07 15:42:36

发现播放其他mp4就直接出现 Caught SIGSEGV 了,看来还是有些问题,但也超出我的水平范围了.

#9 Re: 全志 SOC » V3s使用gstreamer的插件openmax调用cedar硬解码,荔枝派zero测试通过 » 2024-07-06 22:41:58

一步一步的来,出现这个错误了。看楼上有这个错误,只是看完了还是不知道如何解决。明明注册好的。

找到解决方法了,我的平台是f1c200s,楼主在另外一个帖子说明了解决方法。

https://whycan.com/p_99186.html

#10 Re: 全志 SOC » F1C200s主线gstreamer使用openmax调用cedar硬解码 » 2024-07-06 22:34:57

# gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux name=demux demux.audio
_0 ! queue ! decodebin ! audioconvert ! audioresample ! alsasink demux.video_0 !
 queue ! h264parse ! omxh264dec ! videoconvert ! videoscale ! fbdevsink
Setting pipeline to PAUSED ...
debug  : cedarc <AwOmxComponentInit:26>:OMXCORE: aw_omx_component_init 16a400

debug  : omx_vdec <__AwOmxVdecInit:1059>:++++++++++++++++++++++omx begin++++++++++++++++++
debug  : omx_vdec <__AwOmxVdecInit:1060>:name = OMX.allwinner.video.decoder.avc
debug  : omx_vdec_aw <OmxDecoderCreate:958>:kay: ** 0.
debug  : cedarc <CdcMessageQueueCreate:47>:nMessageSize = 20
debug  : cedarc <AwOmxComponentSetCallbacks:309>:OMXCORE: aw_omx_component_set_callbacks 16a400, b6447504 , 61470

debug  : omx_vdec <__AwOmxVdecSetCallbacks:1812>:===== vdec set callbacks
Pipeline is PREROLLING ...
debug  : omx_vdec <AwOmxVdecPortSetDefinitioin:190>:port:<<<<<<<<in,nBufferCountActual = 2, mBufferCntActual = 2
debug  : omx_vdec <AwOmxVdecPortSetDefinitioin:190>:port:<<<<<<<<in,nBufferCountActual = 2, mBufferCntActual = 2
error  : omx_vdec <AwOmxVdecPortGetFormat:288>:erro: pParamData->nIndex > m_sPortFormatType.nIndex
debug  : omx_vdec <controlSetState:358>:current state:OMX_StateLoaded, target state:OMX_StateIdle
debug  : omx_vdec <doStateWaitforResources2Idle:561>:bEnabled[1],[1],bPopulated[0],[0]
debug  : omx_vdec <__AwOmxVdecAllocateBuffer:1693>:kay: __AwOmxVdecAllocateBuffer
debug  : omx_vdec <__AwOmxVdecAllocateBuffer:1713>:kay: __AwOmxVdecAllocateBuffer 2 
debug  : omx_vdec_aw <__liAllocatePortBuffer:885>:kay: *** 0.
debug  : omx_vdec_aw <__liAllocatePortBuffer:897>:kay: malloc
debug  : omx_vdec_aw <__liAllocatePortBuffer:899>:kay: malloc2
debug  : omx_vdec <__AwOmxVdecAllocateBuffer:1715>:kay: __AwOmxVdecAllocateBuffer 3
debug  : omx_vdec <AwOmxVdecPortPopBuffer:393>:*******port pop buffer:<<<<<<<<in
debug  : omx_vdec <__AwOmxVdecAllocateBuffer:1693>:kay: __AwOmxVdecAllocateBuffer
debug  : omx_vdec <__AwOmxVdecAllocateBuffer:1713>:kay: __AwOmxVdecAllocateBuffer 2 
debug  : omx_vdec_aw <__liAllocatePortBuffer:885>:kay: *** 0.
debug  : omx_vdec_aw <__liAllocatePortBuffer:897>:kay: malloc
debug  : omx_vdec_aw <__liAllocatePortBuffer:899>:kay: malloc2
debug  : omx_vdec <__AwOmxVdecAllocateBuffer:1715>:kay: __AwOmxVdecAllocateBuffer 3
debug  : omx_vdec <AwOmxVdecPortPopBuffer:393>:*******port pop buffer:<<<<<<<<in

......

WARNING: from element /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0: A lot of buffers are being dropped.
Additional debug info:
../libs/gst/base/gstbasesink.c(3005): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0: A lot of buffers are being dropped.
Additional debug info:
../libs/gst/base/gstbasesink.c(3005): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0:
There may be a timestamping problem, or this computer is too slow.

......

debug  : omx_vdec <doStateWaitforResources2Idle:561>:bEnabled[1],[1],bPopulated[1],[1]
debug  : omx_vdec <controlSetState:379>:Transit current state:OMX_StateExecuting --> target state:OMX_StateIdle --OK!
Setting pipeline to NULL ...
debug  : omx_vdec <controlSetState:358>:current state:OMX_StateIdle, target state:OMX_StateLoaded
debug  : omx_vdec <AwOmxVdecPortFreeBuffer:455>:port:<<<<<<<<in, pBufferHdr:0x135d70
debug  : omx_vdec <AwOmxVdecPortFreeBuffer:455>:port:<<<<<<<<in, pBufferHdr:0x135dc0
debug  : omx_vdec <AwOmxVdecPortFreeBuffer:455>:port:>>>>>>>out, pBufferHdr:0x8f278
debug  : omx_vdec <AwOmxVdecPortFreeBuffer:455>:port:>>>>>>>out, pBufferHdr:0x8f2c8
debug  : omx_vdec <AwOmxVdecPortFreeBuffer:455>:port:>>>>>>>out, pBufferHdr:0x8f318
debug  : omx_vdec <AwOmxVdecPortFreeBuffer:455>:port:>>>>>>>out, pBufferHdr:0x8f368
debug  : omx_vdec <controlSetState:379>:Transit current state:OMX_StateIdle --> target state:OMX_StateLoaded --OK!
debug  : cedarc <AwOmxComponentDeinit:47>:OMXCORE: aw_omx_component_deinit 16a400

debug  : omx_vdec <__AwOmxVdecComponentDeinit:1829>:Omx Vdec Component Deinit begin
debug  : omx_vdec <onMessageReceived:786>:********quit************
debug  : omx_sem <OmxTryPostSem:119>:post sem:flushSem
debug  : omx_thread <loopEntryWrapper:72>:exit thread drain truely!!!
debug  : omx_thread <loopEntryWrapper:72>:exit thread decode truely!!!
debug  : omx_thread <loopEntryWrapper:72>:exit thread submit truely!!!
debug  : omx_vdec <__AwOmxVdecComponentDeinit:1835>:threads exit!
debug  : cedarc <checkLibUnload:188>: Unloading the dynamic library for OMX.allwinner.video.decoder.avc

Freeing pipeline ...

附上一些启动日志,供参考。

#11 Re: 全志 SOC » F1C200s主线gstreamer使用openmax调用cedar硬解码 » 2024-07-06 22:31:18

我是从v3s那篇帖子找到这里的,根据大佬的指导,终于在f1c200s硬解成功!!

#12 Re: 全志 SOC » V3s使用gstreamer的插件openmax调用cedar硬解码,荔枝派zero测试通过 » 2024-07-06 16:32:47

Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Could not initialize supporting library.
Additional debug info:
../gst-libs/gst/video/gstvideodecoder.c(2517): gst_video_decoder_change_state (): /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
Failed to open decoder
Setting pipeline to NULL ...
Freeing pipeline ...

一步一步的来,出现这个错误了。看楼上有这个错误,只是看完了还是不知道如何解决。明明注册好的。

#14 Re: 哇酷地摊(跳蚤市场) » 为什么以前那些开发板卖得很贵? » 2024-05-04 12:09:20

卖的人多了,就便宜了。而且还有就是国内技术进步很快,价格也或多或少受到影响。

#15 Re: 全志 SOC » 开源双核 FunKey 掌机硬件和系统 » 2024-05-04 12:05:41

我克隆了FunKey-OS-T113,但是应该由于tina-linux删库了,不能构建成功。

#16 Re: 全志 SOC » 熬了几百个通宵,终于搞定T113-s3裸奔(从boot写起,到程序运行) » 2024-05-04 11:57:40

这个funkeys,我下载了原来的开源版本,不能构建成功,因为tina-linux已经删库。

#17 Re: 感芯科技 » 老电脑装Linux能恢复青春吗? » 2024-05-04 11:54:18

老电脑就是老电脑了,装点现在开发的软件,速度一样跟不上,与所用的系统关系不太大。

#18 Re: ESP32/ESP8266 » esp32 p4板子 » 2024-05-04 11:52:05

ESP32-P4搭载双核400 MHz RISC-V处理器,⽀持*⼤32 MB PSRAM。此外,ESP32-P4⽀持USB 2.0标准,MIPI-CSI/DSI,H264 Encoder等多种外设。

网上的信息是这些,主频提高,搭载了H264编码器.

#19 Re: ESP32/ESP8266 » ESP32S3,开发HMI真有意思,报告下功能,有图有真相: » 2024-04-28 10:38:45

看到了,原来有“CONFIG_EXAMPLE_USE_BOUNCE_BUFFER”这个选项,用CPU来换高速率。

#20 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » 用 php 测试 阿里云的 oss 对象存储云服务 » 2024-04-28 10:22:23


1T 标准存储包    一年  799元
1T/月下行流量包 一年 3636 元

--------------
一年算下来 799 + 3636 = 4435 元

这种价格对稳定的公司来说是可以接受,只是对个人和初创公司就不太优惠了。

#21 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » Gmeek 超轻量级个人博客框架 开源 » 2024-04-28 10:18:50

国内的那一套限制太多,其实不利于技术的交流和发展。

#22 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » PHP微信开发-access-token的获取与存储 (转) » 2024-04-28 10:15:08

春风吹又生 说:

用session保存不是更好么?

session 不能分布式布局的。token可以方便改为分布式。

#23 Re: 全志 SOC » 新作F1C200S,打算百分之百开源,给大家的新年礼物。 » 2024-04-28 10:09:08

板子很漂亮,F1C200的性能还是有限,但用来学习Linux还是不错。

#26 Re: ST/STM8/STM8S/STM8L » 开源自己DIY的恒温控制器(养小动物的) » 2024-04-27 15:20:22

项目不错,可以据此改改成为恒温育苗箱!

#27 Re: ESP32/ESP8266 » esp32s3带rgb屏问题 » 2024-04-27 15:14:16

使用官方的IDF例程可以正常驱动分辨率不太大的rgb屏幕,只是受限于PSRAM速度,CLK也就10-20MHz左右。

页脚

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

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