185 Commits

Author SHA1 Message Date
Daniel Kamil Kozar
0c24c4f994
Merge pull request #112 from jcdr428/Correct_CPI_Table_for_UHD
Correct cpi table for uhd
2020-01-06 23:01:21 +01:00
Daniel Kamil Kozar
3ad0a4f67f
Merge pull request #111 from jcdr428/Dolby_Vision_integration
Dolby Vision Integration
2020-01-06 23:01:05 +01:00
Dan
cadf8391af
Merge pull request #113 from jcdr428/FPS_Info_frm_VPS_and_SPS
Allow FPS to be read from SPS if not in VPS
2020-01-06 20:10:10 +00:00
Jean Christophe DE RYCK
2ef8fd6187 FPS info read from VPS and SPS
fps info can be either in VPS or SPS nal, or both, or none.
tsMuxer reads fps from VPS nal only.
This patch allows tsMuxer to find fps in SPS when not present in VPS.
Plus bug sorted out in flags reading (8 bits in lieu of 1 bit)
2020-01-06 19:52:57 +02:00
Jean Christophe DE RYCK
410a170a5b Correction to I_end patch 2020-01-06 19:24:56 +02:00
Jean Christophe DE RYCK
8f6467ba49 Correct CPI table for UHD
I_end values in ClipInf CPI Table are determined by thresholds on I-frame sizes.
These threshold sizes are different for TS_Recording_Rate <= 60000000 (HD), and for TS_Recording_Rate > 60000000 (4K).

This patch solves issue #107

The commit must be merged after commit #111 for V3_flags / Dolby Vision Integration.
2020-01-06 19:20:11 +02:00
Jean Christophe DE RYCK
bdeca7ee29 Dolby Vision Integration
- Separate the V3 flags (for index.bdmv) from the HDR metadata (for .mpls)
- With V3_flags the UHD_BLURAY DiskType is not needed anymore
- Add subpath for Dolby Vision
- Change BD Type to 66/100 GB and TS-Recording_Rate to 109 mbps when 4K is detected
2020-01-06 18:56:32 +02:00
Dan
c3c7f6c7c4
Merge pull request #94 from jcdr428/patch-1
Fixes HEVC0112 and HEVC0115
2020-01-05 22:09:32 +00:00
Dan
de44fe227b
Merge pull request #101 from jcdr428/Correct_Arrival_Time_Stamps
Fix M2TS0077
2020-01-04 20:54:24 +00:00
Dan
86d1cd9875
Merge pull request #106 from jcdr428/patch-2
Correct lack of chapters with UHD Bluray folder
2020-01-04 20:53:09 +00:00
jcdr428
ab2d95db1b
Correct UHD Bluray Folder Behavior
This fixes e.g. lack of chapters with UHD Bluray Folder option.

