Opened 12 years ago

Closed 12 years ago

#656 closed defect (fixed)

LXF demuxer fails on new Leitch files

Reported by: Carl Lindqvist Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: lxf
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

FFmpeg/avformat fails to read files produced by newer Leitch/Harris servers (*.lxf). According to what I've learned, the file header and packet headers have grown a few bytes in the new version. The byte count for the headers have been updated, but I suspect that the lxf demuxer in avformat has these values hard coded. This is the output of FFmpeg:

[lxf @ 020F9F40] checksum error
[lxf @ 020F9F40] expected 120 B size header, got 0

All the samples I have are very big (3GB+), so I can't send the files easily.

Attachments (2)

cut.lxf (2.4 MB ) - added by Carl Eugen Hoyos 12 years ago.
New+LXF+Format.pdf (169.9 KB ) - added by Carl Eugen Hoyos 12 years ago.

Change History (8)

comment:1 by Carl Lindqvist, 12 years ago

The values for header size and packet header size seem to indeed be hard coded. This should be read from the files themselves. The following is from libavformat/lxfdec.c:

00026 #define LXF_PACKET_HEADER_SIZE 60
00027 #define LXF_HEADER_DATA_SIZE 120

comment:2 by Carl Eugen Hoyos, 12 years ago

Keywords: demuxer packet header removed

Complete, uncut console output missing.

Without a sample, this is very unlikely to get fixed.

comment:3 by Carl Lindqvist, 12 years ago

Ok, here is the full output of ffprobe on a new lxf:

ffprobe version N-34704-g985e768, Copyright (c) 2007-2011 the FFmpeg developers

built on Nov 11 2011 01:46:59 with gcc 4.6.2
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru

ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
-enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib

libavutil 51. 24. 1 / 51. 24. 1
libavcodec 53. 31. 0 / 53. 31. 0
libavformat 53. 20. 0 / 53. 20. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 47. 2 / 2. 47. 2
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[lxf @ 020E8CE0] checksum error
[lxf @ 020E8CE0] expected 120 B size header, got 0
y:\lxf\CP261167.lxf: Invalid data found when processing input

comment:4 by Carl Lindqvist, 12 years ago

I will see if I can get hold of a small sample file.

by Carl Eugen Hoyos, 12 years ago

Attachment: cut.lxf added

by Carl Eugen Hoyos, 12 years ago

Attachment: New+LXF+Format.pdf added

comment:5 by Carl Eugen Hoyos, 12 years ago

Reproduced by developer: set
Status: newopen

comment:6 by reimar, 12 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.