From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 8B41847FF9 for ; Sun, 7 Jan 2024 12:02:33 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 04E9868CCCD; Sun, 7 Jan 2024 14:02:30 +0200 (EET) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A68EB68C903 for ; Sun, 7 Jan 2024 14:02:23 +0200 (EET) Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-a28a6cef709so87624566b.1 for ; Sun, 07 Jan 2024 04:02:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704628942; x=1705233742; darn=ffmpeg.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=ac/aFoDuOfcDYcfAgaWQhFZbhqq5EXsxaPORxY9/ynE=; b=kgQNu7aTeyiEAj1bOjv0FHmpZvEjIDuyqcGknm6xjt3Nvt8AWWWaYd0RCu7StYYtwG +HRc6mjQCJD2BJ4UM1gvd1Mfr2WtcsohCys1T460GtPKXaAOX/22XbIRqNU/OBV51FJS OaAolwjNkZplqTgDDKjU6InVovrBalGXR0m+AyyIGdNBfu4UAwhXVNPkqkNish0sXugp Oy+R8C+XQ38/0u9hrJAkv+AlQbzCIVRQkuldpZ2fLggi1okqTrbOo1egtynFWzh82qmr p4v1IApyf2BM+61TGo9zM7O4LkkzR5Efa2Kxf1gfcSTR+OdQH/S6diXsg7DJlZxsc1fl me1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704628942; x=1705233742; h=user-agent:in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ac/aFoDuOfcDYcfAgaWQhFZbhqq5EXsxaPORxY9/ynE=; b=P4SAyKdXEv169AQY3JYWie2iTCVmbpONVzAHUaAoyVR4MxMS27ZXNyeJgJ04k+33x6 wro90uzfPe1h56DxBCGfgo1EteEUjq3XLekM9nsvcjVrZ1TKIcKoHpBvZ1DlpNJGSdEn ijLLWzlpw3At16XEMfRHr9BtA5diCXzbutJrs5hPE61FEpaeu3mVmHB+dvulT2FLI4sc JO4ujFL6uoI6jZf12V4NdwDdP7qIIZOcdY+BVuMrKTqooy34sPbxz1AHcH0kwmKULBRF aaPKaLH8vOBKSdiECgRudMWw0hUsXzUyxEWbSNoYHSV72SvH1buM0myXZ6LUoHEgDEzB /BaA== X-Gm-Message-State: AOJu0Yw607+7ZgIF64fXNY+4qUJNgTh5DigdGLemUcEsUnc5U8yoAJ0m xi1lSB+OF5v3NCH6heMuky/HKZ7ZR8U= X-Google-Smtp-Source: AGHT+IGfQXS/aNyU1bP28oNinU56WBRFoCmWGxiSoB+fbUPAPB3OEQVKa2TL/xanVFzOewshYAf3/w== X-Received: by 2002:a17:906:454f:b0:a28:d4eb:4286 with SMTP id s15-20020a170906454f00b00a28d4eb4286mr978881ejq.109.1704628941828; Sun, 07 Jan 2024 04:02:21 -0800 (PST) Received: from mariano (dynamic-adsl-84-220-189-10.clienti.tiscali.it. [84.220.189.10]) by smtp.gmail.com with ESMTPSA id k4-20020a170906578400b00a298d735a1bsm2345628ejq.149.2024.01.07.04.02.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jan 2024 04:02:21 -0800 (PST) Received: by mariano (Postfix, from userid 1000) id 3845EBFCDC; Sun, 7 Jan 2024 13:02:19 +0100 (CET) Date: Sun, 7 Jan 2024 13:02:19 +0100 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches , Marth64 References: <20240106214105.1557632-1-marth64@proxyid.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240106214105.1557632-1-marth64@proxyid.net> User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH v2] libavformat: add RCWT closed caption muxer X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Marth64 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On date Saturday 2024-01-06 15:41:05 -0600, Marth64 wrote: > Signed-off-by: Marth64 > > Thank you for the good feedback and review. Most feedback is addressed. > > > nit: no need to shift > I left this alone only since I see it being done this way in lavf/ccfifo > and other documentation. I assumed it could be doing the shift for a reason, > but I can study further why if you think it shouldn't shift. > > > I don't remember if new elements addition entails a minor library bump (probably it should) > I reviewed APIchangelog and didn't see similar type of bumps for adding to allformats. > The publically exposed codec ID has been in ffmpeg for a long time. > But I am happy to patch in a version bump with your confirmation. > > Much appreciated, > Marth64 > > --- > Changelog | 1 + > doc/muxers.texi | 40 ++++++++++ > libavformat/Makefile | 1 + > libavformat/allformats.c | 1 + > libavformat/rcwtenc.c | 166 +++++++++++++++++++++++++++++++++++++++ > tests/fate/subtitles.mak | 3 + > tests/ref/fate/sub-rcwt | 1 + > 7 files changed, 213 insertions(+) > create mode 100644 libavformat/rcwtenc.c > create mode 100644 tests/ref/fate/sub-rcwt > > diff --git a/Changelog b/Changelog > index 5b2899d05b..3d60f688ca 100644 > --- a/Changelog > +++ b/Changelog > @@ -18,6 +18,7 @@ version : > - lavu/eval: introduce randomi() function in expressions > - VVC decoder > - fsync filter > +- Raw Captions with Time (RCWT) closed caption demuxer demuxer -> muxer? > > version 6.1: > - libaribcaption decoder > diff --git a/doc/muxers.texi b/doc/muxers.texi > index 7b705b6a9e..0bdeaeeaf3 100644 > --- a/doc/muxers.texi > +++ b/doc/muxers.texi > @@ -2232,6 +2232,46 @@ Extensions: thd > > SMPTE 421M / VC-1 video. > > +@anchor{rcwt} > +@section rcwt > + > +Raw Captions With Time (RCWT) is a format native to ccextractor, a commonly > +used open source tool for processing 608/708 closed caption (CC) sources. > +It can be used to archive the original, raw CC bitstream and to produce > +a source file for later CC processing or conversion. As a result, > +it also allows for interopability with ccextractor for processing CC data > +extracted via ffmpeg. The format is simple to parse and can be used > +to retain all lines and variants of CC. > +This muxer implements the specification as of 2024-01-05, which has > +been stable and unchanged for 10 years as of this writing. > + > +This muxer will have some nuances from the way that ccextractor muxes RCWT. > +No compatibility issues when processing the output with ccextractor > +have been observed as a result of this so far, but mileage may vary > +and outputs will not be a bit-exact match. > + > +Specifically, the differences are: > +@enumerate > +@item > +This muxer will identify as "FF" as the writing program identifier, so > +as to be honest about the output's origin. > +@item > +ffmpeg's MPEG-1/2, H264, HEVC, etc. decoders extract closed captioning > +data differently than ccextractor from embedded SEI/user data. > +For example, DVD captioning bytes will be translated to ATSC A53 format. > +This allows ffmpeg to handle 608/708 in a consistant way downstream. > +This is a lossless conversion and the meaningful data is retained. > +@item > +This muxer will not alter the extracted data except to remove invalid > +packets in between valid CC blocks. On the other hand, ccextractor > +will by default remove mid-stream padding, and add padding at the end > +of the stream (in order to convey the end time of the source video). > +@end enumerate This part is probably a bit too technical for user documentation, especially for the details related to the implmentation (which might change), so probably can/should be left out. You might keep the link to the file format below though. [...] LGTM otherwise. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".