462 Commits

Author SHA1 Message Date
Daniel Kamil Kozar
de28c9e694
Use fetch-depth 0 for the nightly-check checkout
actions/checkout doesn't fetch tags by default, so we have no way of knowing if HEAD points at the latest 'nightly' tag.
2021-02-10 08:52:18 +01:00
Daniel Kamil Kozar
4098d03067
Nightlies on GitHub (#399)
Rework the nightly actions workflow in order to store nightlies in GitHub.

Fixes #397.
2021-02-08 18:12:01 +01:00
jcdr428
7c7662f253
Gitignore for Visual Studio (#400) 2021-02-07 21:50:40 +01:00
Daniel Kamil Kozar
16a9c2885d
Fix another non-array delete on an array
Arrays should generally be deleted with delete[]. Also, this operator's behaviour (as well as the normal delete's) is well defined on null pointers (it's a no-op), so the if is totally needless.
2021-02-04 00:49:50 +01:00
Daniel Kamil Kozar
0821aa6315
Fix an invalid delete error in vc1Parser.h (#396)
The m_nalBuffer member was incremented in the loop while copying, which naturally led to the pointer being invalid when the destructor is executed in order to delete the array. The code was replaced with an equivalent std::copy call.
Also, replaced the invalid delete with delete[].
Fixes #395.
2021-02-03 20:29:05 +01:00
Daniel Kamil Kozar
c515350d00 Bring back the timestamp to the nightly version 2021-01-23 19:28:31 +01:00
Daniel Kamil Kozar
e9cd9f33c4 Use GitHub Actions syntax to skip nightly builds 2021-01-23 18:07:59 +01:00
nu774
444613d2a2
tsMuxerGUI CMakeLists fixes (#394) 2021-01-23 15:55:23 +01:00
Daniel Kamil Kozar
cb1e0bfe67 vcs_tag is returned only for publishers 2021-01-22 16:46:58 +01:00
Daniel Kamil Kozar
5a9adef339 Use the version's 'vcs_tag' attribute to determine its commit SHA 2021-01-22 16:44:16 +01:00
Daniel Kamil Kozar
0edd5c2d28
Hopefully fix commit.txt not being updated on Bintray (#393)
Bintray builds have been created every night since the 5th of December. Not only
is this caused by a runaway "0" at the end of the line responsible for updating
the commit.txt file (oh, those long lines!), but Bintray has been returning the
200 OK code when attempting an update of the file despite also returning an
error and the file not actually being updated :

{"message":"Version 'latest' has been published for more than 365 days. Files can only be uploaded to a version within 365 days from its publish date."}

Hopefully, creating a version in the "commit" package with the same version as
the nightlies will solve this problem.
2021-01-22 16:11:41 +01:00
jcdr428
542c1c7085
Fix signed/unsigned mismatch in FFMAX (#392) 2021-01-22 15:13:39 +01:00
jcdr428
0076a071f1
Fix signed/unsigned mismatch warning messages (#385) 2021-01-14 18:59:58 +01:00
jcdr428
00caad02ea
Fix max value of log2_max_mv_length (#391)
H264 standard states "log2_max_mv_length_horizontal and log2_max_mv_length_vertical indicate the maximum absolute value of a decoded horizontal and vertical motion vector component, respectively, in ¼ luma sample units, for all pictures in the coded video sequence. [ ] The value of log2_max_mv_length_horizontal shall be in the range of 0 to 15, inclusive. The value of log2_max_mv_length_vertical shall be in the range of 0 to 15, inclusive".

However some hardware decoders seem to produce log2_max_mv_length with values of 16.
2021-01-10 23:13:19 +01:00
Richard
e6b1ed8ebe
CMake tweaks to make the project more linux packager friendly (#384)
* CMake tweaks to make the project more linux packager friendly

- Add install target for tsMuxerGUI
- Add install for contributed desktop file
- Install icon for desktop file
- Don't check for C when all sources are C++.
2020-12-27 20:53:53 +01:00
jcdr428
e40278e163
Fix HevcHdrUnit declaration (#387) 2020-12-27 20:43:22 +01:00
Daniel Kamil Kozar
4f21320a68
Fix warnings in file_unix.cpp (#383)
Long overdue fixes to the warnings in file_unix.cpp. Also, move the POSIX-exclusive fcntl.h include from file.h to file_unix.cpp and remove MSVC warning suppression related to exception specifications, which were also removed as they have been deprecated since C++11.
2020-12-21 00:22:24 +01:00
jcdr428
c1a1328560
Avoid bitstream exceptions in AVC deserializer (#382)
* When parsing a stream other than AVC with the AVC deserializer, allow early return and avoid false AVC detection.

* Solve signed/unsigned mismatch in comparisons
2020-12-20 23:02:56 +01:00
jcdr428
88628558da
Avoid false detection of HEVC part 2 (#381) 2020-12-19 00:15:54 +01:00
jcdr428
d114b772e5
Avoid false detection of HEVC (#380) 2020-12-16 20:16:36 +01:00
Daniel Kamil Kozar
943a73548e
Prefer the currently entered file name when opening the browse dialog (#378)
Previous versions used the "last output directory" when opening the "Browse"
dialog in the main window, using the current "File name" only if the "last
output directory " is not yet defined. This change reverses this, which means
that the folder of the path currently entered as the "File name" will be used
as the folder to display. The file name will be carried over to the dialog.

Fixes #372 .
2020-12-08 22:56:27 +01:00
i6henl
bfeee07d6d
Add Chinese translation (#376) 2020-12-05 19:59:33 +01:00
Daniel Kamil Kozar
c6fe17b4f0 Make bintray_nightly_check.sh executable 2020-12-05 02:36:54 +01:00
Daniel Kamil Kozar
0911fe7002 Mixed up cron syntax in the Mac nightly workflow 2020-12-05 02:33:57 +01:00
Daniel Kamil Kozar
5a96e94cfe
Use the native MacOS build as the nightly build uploaded to Bintray (#375) 2020-12-05 01:22:20 +01:00
Daniel Kamil Kozar
999c47238d
Update README.md 2020-11-16 18:07:44 +01:00
Daniel Kamil Kozar
5e7ca8ac25
Update COMPILING.md 2020-11-04 19:12:31 +01:00
Daniel Kamil Kozar
2d378f2603
Rework conditions based on object names of UI components (#362)
Pointers to widgets can be simply compared directly against the pointers in the
UI struct, which is admittedly less fragile than relying on object names for the
same purpose.
2020-10-06 20:21:18 +02:00
Daniel Kamil Kozar
9cb0246445
Update track order in metafile when moving up and down (#361) 2020-10-06 19:23:26 +02:00
Daniel Kamil Kozar
03ecfba796
Store the window size when closing the program (#359) 2020-10-05 03:49:44 +02:00
jcdr428
32db2aa826
Revert to DV version 1 (#355)
Commit #351 corrects the Mediainfo "8 compatible" to "Blu-ray compatible", however the Blu-ray players (eg Sony x700) do not detect anymore Dolby Vision after the change:
see https://forum.doom9.net/showthread.php?p=1924124#post1924124

So this patch reverts DV version to previous v1 -we have to live with the Mediainfo "8 compatible" until we can have more info on the v2 descriptor structure and players compatibility.
2020-09-24 22:47:13 +02:00
Daniel Kamil Kozar
35b4f58725
Make SEIUnit::m_processedMessages an unordered_set (#353)
m_processedMessages is never used in a context where the ordering of the elements matter, so it makes it a perfect candidate for converting to std::unordered_set.
2020-09-22 22:16:28 +02:00
jcdr428
0440dc0f0f
Keep non timing SEIs (#352)
With the H264 option 'Insert SEI and VUI data if absent' or 'Always rebuild SEI and VUI data':
In case timing SEIs are not found, all SEIs (timing and non timing) are currently removed nd replaced with timing SEIs.

This patch corrects this: only the timing SEIs are removed, the non-timing SEIs (such as private date e.g. x264 decoding parameters) are kept.
2020-09-22 22:04:08 +02:00
jcdr428
5ad13c99f2
Correct DV descriptor (#351)
See https://forum.doom9.net/showthread.php?p=1924053#post1924053 : from the ffmpeg and mediainfo codes, the Dolby spec version 1 seems to be incorrect: the compatibility id should be before the dependency_pid, and this has been corrected in version 2.
2020-09-22 07:55:43 +02:00
jcdr428
e7133f9551
Fix various compiler warnings (#348) 2020-09-19 22:36:11 +02:00
jcdr428
6fb457b961
[bug] delay in audio tracks (#347)
Audio delay bug introduced by #337 patch.

Fixes issue #346 .
2020-09-19 22:35:08 +02:00
jcdr428
2881c01eb4
Initialize VUI variables (#345)
I declared these variables in patch #344, better to initialize them.
2020-09-18 20:18:12 +02:00
jcdr428
b9763ea5d8
Changes to Dolby Vision profiles (#344)
As per Dolby whitebook, VUI parameters in the stream are compulsory for profiles 5, 8.1 and 8.4 but are optional for the other profiles.
Detection of profiles is re-written to account for the cases where there VUI parameters are unspecified.
2020-09-18 16:58:25 +02:00
jcdr428
0a74c08529
[bug] Detection of coded fields (#343)
In case coded field is detected (i.e. the picture is composed of a top field and a bottom field), the incrementation of the poc (coded picture order count) must be done every two frames.
However the detection of the coded filed in tsMuxer is wrong: 
frame_mbs_only_flag = 1 means that the picture is coded frame.
frame_mbs_only_flag = 0 means that the picture can be either coded frame (m_field_pic_flag = 0) or coded field (m_field_pic_flag = 1).

This patch corrects the bug, and solves issue #306 .
2020-09-18 12:28:25 +02:00
Daniel Kamil Kozar
1d35df5b08
Try to fix default audio/subtitle track combo boxes' track descriptions (#342)
updateTracksComboBox() was called after the indices are updated, but before the
row being removed is actually removed from the trackLV structure. This caused
the new generated track descriptions to refer to invalid tracks.
2020-09-18 01:23:23 +02:00
Daniel Kamil Kozar
304cb687f1
Allow selecting multiple files also when clicking "join" (#341) 2020-09-18 00:19:53 +02:00
Daniel Kamil Kozar
92eac0434a
Make it possible to add multiple files when clicking "add" (#339) 2020-09-17 01:41:31 +02:00
Daniel Kamil Kozar
2a4489d060
Fix crashes when removing audio/subtitle tracks from the main window (#340)
Indices in both combo boxes must be updated, since an audio track index might
have changed when a subtitle track is removed and vice versa : there is only one
array which holds information about tracks that these combo boxes reference via
the data contained in their items' UserRoles.
2020-09-17 01:36:56 +02:00
jcdr428
c73fb1ef86
Precheck frame depth with multi-slice frames (#338)
The pre-check shall be done on the first slice of pictures only.
Plus the picture counter m_totalFrameNum is set back to zero after pre-check.
2020-09-15 22:59:11 +02:00
jcdr428
78cfc4c149
Precheck Frame Depth (#337)
tsMuxer currently sets back the DTS (Decoding Time Stamp) during the muxing if the frame depth (i.e. difference between encoded picture number and decoded picture number) is found >1.
This is wrong: the frame depth should be checked -and the DTS set back- before the muxing commences.

This commits solves this.
2020-09-12 22:43:57 +02:00
Daniel Kamil Kozar
bb3263f9fc
Revert "Detect tracks from longest playlist (#333)" (#334)
This reverts commit 1c7c911359ff418ecaadc09c49f9ae9e7e32889d.
2020-09-07 23:34:00 +02:00
jcdr428
1c7c911359
Detect tracks from longest playlist (#333)
tsMuxer currently detects the tracks from the first playlist (i.e. m2ts/clpi) of the mpls.
There can be cases where the subsequent playlists of the mpls contain additional audio/subtitle tracks.
This patch allows tsMuxer to detect the tracks from the playlist having the largest number of tracks.

Fixes #317.
2020-09-05 11:50:41 +02:00
Daniel Kamil Kozar
c139668355 Actually change loader entries in the copied libraries 2020-09-02 20:15:41 +02:00
Daniel Kamil Kozar
ba409fa8d2 Process dependent libraries recursively when preparing MacOS nightly package 2020-09-02 01:41:40 +02:00
jcdr428
99e193c3bf
Increase size of detect buffer (#330)
See issue #329 : when a track starts after the first 16 MB in the m2ts, it is not detected.
It is therefore proposed to increase the detect buffer (i.e. size of scanned chunk) to 64 MB.
2020-09-02 00:21:03 +02:00