(see https://forum.doom9.org/showthread.php?p=1894587#post1894587)
2020-01-04 08:59:38 +01:00
Daniel Kamil Kozar
fa8751d530
Place the main tsMuxeR binary inside AppDir (#105)
Since AppImage essentially creates a separate filesystem that the GUI binary
runs from, it's not possible for it to be aware of the existence of the main
binary that's alongside the actual AppImage file that's supposed to be run by
the end user.
The only solution to this that I can see now is copying the main binary into the
AppDir, which makes the file reside alongside the GUI binary inside the
filesystem that AppImage creates.

Fixes #103.
2020-01-03 00:58:42 +01:00
jcdr428
fa9962276f Update textSubtitlesRender (#102)
* Update textSubtitleRender

Solve build warnings related to potential overflows in int to size_t conversions.
2020-01-02 00:04:15 +01:00
Jean Christophe DE RYCK
a64a048bbf Correct Arrival Time Stamps
The BD Player cannot read faster than the TS_Recording_Rate.
The TS_Recording_Rate is hereby fixed to 6 MB/s for 2K (25/50 GB disk), and 13.625 MB/s for 4K (66/100 GB Disk).

Therefore the difference of ATS between two consecutive packets cannot be less than 846 PCR units for 2K, and 373 PCR units for 4K.
Those two values have been checked to be the standard for ATS difference between two video packets in several commercial HD and UHD Blu-rays.
2019-12-31 16:27:24 +01:00
Dan
cc358941fe
Merge pull request #92 from jcdr428/Corrrect_TS_Descriptors
Correct TS Descriptors, fixes verification errors PSI0033, PSI0036 and PSI0042.
2019-12-31 11:52:47 +00:00
Dan
644d47674d
Merge pull request #100 from jcdr428/patch-2
Set video stream number to 1, resolves verification error HEVC0116
2019-12-31 11:51:46 +00:00
jcdr428
15616768a9
Set video stream number to 1
As per T-REC.H-222.0 (ISO/IEC 13818-1) Table 2-22, video stream_id is 1110 xxxx for video stream number xxxx.
As checked on multiple commercial Blu-rays, video stream_id should be 1, not 0.

This fix solves error reported by `BD-ROM Part3 Verifier`:
`----------------------------------------------
Error ID      : HEVC0116
Target File   : 00000.m2ts <HEVC PID=0x1011>
Target Field  : <PES packet of the HDMV HEVC video stream>.stream_id
Section No    : 9.19.7
Error Message : stream_id is set to 0xe0.
                
                File offset of PES packet = 776.
Explanation   : stream_id: This field shall be set to 1110 0001b.
- - - - - - - - - - - - - - - - - - - - - - - 
[HEVC0116] : 346 times.
----------------------------------------------`
2019-12-30 18:16:28 +01:00
jcdr428
cd2864a168
Fix suffix NAL - 3/3
Currently tsMuxer does not detect suffix nals (non VCL nals placed after the VCL nals in the nal unit).
Therefore these nals are placed first in the TS PES, before the AUD or next frame nal.

This patch fixes the above.
2019-12-29 22:14:50 +01:00
Daniel Kamil Kozar
717f5f821e
Disable replacing spaces with underscores in the temporary meta file path (#97)
Unfortunately, we don't have enough history to be able to tell for sure, but it
seems like this was introduced somewhere between 2.6.12 and 2.6.13. The only
reason for this replacement that I can see is trying to prevent the shell from
treating the space-separated parts of the file paths as separate tokens.
Unfortunately, the string returned by QDir::tempPath() can legitimately contain
spaces, as there is nothing preventing the user from having a "fancy" temporary
directory path.

The real reason behind this line remains unknown. tsMuxer GUI currently doesn't
use shell for spawning processes, and arguments to the binary are properly
passed as a QStringList instead of one long string with command and arguments,
where the described issue could actually occur.

Fixes #93.
2019-12-29 22:13:31 +01:00
jcdr428
965ee77a58
Fix suffix NAL - 2/3
Currently tsMuxer does not detect suffix nals (non VCL nals placed after the VCL nals in the nal unit).
Therefore these nals are placed first in the TS PES, before the AUD or next frame nal.

This patch fixes the above.
2019-12-29 22:10:36 +01:00
jcdr428
20ac0dde1f
Fix suffix NAL - 1/3
Currently tsMuxer does not detect suffix nals (non VCL nals placed after the VCL nals in the nal unit).
Therefore these nals are placed first in the TS PES, before the AUD or next frame nal.

This patch fixes the above.
2019-12-29 22:08:37 +01:00
jcdr428
d74417e6e4 Automatic V3 for HEVC (#90)
tsMuxer will now automatically switch to Blu-ray V3 when HEVC is detected.
2019-12-29 21:46:20 +01:00
jcdr428
1ccfe1fdf5
Solve HEVC Buffer Overflow Bug
Currently, buffer overflow is not avoided in all cases, i.e. nextNal can have end buffer value instead of start of next nal value.
This results in the AUD NAL not being always at the begining of a PES packet.
This patch solves this by ensuring that when nextNal == bufEnd, data is always added to buffer.
2019-12-29 16:34:23 +01:00
jcdr428
b03ecf15d7 Enought to Enough (#91)
Explicit enought ;)
2019-12-27 23:22:38 +01:00
Jean Christophe DE RYCK
fdcedca920 Correct TS Descriptors
Correct TS Descriptors to be the same as the descriptors on Blu-ray disks.
2019-12-27 21:54:17 +01:00
jcdr428
cadb85a77c Support for UHD HDR10 and HDR10+ (#70) 2019-12-26 23:17:41 +01:00
Daniel Kamil Kozar
46b15ebdb4
Merge pull request #88 from xavery/fix-87
Fix numbers appearing in places where the language code should
2019-12-22 01:25:56 +01:00
Daniel Kamil Kozar
c22aada8df
Fix numbers appearing in places where the language code should
The original code paired the position inside the langComboBox with an address
into the shortLangList/fullLangList arrays by leveraging the second QVariant
argument of QComboBox::addItem. This was achieved by casting the pointer firstly
to a void*, and then to a qulonglong. However, the code using these QVariants
in QComboBox signal handler functions has since been changed to always call
toString(), which was incorrect and led to addresses being shown in the UI in
the form of longish decimal numbers.

Funnily enough, it looks like these shenanigans weren't even really needed : the
only part of the language pair used in the signal handler functions is the
three-letter code, which can be simply converted to a QString at the time
QComboBox::addItem is called.

Fixes #87.
2019-12-21 20:51:53 +01:00
Dan
cee050aee6
Merge pull request #86 from justdan96/enhancement-nightly-build
fix typo causing nightly builds despite no changes
2019-12-18 21:00:25 +00:00
Dan Bryant
42644eb895 fix typo that was causing builds to be generated every night despite no changes 2019-12-18 20:57:50 +00:00
Dan
439540d886
Merge pull request #82 from justdan96/enhancement-nightly-build
update README to explain nightly builds being uploaded to Bintray
2019-12-15 21:40:35 +00:00
Dan Bryant
3518cd2b37 update README to explain nightly builds being uploaded to Bintray 2019-12-15 21:36:19 +00:00
Dan
8b58d7d332
Merge pull request #81 from justdan96/enhancement-nightly-build
add AppImage packaging for tsMuxerGUI on Linux
2019-12-15 20:30:20 +00:00
Dan Bryant
ac8f6cfcb7 add AppImage packaging for tsMuxerGUI on Linux 2019-12-15 20:28:14 +00:00
Dan
03112c5d81
Merge pull request #73 from xavery/fix-69
Use standard-width types in convertUTF.h
2019-12-15 14:57:25 +00:00
Dan
18f74628e4
Merge pull request #79 from xavery/fix-78
Use QStandardPaths::findExecutable instead of QFile::exists for finding the main binary
2019-12-15 14:56:05 +00:00
Dan
7ccccba710
Merge pull request #80 from justdan96/enhancement-nightly-build
change the bintray uploads to run on a nightly schedule
2019-12-15 14:52:42 +00:00
Dan Bryant
9f97099403 change the bintray uploads to run on a nightly schedule 2019-12-15 14:50:46 +00:00
Daniel Kamil Kozar
565c1a31ca
Use QStandardPaths::findExecutable instead of QFile::exists for finding the main binary
Fixes #78
2019-12-15 01:16:24 +01:00
Dan
2a9066e5f3
Merge pull request #77 from justdan96/enhancement-nightly-build
issue fix, we must use Bash for the upload script
2019-12-14 14:36:04 +00:00
Dan Bryant
3ad21c7643 issue fix, we must use Bash for the upload script 2019-12-14 14:35:01 +00:00
Dan
c6192bbf28
Merge pull request #76 from justdan96/enhancement-nightly-build
Enhancement nightly build
2019-12-14 14:06:00 +00:00
Dan Bryant
9e0215ad87 fix another typo in the Mac Docker script 2019-12-14 14:04:47 +00:00
Dan Bryant
65883d86bf fix issue with the Mac zip file in the nightly upload script 2019-12-14 13:59:52 +00:00
Dan
f7c8988b1f
Merge pull request #75 from justdan96/enhancement-nightly-build
Enhancement nightly build
2019-12-14 13:31:01 +00:00
Dan Bryant
c48cce889b improve output on upload script 2019-12-14 12:23:39 +00:00
Dan Bryant
8c2fa59aa9 add GitHub flow file and fix typo in upload script 2019-12-14 12:20:06 +00:00
Dan Bryant
5a9d4e9999 update docker build scripts and add new script to upload nightly versions to bintray 2019-12-14 12:16:18 +00:00
Daniel Kamil Kozar
b236ee26a9
Use standard-width types in convertUTF.h
convertUTF.h typedefed the UTF32 type as unsigned long, which is really 64-bit
wide on LP64 platforms. Since there is a number of casts, mostly around
utf8Converter.cpp, which assume that UTF32 is 32 bits and no more, this caused
some of the pointers to point outside of their respective arrays due to pointer
arithmetic adding an offset of 8 instead of 4.

This naturally never occured on Windows, because it uses 32 bits for longs, and
the problematic code was never actually really hit because sizeof(wchar_t) on
Windows is 2, which means that the code which needed to cast to UTF32 was never
executed.

Fixes #69.
2019-12-11 20:44:20 +01:00
Dan
007daed92a
Merge pull request #72 from justdan96/enhancement-add-gui-docker-scripts
add 32-bit Windows build script
2019-12-11 12:50:34 +00:00