Migrate (to HDR FOX-T2)



Vn 0.8 broke with the kernel update between debian 10.3.0 and 10.4.0 but nobody, other than my family, noticed. It complained about a security problem tidying up the memory after the core processing had completed successfully. Out of habit, I had written the memory management the way m$ recommended since windows 98. This results in the compiler/optimiser creating an automatous thread that “free”d memory and set the pointers to NULL. I agree with the security concern that an automatous thread can be added to a program and thus be malicious, so it’s setting of pointers to NULL can change the behaviour of a program after it has done validation of the buffer referenced by the pointer. This resulted in Vn 0.8.1. The archive being published is Vn 0.8.2. Attachment MigrateVn0.8.2sizes.txt contains links to my OneDrive where the archives as set up for read only download.

New in Vn 0.8.1 :-
Audio – If a recoded file had a mono audio stream, a pseudo stereo output is produced by setting the left and right channels to the input audio. If listening over headphones, the sound coming from only one side seems strange.
Video – Re-multiplexing of a VOB set (no processing of the menu stream is involved, so I can’t claim it to be a DVD title) can be initiated from the file selection by selecting any VOB in the set. If selected this way, the input stream(s) language code metadata is translated to the DVB equivalent in the output. Note that ffmpeg currently does not do this, it does not have any language metadata in it’s output.

New in Vn 0.8.2 :-
Humax native cli static executable.
Health warnings :-
It is “proof of concept” so contains a lot of instrumentation.
If it receives a trap it outputs an error message containing the execution logical address as minimum extra information over the standard linux error message.
It toggles between 2 files, load0.log & load1.log, to record the information that is monitored by the kernel that can cause a restart without producing a crash dump.
It creates a file Page9G, if it has not been created by itself previously, to use as a swap file during recoding of an input file. The extreme bloat is due to using ffmpeg’s version of libav as the recoding engine.
My confidence checks take 20 minutes on my laptop (was mid range 3 years ago). The remultiplexing check takes 25 minutes and the recoding check takes 1 hour 20 minutes on an HDR-Fox T2 so it is considerably slower than the pc (windows and linux) versions.
Release testing highlighted a bug that does not affect operation. The scar is to do with the cpu load displayed to the user. Elapsed time is calculated as time now - time at start of execution. If you are unlucky enough for the time to wrap during execution, the elapsed time calculation produces nonsensical results, resulting in loads of far greater than 100%.


  • MigrateVn0.8.2sizes.txt
    1.4 KB · Views: 2


I have finally reached the point where Vn 0.9 passed it’s automated testing. Automating the testing is just a case of splitting into 18 elapsed hours on the target. Automated results checking has a lot more ‘manual’ in it. Where the bit patterns differ between targets (all first examples of outputs have been checked by watching on a Humax) it needs to be identified that the differences are either processing time or floating point values. This time I have checked that only the lsb 3 bits are different.

Attachment MigrateVn0.9sizes.txt shows the sizes of the various ‘zips’ with download links to my one drive.

Migrate and Sidecar both index transport streams for the Humax. AV2HDR-T2 is windows only GUI version of Sidecar that uses tsMuxer as it’s re-multiplexing engine. Migrate has a GUI version for windows, 64 bit linux and 32 bit linux. A cli only version is available for windows, 64 bit linux, 32 bit linux and Humax. GUI versions can also be run from the cli. All versions use FFmpeg as it’s re-multiplexing and/or transcoding engine.

Vn0.9 contains subtitle processing. It uses FFmpeg Vn 4.4’s libraries. This version was chosen because it contains the fixes for subtitle problems caused by subtitles not always being present. My code contains functionality not in FFmpeg. DVD language metadata has been offered to FFmpeg on ticket #9158. Automatic correction of input language metadata to the correct variant of ISO 693 for DVB (FFmpeg just copies the code from input to output). Transcoding of non-graphical subtitles (FFmpeg just gives re-multiplexing of graphical subtitles).

I now intend to monitor FFmpeg for when it understands new formats etc. and create updates for these. Obviously bug reports will be dealt with.


  • MigrateVn0.9sizes.txt
    1.1 KB · Views: 2
  • GUI Manual.pdf
    98 KB · Views: 7