From patchwork Mon Dec 21 22:58:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 24609 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 3F62844A6F9 for ; Tue, 22 Dec 2020 01:04:51 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 12EF46898C0; Tue, 22 Dec 2020 01:04:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C0104688316 for ; Tue, 22 Dec 2020 01:04:44 +0200 (EET) Received: by mail-oi1-f176.google.com with SMTP id w124so12936737oia.6 for ; Mon, 21 Dec 2020 15:04:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=0bg2GMVsdn8bttD4oS3NcVEy/yocUZuNLmFmYe11VRg=; b=LKNVYQbhN/LeJnSC1FievwggXlLSv58Rye4wKYQg6E3YrqUxXfzIqwTmAJVjWv0Lsq 3inp5rnNv7CpmnbFRfTLay+EW1T0QWoGwv9CXy9IhU/loWTMRS8mXtiwNDts4dB3X4mu qKKHTzZ1lpg9sccUGSzbgAXMl2tbX2YULFWIaWUc9vYtVi7NucbtNPRN1AufwZza2qN1 n0aogq1h8Amj5qiAe1CCXXDM7wwcofnGv7cHAFBlA20SSoRpPtQZFd2Lb/BnVmJPutXN ZlfO5A4TKXgHyq/KVUP98zFCPF1AX1/aGQ62l+8DnvIQIETNZQBuw7KsaK5D/d8ecxmR LZqg== X-Gm-Message-State: AOAM530jqQsbo9HfXS1294AQjXMVoxbK1qZPhFVfmvRD0l2BH2+QfUZ3 YQSjACzsL9dRBZcPFtoxiEnWMEQjNudeaGqD X-Google-Smtp-Source: ABdhPJxV/3IMhilY0qQKSzA7A6OJx1wvkSLPfskf7aeUtfkVBKlZICkT7P4MkLa9bBjMwLVRfm/Khg== X-Received: by 2002:a17:90a:d256:: with SMTP id o22mr19320325pjw.195.1608591543601; Mon, 21 Dec 2020 14:59:03 -0800 (PST) Received: from tmm1-imac.lan (ip72-194-222-34.sb.sd.cox.net. [72.194.222.34]) by smtp.gmail.com with ESMTPSA id x20sm17885314pfc.3.2020.12.21.14.59.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Dec 2020 14:59:02 -0800 (PST) From: Aman Karmani To: ffmpeg-devel@ffmpeg.org Date: Mon, 21 Dec 2020 14:58:57 -0800 Message-Id: <20201221225857.61712-1-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat: add mpegtsraw muxer 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: Aman Karmani Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Aman Karmani Allows easier writing of a AV_CODEC_ID_MPEG2TS stream out to disk. Signed-off-by: Aman Karmani --- libavformat/Makefile | 1 + libavformat/allformats.c | 1 + libavformat/rawenc.c | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/libavformat/Makefile b/libavformat/Makefile index 97d868081b..ad528de589 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -350,6 +350,7 @@ OBJS-$(CONFIG_MPEG2VOB_MUXER) += mpegenc.o OBJS-$(CONFIG_MPEGPS_DEMUXER) += mpeg.o OBJS-$(CONFIG_MPEGTS_DEMUXER) += mpegts.o OBJS-$(CONFIG_MPEGTS_MUXER) += mpegtsenc.o +OBJS-$(CONFIG_MPEGTSRAW_MUXER) += rawenc.o OBJS-$(CONFIG_MPEGVIDEO_DEMUXER) += mpegvideodec.o rawdec.o OBJS-$(CONFIG_MPJPEG_DEMUXER) += mpjpegdec.o OBJS-$(CONFIG_MPJPEG_MUXER) += mpjpeg.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 0e0caaad39..6106344ba0 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -279,6 +279,7 @@ extern AVInputFormat ff_mpegps_demuxer; extern AVInputFormat ff_mpegts_demuxer; extern AVOutputFormat ff_mpegts_muxer; extern AVInputFormat ff_mpegtsraw_demuxer; +extern AVOutputFormat ff_mpegtsraw_muxer; extern AVInputFormat ff_mpegvideo_demuxer; extern AVInputFormat ff_mpjpeg_demuxer; extern AVOutputFormat ff_mpjpeg_muxer; diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c index 32704f9bfd..38def493cf 100644 --- a/libavformat/rawenc.c +++ b/libavformat/rawenc.c @@ -465,6 +465,20 @@ AVOutputFormat ff_mpeg2video_muxer = { }; #endif +#if CONFIG_MPEGTSRAW_MUXER +AVOutputFormat ff_mpegtsraw_muxer = { + .name = "mpegtsraw", + .long_name = NULL_IF_CONFIG_SMALL("raw MPEG-TS"), + .mime_type = "video/MP2T", + .extensions = "ts,m2t,m2ts,mts", + .audio_codec = AV_CODEC_ID_NONE, + .video_codec = AV_CODEC_ID_NONE, + .data_codec = AV_CODEC_ID_MPEG2TS, + .write_packet = ff_raw_write_packet, + .flags = AVFMT_NOTIMESTAMPS, +}; +#endif + #if CONFIG_RAWVIDEO_MUXER AVOutputFormat ff_rawvideo_muxer = { .name = "rawvideo",