Opened 3 years ago

Last modified 18 months ago

#9401 new enhancement

Conversion from DSS fails with files created by Philips LFH devices

Reported by: Eddie Green Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: dss
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:

Conversion from DSS fails with files created by Philips LFH devices

How to reproduce:

use the sample file 'PhilipsNotWorking.dss' supplied with the following command line:

ffmpeg -v 9 -loglevel 99 -i "PhilipsNotWorking.DSS" "PhilipsNotWorking.wav" -y -report

Output:

ffmpeg started on 2021-08-30 at 13:23:36
Report written to "ffmpeg-20210830-132336.log"
Log level: 99
Command line:
ffmpeg -v 9 -loglevel 99 -i "C:\\Data\\Desktop\\Audio\\PhilipsNotWorking.DSS" "C:\\Data\\Desktop\\Audio\\PhilipsNotWorking.wav" -y -report
ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument 'C:\Data\Desktop\Audio\PhilipsNotWorking.DSS'.
Reading option 'C:\Data\Desktop\Audio\PhilipsNotWorking.wav' ... matched as output url.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Applying option loglevel (set logging level) with argument 99.
Applying option y (overwrite output files) with argument 1.
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url C:\Data\Desktop\Audio\PhilipsNotWorking.DSS.
Successfully parsed a group of options.
Opening an input file: C:\Data\Desktop\Audio\PhilipsNotWorking.DSS.
[NULL @ 00000199bd0a0c40] Opening 'C:\Data\Desktop\Audio\PhilipsNotWorking.DSS' for reading
[file @ 00000199bd0a1b00] Setting default whitelist 'file,crypto,data'
Probing dss score:100 size:2048
[dss @ 00000199bd0a0c40] Format dss probed with size=2048 and score=100
[dss @ 00000199bd0a0c40] Support for codec 4c in DSS 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.
[dss @ 00000199bd0a0c40] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[AVIOContext @ 00000199bd0a9dc0] Statistics: 18432 bytes read, 0 seeks
C:\Data\Desktop\Audio\PhilipsNotWorking.DSS: Not yet implemented in FFmpeg, patches welcome

Recording Device: Philips LFH9600

More information:

Having previously successfully converted files from this device in the past, I received this error only with recent files. Investigating the differences between working and non-working files, I discovered that the device had reset its settings held in NVRAM and was tagging each file with a default set of proprietary information - Access Code, Company and Work Type.

The location of these settings conflicts with DSS_HEAD_OFFSET_ACODEC in dss.c at 0x2a4 - in particular, the location where the 'Company' tag is written to.

Comparing the hex for working and non-working files, this location is not used for the storage of codec information in files produced by this device.

File attachments to send:

PhilipsNotWorking.dss
PhilipsWorking.dss
Hex Editor view of working and non-working files.jpg
ffmpeg-not-working.log
ffmpeg-working.log

Attachments (5)

ffmpeg-not-working.log (3.7 KB ) - added by Eddie Green 3 years ago.
ffmpeg-not-working.log
ffmpeg-working.log (6.3 KB ) - added by Eddie Green 3 years ago.
Hex Editor view of working and non-working files.jpg (569.4 KB ) - added by Eddie Green 3 years ago.
PhilipsNotWorking.DSS (18.0 KB ) - added by Eddie Green 3 years ago.
PhilipsWorking.wav (133.7 KB ) - added by Eddie Green 3 years ago.

Download all attachments as: .zip

Change History (6)

by Eddie Green, 3 years ago

Attachment: ffmpeg-not-working.log added

ffmpeg-not-working.log

by Eddie Green, 3 years ago

Attachment: ffmpeg-working.log added

by Eddie Green, 3 years ago

Attachment: PhilipsNotWorking.DSS added

by Eddie Green, 3 years ago

Attachment: PhilipsWorking.wav added

comment:1 by Carl Eugen Hoyos, 18 months ago

Component: undeterminedavformat
Keywords: dss added
Priority: normalwish
Reproduced by developer: set
Type: defectenhancement
Version: unspecifiedgit-master

Can you provide a file encoded in "LP mode" that does not work?

Note: See TracTickets for help on using tickets.