Commit Graph

14056 Commits

Author SHA1 Message Date
Moritz Bunkus
438df0f4f5
configure: fix --enable-ubsan which didn't actually enable anything 2021-04-08 00:06:17 +02:00
Moritz Bunkus
686cc15da4
tests: add options for excluding certain tests 2021-04-08 00:06:03 +02:00
Moritz Bunkus
11049305f5
HEVC parser: clone memory when retaining parameter sets
When reading HEVC data from certain container types such as Matroska
the memory the parser parses does not belong to the parser. Therefore
all memory the parser needs to retain beyond the end of the current
call to `parse()` must be cloned.

This affects the parameter sets (SPS, PPS & VPS) which are retained
for prefixing key frames with them.

Fixes #3083.
2021-04-08 00:06:01 +02:00
Moritz Bunkus
3105877ef5
MPEG TS reader: add more debug output 2021-04-07 23:23:13 +02:00
Moritz Bunkus
03a7a3d1cf
AAC: fix wrong standard name 2021-04-06 22:18:38 +02:00
Moritz Bunkus
2f09dfa6ba
AAC: add channel counts for configs 9–20 from ISO/IEC 23001-8:2016 2021-04-06 22:16:46 +02:00
Moritz Bunkus
09667496a7
MSIX: include application aliases for all executables
Allows the user to tun the command-line apps :)
2021-04-06 20:42:51 +02:00
Moritz Bunkus
4db369b621
MSIX create all: allow overriding the directories 2021-04-06 20:42:51 +02:00
Moritz Bunkus
43fdadb3a5
AAC: add support for channel configuration according to Rec. ITU-R BS.1196-7
These include channel configuration codes ≥ 8 for 6.1, 7.1 & 22.2
channels.

Fixes #3081.
2021-04-05 21:04:06 +02:00
Moritz Bunkus
1540496f5d
AAC extraction: prevent extraction of channel counts incompatible with ADTS
ADTS files only use three bits to store the channel configuration
code. These codes map to a number of channels of 0–6 and 8.

You can store more channels in ADTS files if the bitstream starts with
a 'program config element'. In that case the ADTS headers should
signal 0 channels, if I'm not mistaken.

However, it is possible to have AAC files with more than 8 channels
but without a 'program config element': when they come from a
LOAS/LATM AAC file. Those files start several nested structures, and
one of those contains a 4-bit channel configuration code. And some of
those codes are mapped by Rec. ITU-R BS.1196-7 to e.g 22.2 channels.

See #3081.
2021-04-05 20:40:35 +02:00
Moritz Bunkus
02e0d17bcf
AAC: use std::array instead of C-style arrays 2021-04-05 19:46:49 +02:00
Moritz Bunkus
c3db780e11
bump version number, add release code name 2021-04-05 12:08:23 +02:00
Moritz Bunkus
c6284c3814
NEWS: reorder for easier consumption 2021-04-05 12:03:04 +02:00
Moritz Bunkus
d206107d1d
AAC reader: fix compilation on 32-bit systems 2021-04-04 21:56:34 +02:00
Moritz Bunkus
ab90ad546f
file extensions: remove WebM extensions from the "Matroska" entry 2021-04-04 21:34:32 +02:00
Moritz Bunkus
f286c79e21
file extensions: add new ones for Flash, WebM, WebVTT 2021-04-04 21:34:13 +02:00
Moritz Bunkus
e1c9793224
AUTHORS: add 無情天 X 2021-04-04 12:38:10 +02:00
無情天 X
a6c1505d25
man page translations: update Chinese Simplified 2021-04-04 12:37:35 +02:00
Israel Lucas Torrijos
ac2b15c4f4
man page translations: update Spanish 2021-04-04 12:36:23 +02:00
Burak Yavuz
4b2de25f60
translations: update Turkish 2021-04-04 12:36:12 +02:00
Timofey Lisunov
244f06e2f1
translations: update Russian 2021-04-04 12:36:06 +02:00
Roberto Boriotti
ac1131f2c3
translations: update Italian 2021-04-04 12:35:58 +02:00
TMTisFree
48115fafab
translations: update French 2021-04-04 12:35:42 +02:00
Israel Lucas Torrijos
18b9974cca
translations: update Spanish 2021-04-04 12:35:07 +02:00
Antoni Bella Pérez
0a5b62a0c5
translations: update Catalan 2021-04-04 12:34:59 +02:00
Симеон Цветков
9efdd9dce5
translations: update Bulgarian 2021-04-04 12:34:53 +02:00
Moritz Bunkus
17e0c11909
AAC reader: use 64-bit integer types in file size related calculations
Otherwise files bigger than 2 GB result in negative numbers…

