[FFmpeg-devel] [RFC] FFmpeg libavcodec/crystalhd.c: Optimize for reduced latency

thomas schorpp thomas.schorpp at gmail.com
Fri Feb 8 14:50:24 CET 2013


On 07.02.2013 21:55, Philip Langdale wrote:
> On 2013-02-06 08:12, thomas schorpp wrote:
>
>> Please test and confirm, can anyone test if this crystalhd decoder
>> works with Bino now
>> (h264_crystalhd codec force patch is in the Bino bugtracker, without
>> Bino takes the FFmpeg h.264 software codec),
>> did not work here with Philip's timing, only still pictures on
>> seeking and Bino decoder timeout messages,
>> it's always crashing in assertions for XCB(?) at GUI actions on my
>> debian stable/bpo environment.
>
> I can't test with Bino but mplayer seems to be working as well as before.
>
> Note that your kernel driver patch is buggy - it breaks suspend because the
> suspend call into the driver fails if the device is not decoding when you
> suspend (There's no hw_ctx).

Yes, all quick hack emergency fixes only, patch attached, but surely some more broken,
but PM resume does not work anyway on 2 machines here, I need:

/etc/pm/config.d/00suspend_modules:2:SUSPEND_MODULES="dvb_ttpci crystalhd"

/etc/pm/sleep.d/92_crystalhd
#!/bin/sh

#SERVICES="crystalhd"

#for service in $SERVICES; do
#    services_reverse="$service $services_reverse"
#done

case "$1" in
     hibernate|suspend)
         ;;
     thaw|resume)
	echo 1 > /sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0/reset
#	echo 1 > /sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0/rescan
esac

and after malfunction with "FW Command T/O", etc, crystalhd PCI-E device needs the reset up to 3x and module reload.

>
>> I'm investigating the broadcom libcrystalhd3 for possible
>> optimizations now, but FFmpeg performs at 30fps already
>> using
>> ffmpeg -c:v h264_crystalhd -i test.1080p.x264.mp4 -an -f rawvideo -y /dev/null
>> This should be the maximum hardware performance anyway.
>
> Yeah, improving the library may help with CPU consumption but it won't speed
> up transcoding. And transcoding with this hardware is a terrible idea because
> of the wasteful colourspace conversions anyway :-)
>

I know, but I've got patience, DE needs to save nuclear power, don't see the quality difference on my displays anyway,
stereo3d filter doesn't care and need one cpu core free to talk to You, the software h.264 decoder uses both at 100% ;-)

>> y
>> tom
>>
>> Patch v0.6 against debian ffmpeg-dmo-1.0.1 attached, sorry git HEAD
>> breaks to many apps on debian stable/testing(?),
>
> I thought debian didn't have a proper ffmpeg package anymore. I've lost
> track of what's going on there.

Some automated dmo mirrors (netcologne.de e.g.) have been left stale at 5/2012 due to the (domain) name change.

>
> Anyway, I'm happy to merge these changes once you're satisfied with them.
> Seems like a clear improvement at this point.
>
> --phil
>

I don't know yet, yesterday it broke with rising decode_wait up to 750ms on this stream, my version limits to
50ms but output stream is stuttering every few seconds then, I would like to wait for more feedback
(XBMC people?) and I've not yet tested my version with MPlayer(1):

Looks like a problem with high bitrate 720p or non-AVC1(?) h.264 AVI: My decoder version and/or BCM70012:

     encoder         : Lavf53.21.0 <--------
   Duration: 02:00:37.13, start: 0.000000, bitrate: 7560 kb/s <------------
     Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 1280x720, 30 fps, 30 tbr, 30 tbn, 60 tbc

     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 640x720, q=2-31, 200 kb/s, 30 tbn, 30 tbc
     Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, 224 kb/s
