B Series DTS bugs & support

Here for general support for B series TVs, request and problem solve area.

baco81
Posts: 70
Joined: Fri Apr 30, 2010 8:24 am

Re: B Series DTS bugs & support

Post by baco81 »

smartsmurf wrote:
michalhejl wrote:The DTS plugin will by default play DTS with the LIBDCA codec, when you however delete the LIBDCA.SO file, it will start using the FFMPEG codec instead.
This is exactly what happens. I did include libdca for completeness, however ffmpeg has more advanced optimizations for ARMV6 and VFP (vector floating point processor) included, so it will be more performant.
First of all, I would like to thank Smartsmurf, he has done a brilliant job bringing us such a good hack :D

There is a question that is killing me, though...

If FFMPEG is more performant, why did you choose LIBDCA codec instead as the preferred one? I mean... what are the drawbacks of using FFMPEG codec? :roll:

Thank you in advance 8-)
T-CHL7DEUC-2005.0-v0.24-GMT2-ArFIX2-ADFIX-fwver-ENGFIX
smartsmurf
Official SamyGO Developer
Posts: 111
Joined: Thu Jun 24, 2010 8:26 am
Location: Frankfurt, Germany

Re: B Series DTS bugs & support

Post by smartsmurf »

baco81 wrote: There is a question that is killing me, though...

If FFMPEG is more performant, why did you choose LIBDCA codec instead as the preferred one? I mean... what are the drawbacks of using FFMPEG codec?
OK, answer is simple:
The libdca has got more advanced DTS decoding features (like downmixing options, dynamic range compression, etc.). Despite that it completely lacks (hardware-)acceleration. It's a pure C implementation. So generally speaking, I would expect best audio results by using it.
In contrast the ffmpeg implementation got less features, but more low-level optimizations for ARMV6 and VFP. So it is more performant resulting in less CPU load.
The differences convinced me to put both libraries into the package. The precedence for libdca is also explainable: ffmpeg is used for media parsing, so it cannot be removed and must be there. The only thing which can be removed safely is libdca, since it is only used for decoding, but not for parsing.
nostromo1983
Posts: 72
Joined: Sat Nov 07, 2009 4:39 pm

Re: B Series DTS bugs & support

Post by nostromo1983 »

I did analyzed files that wont works (2 only versus 20 working), and i cant see anything different with those files, it's DTS 24 bits .Maybe it has to do with the bitrate of the video stream, or some encoding parameter wich suck too much CPU on those particular files. Also i have to says it's working for any DTS variant, i mean DTS-ES as well as DTS-HD MA. One more thing, as others i have conflict between audio switch and DTS. Smartsmurf, do you know how to break into exeDSP and trace without make the process unstable or crashing?
Samsung LE32B554 T-CH5DEUC 2006.0 with patched u-boot for usb boot with OpenEmbedded custom kernel with network supported and usb rootfs
smartsmurf
Official SamyGO Developer
Posts: 111
Joined: Thu Jun 24, 2010 8:26 am
Location: Frankfurt, Germany

Re: B Series DTS bugs & support

Post by smartsmurf »

nostromo1983 wrote:I did analyzed files that wont works (2 only versus 20 working), and i cant see anything different with those files, it's DTS 24 bits .Maybe it has to do with the bitrate of the video stream, or some encoding parameter wich suck too much CPU on those particular files. Also i have to says it's working for any DTS variant, i mean DTS-ES as well as DTS-HD MA.
Can you do a "ffmpeg -i <file>" on the problematic files? Thanks.
nostromo1983 wrote: One more thing, as others i have conflict between audio switch and DTS. Smartsmurf, do you know how to break into exeDSP and trace without make the process unstable or crashing?
The reason is the following: SamyGO DCA and the audio switch application "share" some of the functions in exeDSP, e.g. _ZN13CParsingMedia16GetMediaTypeInfoEPKcPN10Multimedia18_tMediaInfoContextE. Since SamyGO DCA replaces this function completely, the hook from audio switch application will never be executed. This results in "asw_process_mediatype_all()" in audio switch never being executed. This leaves the variables u7, u8, u9 unpopulated (invalid or NULL pointers!) and results in a crash when the audio switch should come into place.
One could patch audio switch application to cope with null pointers, which would solve the crashing issue - but this would not lead to a working audio switch application while the DCA module is loaded.
The only solution is to integrate both audio switch and DCA module (or maybe integrate DCA module into samygopvr, which contains audio switch, too).
nostromo1983
Posts: 72
Joined: Sat Nov 07, 2009 4:39 pm

