From patchwork Sat Jan 6 18:19:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Sabatini X-Patchwork-Id: 45505 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:2449:b0:199:85ec:e0df with SMTP id t9csp179487pzc; Sat, 6 Jan 2024 10:19:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IH2NdjEj+iLfqHANoYSr8XEGV5ozpt7ohkD4XTGoD7pMnD6NrEqimSHUvcM7who50tA/svN X-Received: by 2002:a50:cc94:0:b0:557:61d9:a943 with SMTP id q20-20020a50cc94000000b0055761d9a943mr541196edi.68.1704565179542; Sat, 06 Jan 2024 10:19:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704565179; cv=none; d=google.com; s=arc-20160816; b=lhqB+FpdPhk471fFbn9obNgdXB8XanU60lqh/9yc7xEBkbZsnju/8hL425u1zmVhFW +UiA/yqpl9bp4kZGnBpbT7qRd//oWLokaHDGP3WvdM1iR/D6ldIjOvIvn7+8FQsOEGLF gKAFrIuScdWqjlCF43VISNOgOKh9/GoqOj5lx76W48+4TEy0Z07AzcKQFZ7GkYh+O+VO Fy3Uh7TjowJfz2VofUTQhhE/vWJM6jNIX2JXFtUoi293g+T3gAPOZHb3BK0aQedgFIr+ 9SDWi7C3Ic/Xt3Vjlpk5CWZ2R3o8MYdmbGeQAYz0tQK3ISVqspSjXskbnij/b9nEqt7A MN0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=uubXMip2dIYtRdv1hy5BN7RyIHoTjoBOIWr8EylXcGk=; fh=QdWxt2OToL83TTnLQn0lGhLakV7i1QyAJdC8te7qN0E=; b=ifgLw14mLe8fBXZDRNAejUfAFBOBCzcKF81DRwP976c+D3Q74MmvDFZD6FdqQ8Qt8w /kxzs+kci+50NLo/c1N2qgr3eEn6q7DARl26AkBGRIrUXG1h+mZhX65fkuEI6yucOaPi Qs3krJ5W7F8RrsHMPpto7iH/qoSi84JuPXj5bv+Nh0fDwVZ06X0yK3tp3bNI9Dmxl7X/ rOPGXlhpM5k/PzmoNfRZEGmg6qNFV7MlyUugPSlMTOm5EFkNN3JD4bIsY1ShBblcafjq 8flKO8cKBVQaGo1hEOa2YQDe3CFCydVqmVPe7yQghHJ8Y1TCaGJ8xpUS47vAyuDTj6er N7pA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=DhQs2zkp; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dj9-20020a05640231a900b005532bcb144dsi1712097edb.379.2024.01.06.10.19.38; Sat, 06 Jan 2024 10:19:39 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=DhQs2zkp; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E9F368CCC9; Sat, 6 Jan 2024 20:19:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 98B8D68CA09 for ; Sat, 6 Jan 2024 20:19:29 +0200 (EET) Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a29c4bbb2f4so54982266b.1 for ; Sat, 06 Jan 2024 10:19:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704565168; x=1705169968; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=HKr81k9+g/ghUgRyVe82qwuXOKnzXUmR8uDzZ4W/ljw=; b=DhQs2zkpbEkhvIp95/Vfps2oXQn8aq0A3SUOzW49ySQXcAckTIAnc6M/2trfCQ9Pw4 k7jVmiiGdu3GxgxcCEHMN2P5p4VhYY8WeDuqXRAZjiwuPFupnZ1AntibqoX2l6PC15Ts O4akPE++MTSOTFpSXJOuddXUkS+sUE1ogB40I3BXbxTyRmnWWQN1lgrcmICmVlwHuHfx KBzZTlv5TeMwzJZyCFGVGeYBPyM+zts3QNSDaeg5Ws4Xnp/eJPRwec+XGbNIZDrhm5F0 NZ34Z8LgLENBDcqmUi87/r7raXJyCtS6ePotUsZCyGLT0LL8FX8QOLvK98jImRnQMg9F q7IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704565168; x=1705169968; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HKr81k9+g/ghUgRyVe82qwuXOKnzXUmR8uDzZ4W/ljw=; b=Qi7/r2fIfaf/ZVQZFHO1y67trGQvB+Pp93fGa6MFLAFY90nRqsteSJ752FsfS2at1H teD3qeAdKj6+04/TguW/75foThu6hLX82mJorIflt+aJ3SYWmwhfdlJpxzjWNjwPlkHa lVCc8CBrbWsGZclfyWRKXQZnXdMSmCMC9o5cW8E1dwNuYCGHGLrF8bKZltNY1uk9UWKd YQwYmaXjv2ZfdTUpduaO1fVXmR2GceHREe6YyKxPo89Ydi3vQO6z+bmDnFfb8yf9jftK LNzIxondtmDJvefheJf/rHeaKGnARrXTX9b4K19vRYw5iIFQo2yErIQfs6CX+0T4lTeW 1v4w== X-Gm-Message-State: AOJu0YxWEHrDDdlQwOoNj0LmfaAsMObXSX4nbQ+uKf3yBd41HsZ++q2x USPQGfQ4vXlqQi0NUy/dHauva0sctQo= X-Received: by 2002:a17:906:c144:b0:a28:d396:fe2d with SMTP id dp4-20020a170906c14400b00a28d396fe2dmr468329ejc.90.1704565167811; Sat, 06 Jan 2024 10:19:27 -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 l18-20020a17090612d200b00a28ab7cd8e5sm2176610ejb.191.2024.01.06.10.19.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Jan 2024 10:19:27 -0800 (PST) Received: by mariano (Postfix, from userid 1000) id 2C02CBFCDC; Sat, 6 Jan 2024 19:19:26 +0100 (CET) From: Stefano Sabatini To: FFmpeg development discussions and patches Date: Sat, 6 Jan 2024 19:19:26 +0100 Message-Id: <20240106181926.280818-1-stefasab@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] doc/muxers: review rawvideo muxers section 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: Stefano Sabatini Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8jAOnb2Vi5jR Move section to the top of the file, use table in place of subsection to list the comprising muxers, and show media type information and extensions in the item entry names. --- doc/muxers.texi | 340 ++++++++++++++++++++++-------------------------- 1 file changed, 158 insertions(+), 182 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index 4b4f806a69..49c2436c8e 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -19,6 +19,164 @@ enabled demuxers and muxers. A description of some of the currently available muxers follows. +@anchor{raw muxers} +@section Raw muxers + +This section covers raw muxers. They accept a single stream matching +the designated codec. They do not store timestamps or metadata. The +recognized extension is the same as the muxer name unless indicated +otherwise. + +It comprises the following muxers. The media type and the eventual +extensions used to automatically selects the muxer from the output +extensions are also shown. + +@table @samp +@item ac3 @emph{audio} +Dolby Digital, also known as AC-3. + +@item adx @emph{audio} +CRI Middleware ADX audio. + +This muxer will write out the total sample count near the start of the +first packet when the output is seekable and the count can be stored +in 32 bits. + +@item aptx @emph{audio} +aptX (Audio Processing Technology for Bluetooth) + +@item aptx_hd @emph{audio} (aptxdh) +aptX HD (Audio Processing Technology for Bluetooth) audio + +@item avs2 @emph{video} (avs, avs2) +AVS2-P2/IEEE1857.4 video. + +@item cavsvideo @emph{video} (cavs) +Chinese AVS (Audio Video Standard) + +@item codec2raw @emph{audio} +Codec 2 audio. + +No extension is registered so format name has to be supplied e.g. with +the ffmpeg CLI tool @code{-f codec2raw}. + +@item data @emph{any} +Generic data muxer. + +This muxer accepts a single stream with any codec of any type. The +input stream has to be selected using the @code{-map} option with the +@command{ffmpeg} CLI tool. + +No extension is registered so format name has to be supplied e.g. with +the @command{ffmpeg} CLI tool @code{-f data}. + +@item dirac @emph{video} (drc, vc2) +BBC Dirac video. + +The Dirac Pro codec is a subset and is standardized as SMPTE VC-2. + +@item dnxhd @emph{video} (dnxhd, dnxhr) +Avid DNxHD video. + +It is standardized as SMPTE VC-3. Accepts DNxHR streams. + +@item dts @emph{audio} +DTS Coherent Acoustics (DCA) audio + +@item eac3 @emph{audio} +Dolby Digital Plus, also known as Enhanced AC-3 + +@item evc @emph{video} (evc) +MPEG-5 Essential Video Coding (EVC) / EVC / MPEG-5 Part 1 EVC video + +@item g722 @emph{audio} +ITU-T G.722 audio + +@item g723_1 @emph{audio} (tco, rco) +ITU-T G.723.1 audio + +@item g726 @emph{audio} +ITU-T G.726 big-endian ("left-justified") audio. + +No extension is registered so format name has to be supplied e.g. with +the @command{ffmpeg} CLI tool @code{-f g726}. + +@item g726le @emph{audio} +ITU-T G.726 little-endian ("right-justified") audio. + +No extension is registered so format name has to be supplied e.g. with +the @command{ffmpeg} CLI tool @code{-f g726le}. + +@item gsm @emph{audio} +Global System for Mobile Communications audio + +@item h261 @emph{video} +ITU-T H.261 video + +@item h263 @emph{video} +ITU-T H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 video + +@item h264 @emph{video} (h264, 264) +ITU-T H.264 / MPEG-4 Part 10 AVC video. Bitstream shall be converted +to Annex B syntax if it's in length-prefixed mode. + +@item hevc @emph{video} (hevc, h265, 265) +ITU-T H.265 / MPEG-H Part 2 HEVC video. Bitstream shall be converted +to Annex B syntax if it's in length-prefixed mode. + +@item m4v @emph{video} +MPEG-4 Part 2 video + +@item mjpeg @emph{video} (mjpg, mjpeg) +Motion JPEG video + +@item mlp @emph{audio} +Meridian Lossless Packing, also known as Packed PCM + +@item mp2 @emph{audio} (mp2, m2a, mpa) +MPEG-1 Audio Layer II audio + +@item mpeg1video @emph{video} (mpg, mpeg, m1v) +MPEG-1 Part 2 video. + +@item mpeg2video @emph{video} (m2v) +ITU-T H.262 / MPEG-2 Part 2 video + +@item obu @emph{video} +AV1 low overhead Open Bitstream Units muxer. + +Temporal delimiter OBUs will be inserted in all temporal units of the +stream. + +@item rawvideo @emph{video} (yuv, rgb) +Raw uncompressed video. + +@item sbc @emph{audio} (sbc, msbc) +Bluetooth SIG low-complexity subband codec audio + +@item truehd @emph{audio} (thd) +Dolby TrueHD audio + +@item vc1 @emph{video} +SMPTE 421M / VC-1 video +@end table + +@subsection Examples + +@itemize +@item +Store raw video frames with the @samp{rawvideo} muxer using @command{ffmpeg}: +@example +ffmpeg -f lavfi -i testsrc -t 10 -s hd1080p testsrc.yuv +@end example + +Since the rawvideo muxer do not store the information related to size +and format, this information must be provided when demuxing the file: +@example +ffplay -video_size 1920x1080 -pixel_format rgb24 -f rawvideo testsrc.rgb +@end example +@end itemize + @section MOV/MPEG-4/ISOMBFF muxers This section covers formats belonging to the QuickTime / MOV family, @@ -2221,188 +2379,6 @@ ogg files can be safely chained. @end table -@anchor{raw muxers} -@section raw muxers - -Raw muxers accept a single stream matching the designated codec. They do not store timestamps or metadata. -The recognized extension is the same as the muxer name unless indicated otherwise. - -@subsection ac3 - -Dolby Digital, also known as AC-3, audio. - -@subsection adx - -CRI Middleware ADX audio. - -This muxer will write out the total sample count near the start of the first packet -when the output is seekable and the count can be stored in 32 bits. - -@subsection aptx - -aptX (Audio Processing Technology for Bluetooth) audio. - -@subsection aptx_hd - -aptX HD (Audio Processing Technology for Bluetooth) audio. - -Extensions: aptxhd - -@subsection avs2 - -AVS2-P2/IEEE1857.4 video. - -Extensions: avs, avs2 - -@subsection cavsvideo - -Chinese AVS (Audio Video Standard) video. - -Extensions: cavs - -@subsection codec2raw - -Codec 2 audio. - -No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f codec2raw}. - -@subsection data - -Data muxer accepts a single stream with any codec of any type. -The input stream has to be selected using the @code{-map} option with the ffmpeg CLI tool. - -No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f data}. - -@subsection dirac - -BBC Dirac video. The Dirac Pro codec is a subset and is standardized as SMPTE VC-2. - -Extensions: drc, vc2 - -@subsection dnxhd - -Avid DNxHD video. It is standardized as SMPTE VC-3. Accepts DNxHR streams. - -Extensions: dnxhd, dnxhr - -@subsection dts - -DTS Coherent Acoustics (DCA) audio. - -@subsection eac3 - -Dolby Digital Plus, also known as Enhanced AC-3, audio. - -@subsection evc - -MPEG-5 Essential Video Coding (EVC) / EVC / MPEG-5 Part 1 EVC video. - -Extensions: evc - -@subsection g722 - -ITU-T G.722 audio. - -@subsection g723_1 - -ITU-T G.723.1 audio. - -Extensions: tco, rco - -@subsection g726 - -ITU-T G.726 big-endian ("left-justified") audio. - -No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f g726}. - -@subsection g726le - -ITU-T G.726 little-endian ("right-justified") audio. - -No extension is registered so format name has to be supplied e.g. with the ffmpeg CLI tool @code{-f g726le}. - -@subsection gsm - -Global System for Mobile Communications audio. - -@subsection h261 - -ITU-T H.261 video. - -@subsection h263 - -ITU-T H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 video. - -@subsection h264 - -ITU-T H.264 / MPEG-4 Part 10 AVC video. Bitstream shall be converted to Annex B syntax if it's in length-prefixed mode. - -Extensions: h264, 264 - -@subsection hevc - -ITU-T H.265 / MPEG-H Part 2 HEVC video. Bitstream shall be converted to Annex B syntax if it's in length-prefixed mode. - -Extensions: hevc, h265, 265 - -@subsection m4v - -MPEG-4 Part 2 video. - -@subsection mjpeg - -Motion JPEG video. - -Extensions: mjpg, mjpeg - -@subsection mlp - -Meridian Lossless Packing, also known as Packed PCM, audio. - -@subsection mp2 - -MPEG-1 Audio Layer II audio. - -Extensions: mp2, m2a, mpa - -@subsection mpeg1video - -MPEG-1 Part 2 video. - -Extensions: mpg, mpeg, m1v - -@subsection mpeg2video - -ITU-T H.262 / MPEG-2 Part 2 video. - -Extensions: m2v - -@subsection obu - -AV1 low overhead Open Bitstream Units muxer. Temporal delimiter OBUs will be inserted in all temporal units of the stream. - -@subsection rawvideo - -Raw uncompressed video. - -Extensions: yuv, rgb - -@subsection sbc - -Bluetooth SIG low-complexity subband codec audio. - -Extensions: sbc, msbc - -@subsection truehd - -Dolby TrueHD audio. - -Extensions: thd - -@subsection vc1 - -SMPTE 421M / VC-1 video. - @anchor{segment} @section segment, stream_segment, ssegment