Stream mapping:
   Stream #0:0 -> #0:0 (h264_crystalhd -> mpeg4)
   Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16050 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16100 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16150 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16200 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16250 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16300 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16350 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16400 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16450 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16500 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16550 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16600 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16650 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16700 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16750 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16800 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16850 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16900 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 16950 us  FreeListCount 16 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17000 us  FreeListCount 16 ReadyListCount: 0
Input stream #0:0 frame changed from size:1280x720 fmt:yuv420p to size:1280x720 fmt:yuyv422
[Parsed_mp_0 @ 0x13a8240] 'stereo3d' is a wrapped MPlayer filter (libmpcodecs). This filter may be removed
once it has been ported to a native libavfilter.
CrystalHD: Picture Number discontinuity. Current delay: 17000 us e= 258.5kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 17000 us
     Last message repeated 1 times
DtsFetchOutInterruptible: Failed:a  112kB time=00:00:01.34 bitrate= 684.2kbits/s
DtsProcOutput: No Active Channels
CrystalHD: ProcOutput failed 10
No frames ready. Current delay: 17050 us  FreeListCount 14 ReadyListCount: 0 s/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17100 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17150 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17200 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17250 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17300 us  FreeListCount 14 ReadyListCount: 0
CrystalHD: Picture Number discontinuity. Current delay: 17300 us e= 730.2kbits/s
CrystalHD: Picture Number discontinuity. Current delay: 17300 us e= 807.4kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 17300 us
DtsFetchOutInterruptible: Failed:a
DtsProcOutput: No Active Channels
[h264_crystalhd @ 0x13a67a0] CrystalHD: ProcOutput failed 10
No frames ready. Current delay: 17350 us  FreeListCount 14 ReadyListCount: 0 s/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17400 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17450 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17500 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17550 us  FreeListCount 14 ReadyListCount: 0
CrystalHD: Picture Number discontinuity. Current delay: 17550 us e= 771.8kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 17550 us
DtsFetchOutInterruptible: Failed:a  324kB time=00:00:03.20 bitrate= 830.2kbits/s
DtsProcOutput: No Active Channels
CrystalHD: ProcOutput failed 10
No frames ready. Current delay: 17600 us  FreeListCount 14 ReadyListCount: 0 s/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17650 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17700 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17750 us  FreeListCount 14 ReadyListCount: 0
CrystalHD: Picture Number discontinuity. Current delay: 17750 us e= 792.7kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 17750 us
DtsFetchOutInterruptible: Failed:a  470kB time=00:00:04.51 bitrate= 854.0kbits/s
DtsProcOutput: No Active Channels
CrystalHD: ProcOutput failed 10
No frames ready. Current delay: 17800 us  FreeListCount 14 ReadyListCount: 0 s/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17850 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 17900 us  FreeListCount 14 ReadyListCount: 0
CrystalHD: Picture Number discontinuity. Current delay: 17900 us e= 798.5kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 17900 us
No frames ready. Current delay: 17950 us  FreeListCount 14 ReadyListCount: 0 s/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18050 us  FreeListCount 14 ReadyListCount: 0
No frames ready. Current delay: 18100 us  FreeListCount 14 ReadyListCount: 0 s/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18150 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18200 us  FreeListCount 14 ReadyListCount: 0
CrystalHD: Picture Number discontinuity. Current delay: 18200 us e= 802.0kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 18200 us
CrystalHD: Picture Number discontinuity. Current delay: 18200 us e= 829.4kbits/s
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18250 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18300 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18350 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18400 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18450 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18500 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0x13a67a0] No frames ready. Current delay: 18550 us  FreeListCount 14 ReadyListCount: 0
CrystalHD: No more input data.      687kB time=00:00:07.00 bitrate= 803.1kbits/s
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 18550 us
[h264_crystalhd @ 0x13a67a0] CrystalHD: No more input data.
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 18550 us
[h264_crystalhd @ 0x13a67a0] CrystalHD: No more input data.
[h264_crystalhd @ 0x13a67a0] CrystalHD: Picture Number discontinuity. Current delay: 18550 us
[h264_crystalhd @ 0x13a67a0] CrystalHD: No more input data.
DtsFetchOutInterruptible: Failed:a
DtsProcOutput: No Active Channels
     Last message repeated 4 times
