11
0
2020-11-09 12:56:37 +00:00
committed by Git OBS Bridge
6 changed files with 169 additions and 6 deletions

View File

@@ -0,0 +1,111 @@
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/221
diff --git a/gst-libs/gst/video/video-anc.c b/gst-libs/gst/video/video-anc.c
index 102240ba003586ce9d29e5c2951f20751068c36a..3d6054477a61564bbc0a7b6f51374de200c71b6d 100644
--- a/gst-libs/gst/video/video-anc.c
+++ b/gst-libs/gst/video/video-anc.c
@@ -1028,6 +1028,8 @@ gst_buffer_add_video_caption_meta (GstBuffer * buffer,
switch (caption_type) {
case GST_VIDEO_CAPTION_TYPE_CEA608_RAW:
case GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A:
+ case GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20:
+ case GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608:
case GST_VIDEO_CAPTION_TYPE_CEA708_RAW:
case GST_VIDEO_CAPTION_TYPE_CEA708_CDP:
break;
@@ -1077,6 +1079,10 @@ gst_video_caption_type_from_caps (const GstCaps * caps)
return GST_VIDEO_CAPTION_TYPE_CEA608_RAW;
} else if (g_strcmp0 (format, "s334-1a") == 0) {
return GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A;
+ } else if (g_strcmp0 (format, "scte-20") == 0) {
+ return GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20;
+ } else if (g_strcmp0 (format, "additional-cea-608") == 0) {
+ return GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608;
}
} else if (gst_structure_has_name (s, "closedcaption/x-cea-708")) {
if (g_strcmp0 (format, "cc_data") == 0) {
@@ -1114,6 +1120,14 @@ gst_video_caption_type_to_caps (GstVideoCaptionType type)
caption_caps = gst_caps_new_simple ("closedcaption/x-cea-608",
"format", G_TYPE_STRING, "s334-1a", NULL);
break;
+ case GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20:
+ caption_caps = gst_caps_new_simple ("closedcaption/x-cea-608",
+ "format", G_TYPE_STRING, "scte-20", NULL);
+ break;
+ case GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608:
+ caption_caps = gst_caps_new_simple ("closedcaption/x-cea-608",
+ "format", G_TYPE_STRING, "additional-cea-608", NULL);
+ break;
case GST_VIDEO_CAPTION_TYPE_CEA708_RAW:
caption_caps = gst_caps_new_simple ("closedcaption/x-cea-708",
"format", G_TYPE_STRING, "cc_data", NULL);
diff --git a/gst-libs/gst/video/video-anc.h b/gst-libs/gst/video/video-anc.h
index bb5883c5207e88314467ead1209f76f64c8c4dc0..f3a1d69b9a6300acda45fa2c30371043e7f1d0cd 100644
--- a/gst-libs/gst/video/video-anc.h
+++ b/gst-libs/gst/video/video-anc.h
@@ -357,7 +357,53 @@ GstVideoBarMeta *gst_buffer_add_video_bar_meta (GstBuffer * buffer, guint8 field
* offset relative to the base-line of the original image format (line 9
* for 525-line field 1, line 272 for 525-line field 2, line 5 for
* 625-line field 1 and line 318 for 625-line field 2).
- * @GST_VIDEO_CAPTION_TYPE_CEA708_RAW: CEA-708 as cc_data byte triplets. They
+ * @GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20: CEA 608 closed caption data as defined in
+ * ANSI/SCTE 20
+ * https://www.scte.org/documents/pdf/standards/SCTE%2020%202012.pdf
+ * Section 5.5
+ * This format is used for the carriage of CEA 608 closed caption data
+ * originating in Vertical Blanking Interval (VBI) service, and transported
+ * in MPEG-2 compliant bitstreams.
+ * The first byte must equal 1000 0001 to indicate valid data.
+ * The next five bits specify the number of CEA 608 closed caption triplets,
+ * followed by the sequence of triplets, laid out as follows for each triplet:
+ * cc priority : 2 bits
+ * field number: 2 bits
+ * line offset: 5 bits
+ * cc data 1: 8 bits
+ * cc data 2: 8 bits
+ * Notes:
+ * cc_priority is a number between 0 and 3 indicating the priority of constructs
+ * in picture reconstruction where different levels of hardware capability exist
+ * field number specifies the number of the field, in display order, from which
+ * the VBI data originated, specified as follows:
+ * 00 Forbidden
+ * 01 1st display field
+ * 10 2nd display field
+ * 11 3rd display field (the repeated field in film mode).
+ * line offset is a five-bit integer giving the offset in lines from which
+ * the VBI data originated, relative to the base VBI frame line
+ * (line 10 of NTSC field 1, line 273 of NTSC field 2, line 6 of PAL field 1,
+ * and line 319 of PAL field 2).
+ * @GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608: CEA-608 byte triplets as defined
+ * in ANSI/SCTE 21
+ * 6.4 Additional CEA-608 Data
+ * https://www.scte.org/documents/pdf/Standards/ANSI_SCTE%2021%202012.pdf.
+ * This format, also known as telecine, is used for the carriage of CEA 608
+ * closed caption data originating in Vertical Blanking Interval (VBI) service,
+ * and transported over cable digital transport streams.
+ * The second and third byte of the byte triplet
+ * is the raw CEA608 data, the first byte is a bitfield: The top/7th bit must
+ * equal 1 to indicate a valid triplet. Bits 6-2 represent the
+ * line offset relative to the base-line of the original image format (line 9
+ * for 525-line field 1, line 272 for 525-line field 2, line 5 for
+ * 625-line field 1 and line 318 for 625-line field 2).
+ * Bits 1-0 represent the field number, as follows:
+ * 00 Forbidden
+ * 01 1st display field
+ * 10 2nd display field
+ * 11 3rd display field (the repeated field in film mode).
+ * @GST_VIDEO_CAPTION_TYPE_CEA708_RAW: CEA-708 as cc_data byte triplets. They
* can also contain 608-in-708 and the first byte of each triplet has to
* be inspected for detecting the type.
* @GST_VIDEO_CAPTION_TYPE_CEA708_CDP: CEA-708 (and optionally CEA-608) in
@@ -373,7 +419,9 @@ typedef enum {
GST_VIDEO_CAPTION_TYPE_CEA608_RAW = 1,
GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A = 2,
GST_VIDEO_CAPTION_TYPE_CEA708_RAW = 3,
- GST_VIDEO_CAPTION_TYPE_CEA708_CDP = 4
+ GST_VIDEO_CAPTION_TYPE_CEA708_CDP = 4,
+ GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20 = 5,
+ GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608 = 6
} GstVideoCaptionType;
GST_VIDEO_API

View File

@@ -4,7 +4,7 @@
<param name="filename">gst-plugins-base</param>
<!--<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>-->
<param name="versionformat">@PARENT_TAG@</param>
<param name="revision">1.18.0</param>
<param name="revision">1.18.1</param>
<param name="scm">git</param>
</service>
<service name="recompress" mode="disabled">

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:762abdd1a950809a1cea62fff7f86b5f7d6bd5f6841e3e585c700b823cdb7897
size 3151060

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ba654d7de30f7284b4c7071b32f881b609733ce02ab6d9d9ea29386a036c641
size 3157952

View File

@@ -1,3 +1,54 @@
-------------------------------------------------------------------
Tue Oct 27 15:55:35 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
- Update to 1.18.1:
+ Highlighted bugfixes in 1.18.1
- important security fixes
- bug fixes and memory leak fixes
- various stability and reliability improvements
+ gst-plugins-base changes:
- theoradec: Set telemetry options only if they are nonzero
- glslstage: delete shader on finalize of stage
- urisourcebin: Fix crash caused by use after free
- decodebin3: Store stream-start event on output pad before
exposing it
- Add some missing nullable annotations
- typefind/xdgmime: Validate mimetypes to be valid
GstStructure names before using them
- uridecodebin3: Forward upstream events to decodebin3 directly
- video-converter: Add fast paths from v210 to I420/YV12, Y42B,
UYVY and YUY2
- videoaggregator: Limit accepted caps by template caps
- gstrtpbuffer: fix header extension length validation
- decodebin3: only force streams-selected seqnum after a
select-streams
- videodecoder: don't copy interlace-mode from reference state
- enable abi checks
- multihandlesink: Don't pass NULL caps to gst_caps_is_equal
- audio: video: Fix in/outbuf confusion of transform_meta
- meson: Always wrap "prefix" option with join_paths() to make
Windows happy
- videoaggregator: ensure peek_next_sample() uses the correct
caps
- meson: Actually build gstgl without implicit include dirs
- videoaggregator: Don't require any pads to be configured for
negotiating source pad caps
- gst-libs: gl: Fix documentation typo and clarify
gl_memory_texsubimage
- audioaggregator: Reset offset if the output rate is
renegotiated
- video-anc: Implement transform functions for AFD/Bar metas
- appsrc: Wake up the create() function on caps changes
- rtpbasepayload: do not forget delayed segment when forwarding
gaps
-------------------------------------------------------------------
Tue Oct 13 10:13:02 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
- Add patch from gl#gstreamer/gst-plugins-base#221 to support two
new CEA 608 caption formats:
* MR-221-video-anc-add-two-new-CEA-608-caption-formats.patch
-------------------------------------------------------------------
Wed Sep 2 12:21:48 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>

View File

@@ -20,7 +20,7 @@
%define gst_branch 1.0
%define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
Name: gstreamer-plugins-base
Version: 1.18.0
Version: 1.18.1
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.1-or-later AND GPL-2.0-or-later
@@ -32,6 +32,7 @@ Source2: baselibs.conf
# PATCH-FIX-OPENSUSE gstreamer-plugins-base-gl-deps.patch dimstar@opensuse.org -- Local workaround for https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/735
Patch3: gstreamer-plugins-base-gl-deps.patch
Patch4: add_wayland_dep_to_tests.patch
Patch5: MR-221-video-anc-add-two-new-CEA-608-caption-formats.patch
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: cdparanoia-devel
BuildRequires: fdupes
@@ -94,7 +95,7 @@ BuildRequires: pkgconfig(graphene-1.0)
%endif
Requires: gstreamer >= %{gstreamer_req_version}
Supplements: gstreamer
Conflicts: gstreamer-plugins-bad < 1.18.0
Conflicts: gstreamer-plugins-bad < 1.18.1
# Generic name, never used in SuSE:
Provides: gst-plugins-base = %{version}
Obsoletes: libgstbadvideo-1_0-0