gstreamer/gst
Mathieu Duponchelle 9bd8d608d5 matroska-mux: support H264 avc3 / H265 hev1
The matroska codec specs is unfortunately vague on the subject,
stating for H264:

AVC/H.264 stored as described in [@!ISO.14496-15]

and for H265:

HEVC/H.265 stored as described in [@!ISO.14496-15]

This spec however specifies multiple stream formats, our
implementation has opted for interpreting this as avc1 / hvc1,
both of which disallow in-band SPS.

Most decoders however will support in-band SPS / PPS, and
this commit gives the option to explicitly mux in avc3 / hev1,
which allows changing stream parameters on the fly, that is
useful for smart encoding for example.

When either of these stream formats are picked as the input,
changes in codec_data / tier / level / profile do not cause
renegotiation failure, a warning is logged however as it isn't
clear how compliant such a stream is.

The stream-format field is correctly ordered in the template
caps to avoid selecting potentially non-compliant options on
automatic negotiation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
2021-08-20 00:16:43 +00:00
..
alpha alpha: allow per feature registration 2021-03-29 12:45:22 +02:00
apetag apetag: allow per feature registration 2021-03-29 12:45:22 +02:00
audiofx audiofx: allow per feature registration 2021-03-29 12:45:22 +02:00
audioparsers audioparsers: allow per feature registration 2021-03-29 12:45:22 +02:00
auparse auparse: allow per feature registration 2021-03-29 12:45:23 +02:00
autodetect autodetect: allow per feature registration 2021-03-29 12:45:22 +02:00
avi avi: allow per feature registration 2021-03-29 12:45:22 +02:00
cutter cutter: allow per feature registration 2021-03-29 12:45:23 +02:00
debugutils debugutils: allow per feature registration 2021-03-29 12:45:22 +02:00
deinterlace deinterlace: reduce noise when gst_pad_set_caps fails 2021-07-13 06:52:26 +00:00
dtmf dtmf: convert to bit accessors 2021-04-14 11:13:45 -04:00
effectv effectv: allow per feature registration 2021-03-29 12:45:22 +02:00
equalizer equalizer: allow per feature registration 2021-03-29 12:45:22 +02:00
flv flv: use g_memdup2() as g_memdup() is deprecated 2021-08-16 08:00:53 +00:00
flx flx: allow per feature registration 2021-03-29 12:45:22 +02:00
goom goom: allow per feature registration 2021-03-29 12:45:23 +02:00
goom2k1 goom2k1: allow per feature registration 2021-03-29 12:45:23 +02:00
icydemux icydemux: allow per feature registration 2021-03-29 12:45:23 +02:00
id3demux id3demux: allow per feature registration 2021-03-29 12:45:23 +02:00
imagefreeze imagefreeze: allow per feature registration 2021-03-29 12:45:23 +02:00
interleave interleave: allow per feature registration 2021-03-29 12:45:22 +02:00
isomp4 isomp4/qtmux: allow renegotiating when tier / level / profile change 2021-08-20 00:16:43 +00:00
law law: allow per feature registration 2021-03-29 12:45:22 +02:00
level level: make properties thread-safe 2021-04-23 15:14:44 +02:00
matroska matroska-mux: support H264 avc3 / H265 hev1 2021-08-20 00:16:43 +00:00
monoscope monoscope: allow per feature registration 2021-03-29 12:45:23 +02:00
multifile splitmuxsink: Fix some reference leaks in error cases. 2021-07-26 17:56:42 +10:00
multipart multipart: allow per feature registration 2021-03-29 12:45:22 +02:00
replaygain replaygain: allow per feature registration 2021-03-29 12:45:22 +02:00
rtp rtp: Color Space header extension 2021-08-17 15:28:19 +00:00
rtpmanager rtpjitterbuffer: fixed stall on gap when using rtx 2021-08-16 09:51:05 +00:00
rtsp rtspsrc: Add support to ignore x-server HEADER reply 2021-08-17 10:15:27 +00:00
shapewipe shapewipe: allow per feature registration 2021-03-29 12:45:23 +02:00
smpte smpte: allow per feature registration 2021-03-29 12:45:23 +02:00
spectrum spectrum: allow per feature registration 2021-03-29 12:45:23 +02:00
udp multiudpsink: Fix broken SO_SNDBUF get/set on Windows 2021-06-28 15:32:51 +00:00
videobox videobox: allow per feature registration 2021-03-29 12:45:23 +02:00
videocrop videocrop: Fix icles tests. 2021-08-17 17:19:16 +00:00
videofilter videofilter: allow per feature registration 2021-03-29 12:45:23 +02:00
videomixer videomixer: document as deprecated 2021-02-18 01:48:24 +01:00
wavenc wavenc: allow per feature registration 2021-03-29 12:45:23 +02:00
wavparse wavparse: use g_strndup() for copying text data 2021-05-23 15:20:16 +01:00
y4m y4m: allow per feature registration 2021-03-29 12:45:23 +02:00
meson.build meson: Add feature options for all plugins 2018-07-27 18:42:54 +05:30