[h264_crystalhd @ 0x13a67a0] CrystalHD: ProcOutput failed 10
frame=  160 fps=7.8 q=8.0 Lsize=     751kB time=00:00:07.13 bitrate= 862.5kbits/s
video:537kB audio:195kB subtitle:0 global headers:0kB muxing overhead 2.677539%
Clearing 10 PendMdata entries
DtsAllocIoctlData Error
schorpp at tom3:~$

In the long run:

CrystalHD: Picture Number discontinuity. Current delay: 50000 us e=1415.7kbits/s dup=4395 drop=0
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Picture Number discontinuity. Current delay: 50000 us
No frames ready. Current delay: 50000 us  FreeListCount 14 ReadyListCount: 0 s/s dup=4405 drop=0
[h264_crystalhd @ 0xa3b7a0] No frames ready. Current delay: 50000 us  FreeListCount 14 ReadyListCount: 0
     Last message repeated 8 times
CrystalHD: Picture Number discontinuity. Current delay: 50000 us e=1415.5kbits/s dup=4405 drop=0
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Picture Number discontinuity. Current delay: 50000 us
[h264_crystalhd @ 0xa3b7a0] No frames ready. Current delay: 50000 us  FreeListCount 14 ReadyListCount: 0
No frames ready. Current delay: 50000 us  FreeListCount 14 ReadyListCount: 0 s/s dup=4414 drop=0
[h264_crystalhd @ 0xa3b7a0] No frames ready. Current delay: 50000 us  FreeListCount 14 ReadyListCount: 0
     Last message repeated 7 times
CrystalHD: Picture Number discontinuity. Current delay: 50000 us e=1415.2kbits/s dup=4414 drop=0
CrystalHD: Picture Number discontinuity. Current delay: 50000 us e=1415.2kbits/s dup=4418 drop=0