Re: B Series DTS bugs & support

Post by nostromo1983 »

Ok, do you mean ffmeg for arm ? because i dont have ffmpeg compiled for ARM at hand, only ffmpeg for windows, right now. Here's the output of the two files:

Code: Select all

SHELL>ffmpeg.exe -i "e:\1.mkv"
FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-avisynth --enable
-libfaac --enable-libfaad --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libx264 --enable-memal
ign-hack
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 16 2009 16:09:18, gcc: 4.2.4 [Sherpya]

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (54042/1127) -> 23.98 (24000/1001)
Input #0, matroska, from 'e:\1.mkv':
  Duration: 01:55:49.93, start: 0.000000, bitrate: N/A
    Stream #0.0(eng): Video: h264, yuv420p, 1920x816, PAR 1:1 DAR 40:17, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0.1(fre): Audio: dca, 48000 Hz, 5.1, s16
    Stream #0.2(eng): Audio: dca, 48000 Hz, 5.1, s16
    Stream #0.3(fre): Subtitle: 0x0000
    Stream #0.4(eng): Subtitle: 0x0000
At least one output file must be specified

SHELL>ffmpeg.exe -i "e:\3.mkv"
FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-avisynth --enable
-libfaac --enable-libfaad --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libx264 --enable-memal
ign-hack
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 16 2009 16:09:18, gcc: 4.2.4 [Sherpya]

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (54042/1127) -> 23.98 (24000/1001)
Input #0, matroska, from 'e:\3.mkv':
  Duration: 02:24:52.65, start: 0.000000, bitrate: N/A
    Stream #0.0(eng): Video: h264, yuv420p, 1920x808, PAR 1:1 DAR 240:101, 23.98 tbr, 1k tbn, 47.95 tbc
    Stream #0.1(fre): Audio: dca, 48000 Hz, 5.1, s16
    Stream #0.2(eng): Audio: dca, 48000 Hz, 5.1, s16
    Stream #0.3(fre): Subtitle: 0x0000
    Stream #0.4(eng): Subtitle: 0x0000
At least one output file must be specified
Samsung LE32B554 T-CH5DEUC 2006.0 with patched u-boot for usb boot with OpenEmbedded custom kernel with network supported and usb rootfs
smartsmurf
Official SamyGO Developer
Posts: 111
Joined: Thu Jun 24, 2010 8:26 am
Location: Frankfurt, Germany

Re: B Series DTS bugs & support

Post by smartsmurf »

nostromo1983 wrote:Ok, do you mean ffmeg for arm ? because i dont have ffmpeg compiled for ARM at hand, only ffmpeg for windows, right now.
Yeah, the PC version is just sufficient. It can be seen that the video frame rate is two times the container frame rate. Maybe some 3D video?
If it matters, I can still have a look on it, but this would require to fetch a chunk of it.
nostromo1983
Posts: 72
Joined: Sat Nov 07, 2009 4:39 pm

Re: B Series DTS bugs & support

Post by nostromo1983 »

Well, it's not a 3d movie, it's a standard movie, nothing special. I can upload you a chunk for analysis, how long do you need? 1 minute is ok?
Samsung LE32B554 T-CH5DEUC 2006.0 with patched u-boot for usb boot with OpenEmbedded custom kernel with network supported and usb rootfs
smartsmurf
Official SamyGO Developer
Posts: 111
Joined: Thu Jun 24, 2010 8:26 am
Location: Frankfurt, Germany

Re: B Series DTS bugs & support

Post by smartsmurf »

nostromo1983 wrote:Well, it's not a 3d movie, it's a standard movie, nothing special. I can upload you a chunk for analysis, how long do you need? 1 minute is ok?
Yes, this should be OK. PM me the link, please.

Post Reply

Return to “[B] Support”