Opened 3 years ago

Last modified 3 years ago

#4592 new defect

Sony mxf file fails to decode

Reported by: cehoyos Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: mxf h264
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

A user provided a mxf file from a Sony PXW-X180. It is supposed to contain audio, FFmpeg only decodes video but showing many errors. The decoding speed is said to be wrong.

$ ffmpeg -i sonyx180-1080-i50.MXF
ffmpeg version N-72624-g196b885 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      54. 26.101 / 54. 26.101
  libavcodec     56. 41.101 / 56. 41.101
  libavformat    56. 34.100 / 56. 34.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
[h264 @ 0x2df6e00] slice type 32 too large at 55
[h264 @ 0x2df6e00] decode_slice_header error
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] no frame!
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
[h264 @ 0x2df6e00] slice type 32 too large at 55
[h264 @ 0x2df6e00] decode_slice_header error
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] no frame!
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
[h264 @ 0x2df6e00] slice type 32 too large at 55
[h264 @ 0x2df6e00] decode_slice_header error
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] no frame!
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
[h264 @ 0x2df6e00] slice type 32 too large at 55
[h264 @ 0x2df6e00] decode_slice_header error
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] no frame!
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
[h264 @ 0x2df6e00] slice type 32 too large at 55
[h264 @ 0x2df6e00] decode_slice_header error
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] no frame!
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
[h264 @ 0x2df6e00] slice type 32 too large at 55
[h264 @ 0x2df6e00] decode_slice_header error
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] no frame!
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x2df6e00] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 0x2df6e00] non-existing PPS 3 referenced
    Last message repeated 1 times
[h264 @ 0x2df63e0] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, h264, from 'sonyx180-1080-i50.MXF':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High 4:2:2 Intra), yuv422p10le(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
At least one output file must be specified

Change History (2)

comment:2 Changed 3 years ago by Tjoppen

Some quick analysis:

$ mxfdump sonyx180-1080-i50.MXF 
Dump an MXF file using MXFLib
- using dictionary "dict.xml"
ERROR: Cannot find valid key in first 65536 bytes of file "sonyx180-1080-i50.MXF"
sonyx180-1080-i50.MXF: Success

mxfdump doesn't seem to think it's an MXF file. Let's have a quick look with a hex editor:

0000 0000: 06 0E 2B 34 02 05 01 01  0D 01 03 01 04 01 01 00  ..+4.... ........
0000 0010: 83 00 00 39 5E 04 00 00  00 00 00 06 0E 2B 34 04  ...9^... .....+4.
0000 0020: 01 01 03 0D 01 03 01 02  7F 01 00 00 00 00 00 00  ........ ........
0000 0030: 00 00 00 00 00 00 00 00  00 00 00 00 81 06 31 21  ........ ......1!

Looks like there's two ULs here. There first one (at 0000 0000) seems to be an UMID, while the second one (at 0000 001B) is "MXF-GC Generic Essence Multiple Mappings". In other words, this is just an SMPTE generic essence container. There's no header, footer or index to help demux the file and it is not MXF. Indeed, ffmpeg considers it raw H.264, not MXF.

I suggest working out the format for yourself, then writing a simple little tool to split it up into raw video and audio.

Note: See TracTickets for help on using tickets.