From patchwork Wed May 27 10:01:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brad Hards X-Patchwork-Id: 19895 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 747D744B606 for ; Wed, 27 May 2020 13:02:21 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4E98668AB98; Wed, 27 May 2020 13:02:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from cp1.nerdvana.net.au (mail64.nerdvana.net.au [113.212.99.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 50AAC680879 for ; Wed, 27 May 2020 13:02:13 +0300 (EEST) Received: from ppp115-205.static.internode.on.net ([150.101.115.205]:50862 helo=minutae.fritz.box) by cp1.nerdvana.net.au with esmtpa (Exim 4.93) (envelope-from ) id 1jdssz-000Cag-In; Wed, 27 May 2020 20:02:09 +1000 From: Brad Hards To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 May 2020 20:01:59 +1000 Message-Id: <20200527100200.17118-1-bradh@frogmouth.net> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cp1.nerdvana.net.au X-AntiAbuse: Original Domain - ffmpeg.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - frogmouth.net X-Get-Message-Sender-Via: cp1.nerdvana.net.au: authenticated_id: git@frogmouth.net X-Authenticated-Sender: cp1.nerdvana.net.au: git@frogmouth.net X-Source: X-Source-Args: X-Source-Dir: Subject: [FFmpeg-devel] [PATCH v2 1/2] Add constants for KLV pseudo-profile. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Brad Hards Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" There are two different ways KLV is used in MISB specs - sync and async. The corresponding text (in ST1401) says: ISO/IEC 13818-1 Table-34 defines a stream_type = 0x15 for “Metadata carried in PES packets,” and Table 2-22 defines a stream_id = 0xFC for “metadata stream.” and In ISO/IEC 13818-1, Table-34 defines a stream_type = 0x06 for “PES packets containing private data,” and Table 2-22 defines a stream_id = 0xBD for “private_stream_1.” These constants allow us to distinguish the two cases, as codec profiles. --- libavcodec/avcodec.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index f10b7a06ec..f2734bbb1e 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2102,6 +2102,9 @@ typedef struct AVCodecContext { #define FF_PROFILE_ARIB_PROFILE_A 0 #define FF_PROFILE_ARIB_PROFILE_C 1 +#define FF_PROFILE_KLVA_SYNC 0 +#define FF_PROFILE_KLVA_ASYNC 1 + /** * level * - encoding: Set by user. From patchwork Wed May 27 10:02:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brad Hards X-Patchwork-Id: 19896 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 45E5F44B606 for ; Wed, 27 May 2020 13:02:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2C94768ABC4; Wed, 27 May 2020 13:02:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from cp1.nerdvana.net.au (mail64.nerdvana.net.au [113.212.99.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04FFE680B6C for ; Wed, 27 May 2020 13:02:16 +0300 (EEST) Received: from ppp115-205.static.internode.on.net ([150.101.115.205]:50862 helo=minutae.fritz.box) by cp1.nerdvana.net.au with esmtpa (Exim 4.93) (envelope-from ) id 1jdst3-000Cag-3T; Wed, 27 May 2020 20:02:13 +1000 From: Brad Hards To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 May 2020 20:02:00 +1000 Message-Id: <20200527100200.17118-2-bradh@frogmouth.net> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200527100200.17118-1-bradh@frogmouth.net> References: <20200527100200.17118-1-bradh@frogmouth.net> X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cp1.nerdvana.net.au X-AntiAbuse: Original Domain - ffmpeg.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - frogmouth.net X-Get-Message-Sender-Via: cp1.nerdvana.net.au: authenticated_id: git@frogmouth.net X-Authenticated-Sender: cp1.nerdvana.net.au: git@frogmouth.net X-Source: X-Source-Args: X-Source-Dir: Subject: [FFmpeg-devel] [PATCH v2 2/2] Set stream_id correctly based on KLV profile selected. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Brad Hards MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Previously we always set STREAM_TYPE_PRIVATE_DATA, and that remains the default value. --- libavformat/mpegtsenc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index bf1a7ee13f..c4e435647d 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -353,6 +353,13 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) case AV_CODEC_ID_DVB_TELETEXT: stream_type = STREAM_TYPE_PRIVATE_DATA; break; + case AV_CODEC_ID_SMPTE_KLV: + if (st->codecpar->profile == FF_PROFILE_KLVA_SYNC) { + stream_type = STREAM_TYPE_METADATA; + } else { + stream_type = STREAM_TYPE_PRIVATE_DATA; + } + break; default: av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning, "Stream %d, codec %s, is muxed as a private data stream "