Fixes #3059.
2021-04-04 11:38:05 +02:00
Moritz Bunkus
3dec8ccbc1
translations: update list of translatable strings; update German translation 2021-03-24 20:26:43 +01:00
Timofey Lisunov
ebd740d7af
translations: update Russian 2021-03-24 20:19:30 +01:00
Fúlvio Alves
9b9fa860cb
translations: update Brazilian Portuguese 2021-03-24 20:19:22 +01:00
Antoni Bella Pérez
c88fbc8fb8
man page translations: update Catalan 2021-03-24 20:19:13 +01:00
Antoni Bella Pérez
53a537845e
translations: update Catalan 2021-03-24 20:19:06 +01:00
Симеон Цветков
a1a6ea9873
man page translations: update Bulgarian 2021-03-24 20:18:01 +01:00
Симеон Цветков
5f55d936d3
translations: update Bulgarian 2021-03-24 20:17:14 +01:00
Moritz Bunkus
02b8ccc50b
Merge remote-tracking branch 'cross64/f-msix' 2021-03-24 20:16:42 +01:00
Moritz Bunkus
7dba786c3e
mkvmerge: HEVC: remove codec private mismatch warnings when appending 2021-03-23 19:51:44 +01:00
Moritz Bunkus
965288eb74
HEVC parser: make frame ordering more correct 2021-03-23 19:49:54 +01:00
Moritz Bunkus
286906e634
HEVC parser: rename slice_info_c.type to ….slice_type
…in order to avoid confusion with nalu_type
2021-03-23 19:49:54 +01:00
Moritz Bunkus
28c9887d4c
mkvmerge: HEVC: use same parser when appending 2021-03-23 19:49:45 +01:00
Moritz Bunkus
b7c35e5a0d
a script for extracting NALUs from h.265 bitstreams via hevc_dump 2021-03-23 19:48:53 +01:00
Moritz Bunkus
e16b146b70
hevc_dump: calculate & output frame checksums 2021-03-23 19:48:53 +01:00
Moritz Bunkus
3669c5bc58
checksums: add functions for returning results as a hex string 2021-03-23 19:48:53 +01:00
Moritz Bunkus
07eaeb0cda
cosmetics: alignment 2021-03-23 19:48:53 +01:00
Moritz Bunkus
e2a8be0831
mkvmerge, extract: HEVC: add hack for not normalizing parameter sets 2021-03-23 19:48:53 +01:00
Moritz Bunkus
e75e9c503e
mkvmerge: HEVC: normalize parameter set NALUs
Normalization means that each key frame is prefixed with exactly one
set of the currently active picture, sequence & video parameter sets.

Fixes #3034 and prevents the same class of issues where the parameter
sets required to decode do not match the ones in CodecPrivate but
aren't present in front of the key frames. This often happens when
appending files.
2021-03-23 19:48:53 +01:00
Moritz Bunkus
f617da2f14
hevc_dump: add support for NALUs-with-size-fields streams 2021-03-23 19:48:53 +01:00
Moritz Bunkus
e1c417cc4c
extract: HEVC: normalize parameter set NALUs
Normalization means that each key frame is prefixed with exactly one
set of the currently active picture, sequence & video parameter sets.
2021-03-23 19:48:53 +01:00
Moritz Bunkus
90e9d2feab
HEVC ES parser: optionally normalize VPS/SPS/PPS placement 2021-03-23 19:48:53 +01:00
Moritz Bunkus
e6c853ddf0
HEVC ES parser: remove duplicate code 2021-03-20 14:55:09 +01:00
Moritz Bunkus
709c61dbba
add MSIX packaging 2021-03-20 13:56:55 +01:00