[FFmpeg-devel] Bugs with European H264 TV Channel Handling with FFMPEG
Steven Ellis
mail_lists
Tue Feb 5 07:03:24 CET 2008
> Hi,
>
> I just received the e-mail below from Igor which followed an IRC chat
> with the FFMPEG developers. It seems that the FFMPEG developers would
> like a set of samples exhibiting problems with H264 decoding.
>
> I have uploaded 5 samples to the MPlayer mailing list which exhibit
> two distinct problems that I have found across European H264 satellite
> channels.
>
> The first affects multiple channels and bouqets and seems to be
> related to "Spatial Direct Mode", i.e. channels that previously
> reported "Spatial Direct Mode not implemented" with FFMPEG. That
> message has now gone in the latest SVN, but the problems still exist.
>
> The second is related to a set of channels in a Scanidanavian bouquet.
> There is artifacting on the picture during movement and panning.
> Reinhard Nissl reported on the VDR mailing list that this might be a
> problem relating to the handling of the progressive frame flag and the
> TVTIME deinterlacer in xine, but the problem is apparent in other
> interlacers (Bob, Linear Blend et al).
Thanks for the recent patches for H.264 and spatial direct interlaced
video. Playback is a lot better, but I still see a lot of strange
artifacts in my video files.
I've uploaded a sample file from the current NZ DTT test transmissions. It
is a 576i H.264 stream with LATM HE-AAC audio. I've uploaded this to the
directory /MPlayer/incoming/h264_spatial_direct_aac together with a
description file.
At the moment ffplay can't handle the LATM HE-AAC audio, but recent
patches to MPlayer mean I've been able to test the audio.
For the video playback aside from the obvious interlaced video artifacts,
I see a lot of strange blocky artifacts, with no errors being reported by
ffplay.
ffplay -stats ./h264_spatial_direct_aac.ts
FFplay version SVN-r11870, Copyright (c) 2003-2008 Fabrice Bellard, et al..
configuration:
libavutil version: 49.6.0
libavcodec version: 51.50.0
libavformat version: 52.7.0
libavdevice version: 52.0.0
built on Feb 5 2008 18:22:28, gcc: 4.1.2 20070626 (Red Hat 4.1.2-14)
[h264 @ 0x84cac50]non existing PPS referenced
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]non existing PPS referenced
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]non existing PPS referenced
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]non existing PPS referenced
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]non existing PPS referenced
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
[h264 @ 0x84cac50]B picture before any references, skipping
[h264 @ 0x84cac50]decode_slice_header error
[h264 @ 0x84cac50]no frame!
Input #0, mpegts, from './h264_spatial_direct_aac.ts':
Duration: 00:00:20.0, start: 94305.519511, bitrate: 4082 kb/s
Program 1200
Program 1201
Program 1202
Stream #0.0[0xfc]: Video: h264, yuv420p, 720x576 [PAR 16:11 DAR
20:11], 25.00 tb(r)
Stream #0.1[0x12e](eng): Audio: 0x0000, 44100 Hz, 4 channels, 94 kb/s
Program 1203
Program 1204
Program 1208
[h264 @ 0x84cac50]warning: first frame is no keyframe
[h264 @ 0x84cac50]reference picture missing during reorder
[h264 @ 0x84cac50]reference picture missing during reorder
[h264 @ 0x84cac50]reference picture missing during reorder
Note that I have made the following modifications so that ffplay could
detect the AAC streams, even though it can't play them
Index: libavformat/mpegts.c
===================================================================
--- libavformat/mpegts.c (revision 11870)
+++ libavformat/mpegts.c (working copy)
@@ -586,6 +586,7 @@
case STREAM_TYPE_VIDEO_H264:
case STREAM_TYPE_VIDEO_VC1:
case STREAM_TYPE_AUDIO_AAC:
+ case STREAM_TYPE_AUDIO_LATM:
case STREAM_TYPE_AUDIO_AC3:
case STREAM_TYPE_AUDIO_DTS:
case STREAM_TYPE_SUBTITLE_DVB:
@@ -918,6 +919,10 @@
codec_type = CODEC_TYPE_AUDIO;
codec_id = CODEC_ID_AAC;
break;
+ case STREAM_TYPE_AUDIO_LATM:
+ codec_type = CODEC_TYPE_AUDIO;
+ codec_id = CODEC_ID_AAC;
+ break;
case STREAM_TYPE_AUDIO_AC3:
codec_type = CODEC_TYPE_AUDIO;
codec_id = CODEC_ID_AC3;
Index: libavformat/mpegts.h
===================================================================
--- libavformat/mpegts.h (revision 11870)
+++ libavformat/mpegts.h (working copy)
@@ -50,6 +50,7 @@
#define STREAM_TYPE_PRIVATE_DATA 0x06
#define STREAM_TYPE_AUDIO_AAC 0x0f
#define STREAM_TYPE_VIDEO_MPEG4 0x10
+#define STREAM_TYPE_AUDIO_LATM 0x11
#define STREAM_TYPE_VIDEO_H264 0x1b
#define STREAM_TYPE_VIDEO_VC1 0xea
Steve
More information about the ffmpeg-devel
mailing list