[h264_crystalhd @ 0xa3b7a0] CrystalHD: decode_frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: parser picture type 3
[h264_crystalhd @ 0xa3b7a0] input "pts": 2406600000
[h264_crystalhd @ 0xa3b7a0] Frames Ready. Current delay: 50000 us  FreeListCount 8 ReadyListCount: 6
[h264_crystalhd @ 0xa3b7a0] CrystalHD: RX loop. Current delay: 50000 us  FreeListCount 8 ReadyListCount: 6
[h264_crystalhd @ 0xa3b7a0] 	Frames to Drop: 0
[h264_crystalhd @ 0xa3b7a0] output "pts": 2404800000
[h264_crystalhd @ 0xa3b7a0] output picture type 3
[h264_crystalhd @ 0xa3b7a0] Interlaced state: 0 | trust_interlaced 1
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Copying out frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Pipeline length (has_b_frames): 957 <----------------------
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Decoded OK. Current delay: 50000 us  FreeListCount 9 ReadyListCount: 5
[h264_crystalhd @ 0xa3b7a0] CrystalHD: decode_frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: parser picture type 3
[h264_crystalhd @ 0xa3b7a0] input "pts": 2406700000
[h264_crystalhd @ 0xa3b7a0] Frames Ready. Current delay: 50000 us  FreeListCount 3 ReadyListCount: 11
[h264_crystalhd @ 0xa3b7a0] CrystalHD: RX loop. Current delay: 50000 us  FreeListCount 3 ReadyListCount: 11
[h264_crystalhd @ 0xa3b7a0] 	Frames to Drop: 0
[h264_crystalhd @ 0xa3b7a0] output "pts": 2404900000
[h264_crystalhd @ 0xa3b7a0] output picture type 3
[h264_crystalhd @ 0xa3b7a0] Interlaced state: 0 | trust_interlaced 1
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Copying out frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Pipeline length (has_b_frames): 957
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Decoded OK. Current delay: 50000 us  FreeListCount 3 ReadyListCount: 11
[h264_crystalhd @ 0xa3b7a0] CrystalHD: decode_frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: parser picture type 3
[h264_crystalhd @ 0xa3b7a0] input "pts": 2406800000
[h264_crystalhd @ 0xa3b7a0] Frames Ready. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] CrystalHD: RX loop. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] 	Frames to Drop: 0
[h264_crystalhd @ 0xa3b7a0] output "pts": 2404700000
[h264_crystalhd @ 0xa3b7a0] output picture type 3
[h264_crystalhd @ 0xa3b7a0] Interlaced state: 0 | trust_interlaced 1
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Copying out frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Pipeline length (has_b_frames): 957
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Decoded OK. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 15
[h264_crystalhd @ 0xa3b7a0] CrystalHD: decode_frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: parser picture type 3
[h264_crystalhd @ 0xa3b7a0] input "pts": 2406900000
[h264_crystalhd @ 0xa3b7a0] Frames Ready. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] CrystalHD: RX loop. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] 	Frames to Drop: 0
[h264_crystalhd @ 0xa3b7a0] output "pts": 2405100000
[h264_crystalhd @ 0xa3b7a0] output picture type 3
[h264_crystalhd @ 0xa3b7a0] Interlaced state: 0 | trust_interlaced 1
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Copying out frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Pipeline length (has_b_frames): 957
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Decoded OK. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 15
CrystalHD: decode_frame.0 size=  144920kB time=00:13:22.30 bitrate=1479.7kbits/s dup=938 drop=0
[h264_crystalhd @ 0xa3b7a0] CrystalHD: parser picture type 3
[h264_crystalhd @ 0xa3b7a0] input "pts": 2407000000
[h264_crystalhd @ 0xa3b7a0] Frames Ready. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] CrystalHD: RX loop. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] 	Frames to Drop: 0
[h264_crystalhd @ 0xa3b7a0] output "pts": 2405200000
[h264_crystalhd @ 0xa3b7a0] output picture type 3
[h264_crystalhd @ 0xa3b7a0] Interlaced state: 0 | trust_interlaced 1
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Copying out frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Pipeline length (has_b_frames): 957
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Decoded OK. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 15
[h264_crystalhd @ 0xa3b7a0] CrystalHD: decode_frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: parser picture type 3
[h264_crystalhd @ 0xa3b7a0] input "pts": 2407100000
[h264_crystalhd @ 0xa3b7a0] Frames Ready. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] CrystalHD: RX loop. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 16
[h264_crystalhd @ 0xa3b7a0] 	Frames to Drop: 0
[h264_crystalhd @ 0xa3b7a0] output "pts": 2405000000
[h264_crystalhd @ 0xa3b7a0] output picture type 3
[h264_crystalhd @ 0xa3b7a0] Interlaced state: 0 | trust_interlaced 1
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Copying out frame
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Pipeline length (has_b_frames): 957
[h264_crystalhd @ 0xa3b7a0] CrystalHD: Decoded OK. Current delay: 50000 us  FreeListCount 0 ReadyListCount: 15

Pipeline length (has_b_frames): 957 (!) and FreeListCount fast 0, buffer overrun. To prevent this I had used:

