页次: 1
最近有点闲,想做点小东西来配合上个世纪的电视机。
但在调试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 devicemodeprint 信息
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>;
					};
				};
			};
		};一步一步的来,出现这个错误了。看楼上有这个错误,只是看完了还是不知道如何解决。明明注册好的。
找到解决方法了,我的平台是f1c200s,楼主在另外一个帖子说明了解决方法。
# 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 ...附上一些启动日志,供参考。
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 ...一步一步的来,出现这个错误了。看楼上有这个错误,只是看完了还是不知道如何解决。明明注册好的。
页次: 1