-        if (len < tx_free - 1024) {
+        ret = DtsGetDriverStatus(dev, &decoder_status);
+        if (ret != BC_STS_SUCCESS) {
+                av_log(avctx, AV_LOG_ERROR, "CrystalHD: Driver error before DtsProcInput, reload or reboot %u\n", ret);
+                return RET_ERROR;
+        }
+
+        if (len < tx_free - 1024  && decoder_status.FreeListCount > 0) {

I retry such a stream with it (just have deleted it , stupid me :D )

Your version from dmo ffmpeg 1.0.1 (I've only added the trace loggers):

Press [q] to stop, [?] for help
[h264_crystalhd @ 0xa9e7a0] Filling Pipeline. Current delay: 10000 us  FreeListCount 16 ReadyListCount: 0
     Last message repeated 19 times
[h264_crystalhd @ 0xa9e7a0] Filling Pipeline. Current delay: 10000 us  FreeListCount 15 ReadyListCount: 1
     Last message repeated 1 times
Input stream #0:0 frame changed from size:1280x720 fmt:yuv420p to size:1280x720 fmt:yuyv422
[Parsed_mp_0 @ 0xc423c0] 'stereo3d' is a wrapped MPlayer filter (libmpcodecs). This filter may be removed
once it has been ported to a native libavfilter.
CrystalHD: Picture Number discontinuitykB time=00:00:01.18 bitrate= 231.6kbits/s dup=1 drop=0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: Picture Number discontinuity
DtsFetchOutInterruptible: Failed:a
DtsProcOutput: No Active Channels
     Last message repeated 3 times
[h264_crystalhd @ 0xa9e7a0] CrystalHD: ProcOutput failed 10
No frames ready. Current delay: 10000 us  FreeListCount 14 ReadyListCount: 0 s/s dup=11 drop=0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 11000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 12000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 13000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 14000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 15000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 16000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 17000 us  FreeListCount 14 ReadyListCount: 0
...
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 749000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] CrystalHD: Input buffer full. Current delay: 750000 us  FreeListCount 0 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 750000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
[h264_crystalhd @ 0xa9e7a0] CrystalHD: Input buffer full. Current delay: 751000 us  FreeListCount 0 ReadyListCount: 0
CrystalHD: No more input datae=    3221kB time=00:00:30.68 bitrate= 859.9kbits/s dup=622 drop=0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No more input data
     Last message repeated 3 times
[h264_crystalhd @ 0xa9e7a0] CrystalHD: Picture Number discontinuity
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No more input data
[h264_crystalhd @ 0xa9e7a0] CrystalHD: Picture Number discontinuity
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No more input data
[h264_crystalhd @ 0xa9e7a0] CrystalHD: Picture Number discontinuity
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No more input data
[h264_crystalhd @ 0xa9e7a0] No frames ready. Current delay: 751000 us  FreeListCount 14 ReadyListCount: 0
[h264_crystalhd @ 0xa9e7a0] CrystalHD: No frames ready. Returning
frame=  779 fps= 10 q=8.0 Lsize=    3367kB time=00:00:30.68 bitrate= 898.7kbits/s dup=622 drop=0
video:2516kB audio:839kB subtitle:0 global headers:0kB muxing overhead 0.341321%
Clearing 22 PendMdata entries
DtsAllocIoctlData Error

But the stream works in Mplayer(1)  *** 3:1.1-dmo8 0 on the debian testing host.

Such a stream has been handled >10x OK by both versions:

     compatible_brands: isomavc1 <--------
     creation_time   : 2012-05-06 07:04:16
   Duration: 01:30:19.53, start: 0.000000, bitrate: 2299 kb/s <------------
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2202 kb/s, 23.98 fps, 23.98 tbr, 96k tbn, 47.95 tbc

.

And what about these changes from the git HEAD:

@@ -535,7 +536,7 @@
  
  static inline CopyRet copy_frame(AVCodecContext *avctx,
                                   BC_DTS_PROC_OUT *output,
-                                 void *data, int *data_size)
+                                 void *data, int *got_frame)
...

API change 1.0.1->1.1+git only or functional?

I need to diff against git HEAD for commit.

y
tom

-------------- next part --------------
A non-text attachment was scrubbed...
Name: crystalhd-fix-PM-suspend.schorpp.01.patch
Type: text/x-diff
Size: 19008 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130208/9fb783f2/attachment.bin>


More information about the ffmpeg-devel mailing list