<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-apv-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="APVPF">RTP payload format for APV</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-apv-01"/>
    <author initials="Y." surname="Lim" fullname="Youngkwon Lim">
      <organization>Samsung Electronics</organization>
      <address>
        <postal>
          <street>6105 Tennyson Pkwy, Ste 300</street>
          <city>Plano, TX</city>
          <code>75024</code>
          <country>USA</country>
        </postal>
        <email>yklwhite@gmail.com</email>
      </address>
    </author>
    <author initials="M." surname="Park" fullname="Minwoo Park">
      <organization>Samsung Electronics</organization>
      <address>
        <postal>
          <street>34, Seongchon-gil, Seocho-gu</street>
          <city>Seoul</city>
          <code>3573</code>
          <country>Republic of Korea</country>
        </postal>
        <email>m.w.park@samsung.com</email>
      </address>
    </author>
    <author initials="M." surname="Budagavi" fullname="Madhukar Budagavi">
      <organization>Samsung Electronics</organization>
      <address>
        <postal>
          <street>6105 Tennyson Pkwy, Ste 300</street>
          <city>Plano, TX</city>
          <code>75024</code>
          <country>USA</country>
        </postal>
        <email>m.budagavi@samsung.com</email>
      </address>
    </author>
    <author initials="R." surname="Joshi" fullname="Rajan Joshi">
      <organization>Samsung Electronics</organization>
      <address>
        <postal>
          <street>11488 Tree Hollow Ln</street>
          <city>San Diego, CA</city>
          <code>92128</code>
          <country>USA</country>
        </postal>
        <email>rajan_joshi@ieee.org</email>
      </address>
    </author>
    <author initials="K." surname="Choi" fullname="Kwang Pyo Choi">
      <organization>Samsung Electronics</organization>
      <address>
        <postal>
          <street>34, Seongchon-gil, Seocho-gu</street>
          <city>Seoul</city>
          <code>3573</code>
          <country>Republic of Korea</country>
        </postal>
        <email>kwangpyo.choi@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="26"/>
    <area>ART</area>
    <workgroup>avtcore</workgroup>
    <keyword>payload format</keyword>
    <keyword>mezzanine codec</keyword>
    <keyword>visually lossless compression</keyword>
    <abstract>
      <?line 106?>

<t>This document describes RTP payload format for bitstream encoded with Advanced Professional Video (APV) codec.</t>
    </abstract>
  </front>
  <middle>
    <?line 110?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines the RTP payload format for bitstream encoded with Advanced Professional Video (APV) codec <xref target="RFC9924"/>. This document defines how to packetize bitstream encoded with APV codec and set the payload header fields. This document also defines how to set the fields of RTP payload header when it carries bitstream encoded with APV codec. The APV codec is a professional video codec that was developed in response to the need for high quality video recording and post production.</t>
      <t>The primary purpose of the APV codec is for use in professional video recording and editing workflows for various types of content. The APV codec supports the following features:</t>
      <ul spacing="normal">
        <li>
          <t>Perceptually lossless video quality that is close to the original, uncompressed quality;</t>
        </li>
        <li>
          <t>Low complexity and high throughput intra frame only coding without inter frame coding;</t>
        </li>
        <li>
          <t>Intra frame coding without prediction between pixel values but with prediction between transformed values for low delay encoding;</t>
        </li>
        <li>
          <t>High bit rates of up to a few Gbps for 2K, 4K, and 8K resolution content, enabled by a lightweight entropy coding scheme;</t>
        </li>
        <li>
          <t>Frame tiling for immersive content and for enabling parallel encoding and decoding;</t>
        </li>
        <li>
          <t>Various chroma sampling formats from 4:0:0 to 4:4:4:4, and bit depths from 10 to 16 (Note: Only the profiles supporting 10 bits and 12 bits are currently defined);</t>
        </li>
        <li>
          <t>The ability to decode and re-encode multiple times without severe visual quality degradation; and</t>
        </li>
        <li>
          <t>Various metadata including HDR10/10+ and user-defined formats.</t>
        </li>
      </ul>
    </section>
    <section anchor="terms">
      <name>Terms</name>
      <section anchor="terms-and-definitions">
        <name>Terms and definitions</name>
        <dl>
          <dt>access unit (AU)</dt>
          <dd>
            <t>a collection of primitive bitstream units (PBU) including various types of frames, metadata, filler, and access unit information, associated with a specific time</t>
          </dd>
          <dt>band</dt>
          <dd>
            <t>a defined set of constraints on the value of the maximum coded data rate of each level</t>
          </dd>
          <dt>block</dt>
          <dd>
            <t>MxN (M-column by N-row) array of samples, or an MxN array of transform coefficients</t>
          </dd>
          <dt>byte-aligned</dt>
          <dd>
            <t>a position in a bitstream that is an integer multiple of 8 bits from the position of the first bit in the bitstream</t>
          </dd>
          <dt>chroma</dt>
          <dd>
            <t>a sample array or single sample representing one of the two color difference signals related to the primary colors, represented by the symbols Cb and Cr in 4:2:2 or 4:4:4 color format</t>
          </dd>
          <dt>coded frame</dt>
          <dd>
            <t>a coded representation of a frame containing all macroblocks of the frame</t>
          </dd>
          <dt>coded representation</dt>
          <dd>
            <t>a data element as represented in its coded form</t>
          </dd>
          <dt>component</dt>
          <dd>
            <t>an array or a single sample from one of the three arrays (luma and two chroma) that compose a frame in 4:2:2, or 4:4:4 color format, or an array or a single sample from an array that compose a frame in 4:0:0 color format, or an array or a single sample from one of the four arrays that compose a frame in 4:4:4:4 color format.</t>
          </dd>
          <dt>decoded frame</dt>
          <dd>
            <t>a frame derived by decoding a coded frame</t>
          </dd>
          <dt>decoder</dt>
          <dd>
            <t>an embodiment of a decoding process</t>
          </dd>
          <dt>decoding process</dt>
          <dd>
            <t>a process specified that reads a bitstream and derives decoded frames from it</t>
          </dd>
          <dt>encoder</dt>
          <dd>
            <t>an embodiment of an encoding process</t>
          </dd>
          <dt>encoding process</dt>
          <dd>
            <t>a process that produces a bitstream conforming to this document</t>
          </dd>
          <dt>flag</dt>
          <dd>
            <t>a variable or single-bit syntax element that can take one of the two possible values: 0 and 1</t>
          </dd>
          <dt>frame:</dt>
          <dd>
            <t>an array of luma samples and two corresponding arrays of chroma samples in 4:2:2 and 4:4:4 color format, or an array of samples in 4:0:0 color format, or four arrays of samples in 4:4:4:4 color format</t>
          </dd>
          <dt>level</dt>
          <dd>
            <t>a defined set of constraints on the values that are taken by the syntax elements and variables of this document, or the value of a transform coefficient prior to scaling</t>
          </dd>
          <dt>luma</dt>
          <dd>
            <t>a sample array or single sample representing the monochrome signal related to the primary colors, represented by the symbol or subscript Y or L</t>
          </dd>
          <dt>macroblock (MB)</dt>
          <dd>
            <t>a square block of luma samples and two corresponding blocks of chroma samples of a frame in 4:2:2 or 4:4:4 color format, or a square block of samples of a frame in 4:0:0 color format, or four square blocks of samples of a frame in 4:4:4:4 color format</t>
          </dd>
          <dt>metadata</dt>
          <dd>
            <t>data describing various characteristics related to a bitstream without directly affecting the decoding process of it.</t>
          </dd>
          <dt>partitioning</dt>
          <dd>
            <t>a division of a set into subsets such that each element of the set is in exactly one of the subsets</t>
          </dd>
          <dt>prediction</dt>
          <dd>
            <t>an embodiment of the prediction process</t>
          </dd>
          <dt>prediction process</dt>
          <dd>
            <t>use of a predictor to provide an estimate of the data element currently being decoded</t>
          </dd>
          <dt>predictor</dt>
          <dd>
            <t>a combination of specified values or previously decoded data elements used in the decoding process of subsequent data elements</t>
          </dd>
          <dt>primitive bitstream unit (PBU)</dt>
          <dd>
            <t>a data structure to construct an access unit with frame and metadata</t>
          </dd>
          <dt>profile</dt>
          <dd>
            <t>a specified subset of the syntax of this document</t>
          </dd>
          <dt>quantization parameter (QP)</dt>
          <dd>
            <t>a variable used by the decoding process for the scaling value of transform coefficients</t>
          </dd>
          <dt>raster scan</dt>
          <dd>
            <t>a mapping of a rectangular two-dimensional pattern to a one-dimensional pattern such that the first entries in the one-dimensional pattern are from the top row of the two-dimensional pattern scanned from left to right, followed by the second, third, etc., rows of the pattern each scanned from left to right</t>
          </dd>
          <dt>raw bitstream</dt>
          <dd>
            <t>an encapsulation of a sequence of access units where a field indicating the size of an access unit precedes each access unit as defined in Appendix A. of <xref target="RFC9924"/></t>
          </dd>
          <dt>source</dt>
          <dd>
            <t>a term used to describe the video material or some of its attributes before the encoding process</t>
          </dd>
          <dt>syntax element</dt>
          <dd>
            <t>an element of data represented in the bitstream</t>
          </dd>
          <dt>syntax structure</dt>
          <dd>
            <t>zero or more syntax elements present together in a bitstream in a specified order</t>
          </dd>
          <dt>tile</dt>
          <dd>
            <t>a rectangular region of MBs within a particular tile column and a particular tile row in a frame</t>
          </dd>
          <dt>tile column</dt>
          <dd>
            <t>a rectangular region of MBs having a height equal to the height of the frame and width specified by syntax elements in the frame header</t>
          </dd>
          <dt>tile row</dt>
          <dd>
            <t>a rectangular region of MBs having a height specified by syntax elements in the frame header and a width equal to the width of the frame</t>
          </dd>
          <dt>tile scan</dt>
          <dd>
            <t>a specific sequential ordering of MBs partitioning a frame in which the MBs are ordered consecutively in MB raster scan in a tile and the tiles in a frame are ordered consecutively in a raster scan of the tiles of the frame</t>
          </dd>
          <dt>transform coefficient</dt>
          <dd>
            <t>a scalar quantity, considered to be in a frequency domain, that is associated with a particular one-dimensional or two-dimensional index</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="conventions">
      <name>Conventions used in this document</name>
      <section anchor="general">
        <name>General</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="overview-of-apv">
      <name>Overview of APV</name>
      <section anchor="overview-of-apv-coding-tools">
        <name>Overview of APV coding tools</name>
        <t>The APV codec encodes each frame individually from other frames so that there are no coding dependencies among the frames. A frame is divided into one or more rectangular tiles. Each tile is also encoded independently from other tiles so that parallel processing of tiles is possible. A tile is further divided into 16 x 16 pixel size macroblocks which include 4 transform blocks of 8 pixel x 8 pixel. Each transform block is transformed using a fixed-point DCT and then transformed coefficients are quantized using uniform scalar quantizer. A prediction is applied to the quantized coefficients in the frequency domain. Finally, entropy coding specially designed to support very high throughput is applied.</t>
      </section>
      <section anchor="structure-of-apv-bitstream">
        <name>Structure of APV bitstream</name>
        <section anchor="structure-of-apv-access-unit">
          <name>Structure of APV access unit</name>
          <t>As the APV codec encodes each video frame independently from other video frames, the coded data of each individual video frame, access unit, is self-contained. As there are cases that there are more than one video frames corresponding to a specific time, the access unit is designed to carry multiple video frames and metadata associated to such video frames corresponding to a single time in a single self-contained unit. The access unit consists of one or more primitive bitstream units as shown in <xref target="APV-AU_structure"/>. Each PBU carries a single video frame, metadata or filler data. It is assumed that the size of AU is known by external means. The detailed syntax and semantics of the access unit is defined in section 5.3.1 of <xref target="RFC9924"/>.</t>
          <figure anchor="APV-AU_structure">
            <name>A conceptual structure of APV access unit</name>
            <artwork><![CDATA[
      
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| primitive bitstream unit|...| primitive bitstream unit|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure>
        </section>
        <section anchor="structure-of-apv-primitive-bitstream-unit">
          <name>Structure of APV primitive bitstream unit</name>
          <t>The primitive bitstream unit is designed to carry various type of data consisting a single access unit in a consistent structure. The PBU is composed of PBU size, PBU header and PBU data as shown in <xref target="APV-PBU_structure"/>.</t>
          <figure anchor="APV-PBU_structure">
            <name>A conceptual structure of primitive bitstream unit</name>
            <artwork><![CDATA[
      
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PBU  size|PBU  header|PBU  data|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure>
          <t>For easy identification of specific type of data and fast parsing of large size AU, the PBU start with the size information and the first byte of the PBU header provides a type of data carried in a PBU. The list of types of data to be carried in a PBU is listed in <xref target="_table-pbu_type"/>. The detailed syntax and semantics of PBU is specified in section 5.3.2 and 5.3.3 of <xref target="RFC9924"/>.</t>
          <table anchor="_table-pbu_type">
            <name>List of PBU types</name>
            <thead>
              <tr>
                <th align="center">pbu_type</th>
                <th align="center">meaning</th>
                <th align="center">notes</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">0</td>
                <td align="center">reserved</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">1</td>
                <td align="center">primary frame</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">2</td>
                <td align="center">non-primary frame</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">3...24</td>
                <td align="center">reserved</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">25</td>
                <td align="center">preview frame</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">26</td>
                <td align="center">depth frame</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">27</td>
                <td align="center">alpha frame</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">28...64</td>
                <td align="center">reserved</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">65</td>
                <td align="center">access unit information</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">66</td>
                <td align="center">metadata</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">67</td>
                <td align="center">filler</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="center">68...255</td>
                <td align="center">reserved</td>
                <td align="center"> </td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="structure-of-apv-pbu-for-coded-frame">
          <name>Structure of APV PBU for coded frame</name>
          <t>The primitive bitstream unit which carries encoded video frames such as primary frame, non-primary frame, preview frame, depth frame or alpha frame, PBU carries a coded frame as shown in <xref target="APV-Frame_structure"/>. To support independent decoding of each frame, each coded frame starts with frame header. Frame header provides basic information for decoder configuration and bitstream processing. It includes profile, level, and band of the required decoder, width and height of frame, chroma format and bit depths of pixel data and so on. It also provide distance of capture time between the previously encoded frame and the current frame to indirectly indicate frame rates of encoded video. It can optionally contain color description or quantization matrix.</t>
          <t>As a video frame can be divided into multiple tiles there can be one or more pair of tile size and tile data in a frame. The information about the structure of tiles in a frame is carried in the frame header for random access of a certain tile and parallel decoding of tiles.</t>
          <t>A coded frame can optionally have filler at the end. The detailed syntax and semantics of frame and frame header are specified in section 5.3.4 and 5.3.5 of <xref target="RFC9924"/>, respectively.</t>
          <figure anchor="APV-Frame_structure">
            <name>A conceptual structure of APV PBU containing an encoded video frame</name>
            <artwork><![CDATA[
      
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PBU  size|PBU  header|frame  header|tile size|tile data|...| filler|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure>
        </section>
        <section anchor="structure-of-apv-pbu-for-access-unit-information">
          <name>Structure of APV PBU for access unit information</name>
          <t>When PBU carries access unit information, PBU data carries the data specified in 5.3.9 of <xref target="RFC9924"/>. Access unit information provides number of frames contained in access unit and the types of such frames and information to understand capability of the required decoder such as profile, level, band, the width and height of frame and so on without parsing frame header of all frames. Access unit information can optionally include filler at the end.</t>
        </section>
        <section anchor="structure-of-apv-pbu-for-metadata">
          <name>Structure of APV PBU for metadata</name>
          <t>When PBU carries metadata, PBU data carries metadata specified in 5.3.10 of <xref target="RFC9924"/>. Metadata starts with its size and can include more than one type of metadata where each consists of type, length and value of data. The list of type of metadata is defined in the section 8.2 of <xref target="RFC9924"/>.</t>
        </section>
        <section anchor="structure-of-apv-pbu-for-filler">
          <name>Structure of APV PBU for filler</name>
          <t>When PBU carries filler, PBU data carries filler specified in 5.3.11 of <xref target="RFC9924"/>. Filler can be used to make empty space with a certain size within an access unit to make the start position each frames aligned to be a multiple of certain size for fast parsing or to avoid rewriting of entire access unit during editing.</t>
        </section>
      </section>
    </section>
    <section anchor="packetizationrule">
      <name>Packetization rules</name>
      <section anchor="Generalrules">
        <name>General rules</name>
        <t>When APV bitstream is carried by RTP packets, the size of AU is added before the first PBU of each AUs as specified in section Appendix A. of <xref target="RFC9924"/>. The length of the AU size field, au_size, is 32 bits. Then the first byte of the field indicating the size of AU must be the first byte of a payload of an RTP packets when it is carried so that the start of an APV access unit can be always aligned with the start of the payload of an RTP packet. There MUST be no RTP packet carrying data from two different APV AUs.</t>
      </section>
      <section anchor="simplemode">
        <name>Simple mode</name>
        <t>In this mode an APV AU can be fragmented anywhere. The payload of RTP packets does not have to be aligned with beginning or end of any particular internal data structure of an APV bitstream. An example of this mode is shown in <xref target="simpleexample"/></t>
        <figure anchor="simpleexample">
          <name>Example of simple mode</name>
          <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AU size | PBU   |    PBU    | ... |   PBU | PBU |          PBU      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             |             \            /           |                |
|             |              \          /            |\               |
|             |\              \        /             | \              |
|             | \              \      /              |  \             |
+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+     +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+
|RTP packet #1|  |RTP packet #2| ... |RTP packet #k-1|  |RTP packet #k|
+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+     +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+

]]></artwork>
        </figure>
      </section>
      <section anchor="lowdelaymode">
        <name>Low delay mode</name>
        <t>In this mode both the first byte of each PBU except the one immediately following the field indicating the size of AU and the field indicating the size of each tile, tile_size specified in section 5.3.4 of <xref target="RFC9924"/>, MUST be aligned with the beginning of RTP packet payloads. The first byte of the tile_size_minus1 field MUST be the first byte of a RTP packet payload after payload header except the first one following frame_header. Metadata and filler data can be added to the payload after the last tile data of a coded frame. An example of this mode is shown in <xref target="lowdelayexample"/></t>
        <figure anchor="lowdelayexample">
          <name>Example of low delay mode</name>
          <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+      
|AU size| PBU header| frame header|tile size|...|tile size|tile data| filler|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                /|              \                          |
|                               / |                \                        | 
|                             /   |                  \                      |
|                           /     |                    \                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     +-+-+-+-+-+-+-+       +-+-+-+-+-+-+-+-+-+-+
|        RTP packet #1      |     |RTP packet #2|  ...  |   RTP packet #k   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     +-+-+-+-+-+-+-+       +-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <t>In this mode, frame header can be repeated in any packet containing the last part of a frame or a tile. When frame header is repeated it MUST be placed immediately after the end of tile data or filler data, if exist.</t>
      </section>
      <section anchor="RTPheaderusage">
        <name>RTP Header Usage</name>
        <t>The format of the RTP header is specified in <xref target="RFC3550"/> as reprinted below for convenience. This payload format uses the fields of the header in a manner consistent with that specification.</t>
        <figure anchor="rtp-header">
          <name>RTP Header According to [RFC3550]</name>
          <artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        <t>The RTP header information to be set according to this RTP payload format as follows and the usage of the fields not specified in this section follows the rules defined in <xref target="RFC3550"/> :</t>
        <t>Marker bit (M): 1 bit</t>
        <ul empty="true">
          <li>
            <t>set to 1 for the first packet of each APV AU, i.e. the packet containing the first byte of the field indicating the size of an APV AU.</t>
          </li>
        </ul>
        <t>Timestamp: 32 bits</t>
        <ul empty="true">
          <li>
            <t>The RTP timestamp is set to the sampling timestamp of an APV AU. A 90 kHz clock rate MUST be used. The RTP packets containing the data belong to a single APV AU MUST have same value for this field.</t>
          </li>
        </ul>
      </section>
      <section anchor="payloadheaderusage">
        <name>Payload Header Usage</name>
        <t>Each packet carries APV encoded bitstream MUST have a payload header as shown in <xref target="payload-header"/>.</t>
        <figure anchor="payload-header">
          <name>Payload Header</name>
          <artwork><![CDATA[
    0                   1                   2       
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=0|OM |PT |H|S|     FRAGMENT COUNTER (FC)     | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
]]></artwork>
        </figure>
        <t><strong>Version (V)</strong> : 2 bits</t>
        <ul empty="true">
          <li>
            <t>This field indicates the version of the payload header. The version of the header shown in <xref target="payload-header"/> MUST have '0' as the value of this field.</t>
          </li>
        </ul>
        <t><strong>Operation Mode (OM)</strong> : 2 bits</t>
        <ul empty="true">
          <li>
            <t>This field indicates which operation mode is used for packetization of the bitstream.</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul spacing="normal">
              <li>
                <t>00b : reserved</t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul spacing="normal">
              <li>
                <t>01b : simple mode as defined in <xref target="simplemode"/></t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul spacing="normal">
              <li>
                <t>10b : low-delay mode as defined in <xref target="lowdelaymode"/></t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul spacing="normal">
              <li>
                <t>11b : reserved</t>
              </li>
            </ul>
          </li>
        </ul>
        <t><strong>Payload Type (PT)</strong> : 2 bits</t>
        <ul empty="true">
          <li>
            <t>This field indicates the type of payload. Depending on the packetization mode the semantics of this field is slightly different. When a single packet carries entire frame in simple mode or tile in low delay mode then this field MUST be set to 01b.</t>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <t><em>For simple mode (OM == '01b')</em></t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>00b: neither the first payload nor the last payload</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>01b: the last payload of an APV AU</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>10b: the first payload of an APV AU</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>11b: reserved</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <t><em>For low delay mode (OM == '10b')</em></t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>00b: a payload containing the first byte of neither an APV PBU nor the first byte of a field indicating the size of tile</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>01b: a payload containing the first byte of an APV PBU</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>10b: a payload containing the first byte of a field indicating the size of tile</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <ul spacing="normal">
                      <li>
                        <t>11b: reserved</t>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t><strong>Frame Header repeated (H)</strong> : 1 bit</t>
        <ul empty="true">
          <li>
            <t>This field indicates that the frame header specified in section 5.3.5 of <xref target="RFC9924"/> is repeated in this payload. When the value of this field is equal to '1', the payload carries frame header. The value of this field MUST NOT be set to '1' when a payload carries a frame header at the beginning of a coded frame. The value of this field MUST be set to 1 when the value of OM field is equal to 10b and the value of PT field is either 01b or 10b and the payload carries a copy of the frame header already sent. When the value of the OM field is equal to 10b and the value of this field is equal to '1', the payload includes a copy of frame header data after the end of a tile data. If the payload carries the data from the last tile of a frame and there are filler then the copy of a frame header is carried after it. When the value of the OM field is equal to 01b then the value of this field is ignored.</t>
          </li>
        </ul>
        <t><strong>Static Frame Header (S)</strong> : 1 bit</t>
        <ul empty="true">
          <li>
            <t>This field indicates the values of frame header are identical except the value of capture_time_distance field with the immediately preceding coded frame sent. When the value of this field is equal to '1' for the RTP packet carrying the first byte of AU, it means that the values of frame header are identical except the value of capture_time_distance field with the last frame header of the AU immediately preceding this AU.</t>
          </li>
        </ul>
        <t><strong>Fragment Counter (FC)</strong> : 16 bit</t>
        <ul empty="true">
          <li>
            <t>This field indicates the number of remaining payloads, excluding the current one carrying the current APV AU or tile data, depending on the operation mode. When the value of the Operation Mode field is '01b', then the value of this field indicates the number of payloads carrying the bitstream from a same APV AU. When the value of the Operation Mode field is '10b', then the value of this field indicates the number of payloads carrying the bitstream from a same tile data. When there is a filler immediately after a tile data, such filler is considered as an integral part of the tile data. When there are APV PBUs carrying AU info, metadata or filler, they are considered as an integral part of an APV AU but tile data. When the value of the H field is equal to '1', the frame header repeated after the end of a tile data is considered as an integral part of the tile data. The value of this field carrying the last byte of an APV AU or tile data depending on the value of the OM field will be '0'.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="PayloadFormatParameters">
      <name>Payload Format Parameters</name>
      <section anchor="oparams">
        <name>Media Type Registration</name>
        <t>The receiver MUST ignore any parameter unspecified in this document.</t>
        <t>Type name: video</t>
        <t>Subtype name: apv</t>
        <t>Required parameters: N/A</t>
        <t>Optional parameters: profile-id, level-id, band-id</t>
        <t>Encoding considerations:</t>
        <ul empty="true">
          <li>
            <t>This type is only defined for transfer via RTP (RFC 3550).</t>
          </li>
        </ul>
        <t>Security considerations:</t>
        <ul empty="true">
          <li>
            <t>See <xref target="Security"/> of RFC 9924.</t>
          </li>
        </ul>
        <t>Interoperability considerations: N/A</t>
        <t>Published specification:</t>
        <ul empty="true">
          <li>
            <t>Please refer RFC on APV <xref target="RFC9924"/>.</t>
          </li>
        </ul>
        <t>Applications that use this media type:</t>
        <ul empty="true">
          <li>
            <t>Any application that relies on APV encoded video delivery over RTP</t>
          </li>
        </ul>
        <t>Fragment identifier considerations: N/A</t>
        <t>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information:</t>
        <ul empty="true">
          <li>
            <t>Youngkwon Lim (yklwhite@gmail.com)</t>
          </li>
        </ul>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: N/A</t>
        <t>Author: See Authors' Addresses section of RFC XXXX.</t>
        <t>Change controller:</t>
        <ul empty="true">
          <li>
            <t>IETF &lt;avtcore@ietf.org&gt;</t>
          </li>
        </ul>
        <section anchor="optionalParameters">
          <name>Definition of optional parameters</name>
          <t>profile-id:</t>
          <ul empty="true">
            <li>
              <t>When profile-id is not present, a value of 33 (i.e., the Baseline profile) MUST be inferred.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>When used to indicate properties of a bitstream, profile-id MUST be derived from the profile_idc field in the frame header. When there is more than one value of profile_idc field is found from frame headers then the largest value among them MUST be used.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>APV encoded data transported over RTP using the technologies of this document SHOULD refer only to frame header that have the same or smaller value in profile_idc.</t>
            </li>
          </ul>
          <t>level-id:</t>
          <ul empty="true">
            <li>
              <t>When level-id is not present, a value of 153 (corresponding to level 5.1, the highest level) MUST be inferred.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>When used to indicate properties of a bitstream, level-id MUST be derived from the level_idc field in the frame header. When there are more than one value of profile_idc field is found from frame headers then the largest value among them MUST be used.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>For either receiving or sending, all levels that are lower than the indicated level MUST also be supported.</t>
            </li>
          </ul>
          <t>band-id:</t>
          <ul empty="true">
            <li>
              <t>When band-id is not present, a value of 0 MUST be inferred.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>When used to indicate properties of a bitstream, band-id MUST be derived from the band_idc in the frame header. When there are more than one value of band_idc field is found from frame headers then the largest value among them MUST be used.</t>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>For either receiving or sending, all band that are lower than the indicated band MUST also be supported.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="sdpParam">
        <name>SDP Parameters</name>
        <t>The receiver MUST ignore any parameter unspecified in this document.</t>
        <section anchor="mapping-of-payload-type-parameters-to-sdp">
          <name>Mapping of Payload Type Parameters to SDP</name>
          <t>When Session Description Protocol (SDP) <xref target="RFC8866"/> is used to describe the sessions using this payload format the mapping is done as follows:</t>
          <ul spacing="normal">
            <li>
              <t>The media name in the "m=" line of SDP MUST be video.</t>
            </li>
            <li>
              <t>The encoding name in the "a=rtpmap" line of SDP MUST be apv (the media subtype).</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
            </li>
            <li>
              <t>The optional parameters profile-id and level-id, when present, MUST be included in the "a=fmtp" line of SDP. The fmtp line is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
          </ul>
          <t>As main application area of APV is high quality video capturing and editing, it is expected that generally one way APV session is offered over RTP using SDP in a declarative style. All parameters are used to indicate only bitstream properties. For example, in this case, the parameters profile-id and level-id declare the values used by the bitstream, not the capabilities for receiving bitstreams. An example of media representation in SDP for such case is as follows:</t>
          <artwork><![CDATA[
        m=video 49170 RTP/AVP 98
        a=rtpmap:98 apv/90000
        a=fmtp:98 profile-id=30; level-id=153; band-id=0;         
]]></artwork>
          <t>The above represents a stream of data using <xref target="RFC9924"/> and its payload specification at the baseline profile and level 5.1.</t>
          <t>It is not expected that <xref target="RFC9924"/> is offered over RTP using SDP in and Offer/Answer model with negotiation.</t>
        </section>
      </section>
    </section>
    <section anchor="CC">
      <name>Congestion Control</name>
      <t>Congestion control for RTP SHALL be used in accordance with RTP <xref target="RFC3550"/> and with any applicable RTP profile, e.g., AVP <xref target="RFC3551"/>. If best-effort service is being used, an additional requirement is that users of this payload format MUST monitor packet loss to ensure that the packet loss rate is within an acceptable range. Packet loss is considered acceptable if a TCP flow across the same network path and experiencing the same network conditions would achieve an average throughput, measured on a reasonable timescale, that is not less than all RTP streams combined are achieved. This condition can be satisfied by implementing congestion-control mechanisms to adapt the transmission rate, by implementing the number of layers subscribed for a layered multicast session, or by arranging for a receiver to leave the session if the loss rate is unacceptably high.</t>
      <t>The bitrate adaptation necessary for obeying the congestion control principle is easily achievable when real-time encoding is used, for example, by adequately tuning the quantization parameter. However, when pre-encoded content is being transmitted, bandwidth adaptation requires the pre-coded bitstream to be tailored for such adaptivity. Regardless of the method used for bandwidth adaptation, the resulting bitstream MUST be compliant with <xref target="RFC9924"/>.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>The scope of this section is limited to the payload format itself and to one feature of <xref target="RFC9924"/> that may pose a particularly serious security risk if implemented naively. Implementers are advised to read and understand relevant security-related documents, especially those pertaining to RTP (see the Security Considerations section in <xref target="RFC3550"/>). Implementers should also consider known security vulnerabilities of video coding and decoding implementations in general and avoid those.</t>
      <t>Within this RTP payload format no security threats other than those common to RTP payload formats are known. In other words, neither the various media-plane-based mechanisms nor the signaling part of this document seem to pose a security risk beyond those common to all RTP-based systems.</t>
      <t>Because the data compression used with this payload format is applied end-to-end, any encryption needs to be performed after compression. A potential denial-of-service threat exists for data encodings using compression techniques that have non-uniform receiver-end computational load.  The attacker can inject pathological datagrams into the bitstream that are complex to decode and that cause the receiver to be overloaded.</t>
      <t>APV data can include user-data as a part of metadata. <xref target="RFC9924"/> does not specify how to process such data. Depending on the user-data, it might be possible for a sender to generate user-data in a manner to crash the receiver. Receivers must ensure that it knows the format of user-data and trust the sender before it processes user-data. In any case, processing of user-data is not required for decoding of APV data. So, receivers do not have to try to process unknown user-data.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>A new media type, as specified in <xref target="oparams"/> of this document, is to be registered with IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC3551">
          <front>
            <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This document describes a profile called "RTP/AVP" for the use of the real-time transport protocol (RTP), version 2, and the associated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control. It provides interpretations of generic fields within the RTP specification suitable for audio and video conferences. In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may be carried within RTP. It defines a set of standard encodings and their names when used within RTP. The descriptions provide pointers to reference implementations and the detailed standards. This document is meant as an aid for implementors of audio, video and other real-time multimedia applications. This memorandum obsoletes RFC 1890. It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found. The additions to RFC 1890 codify existing practice in the use of payload formats under this profile and include new payload formats defined since RFC 1890 was published. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="65"/>
          <seriesInfo name="RFC" value="3551"/>
          <seriesInfo name="DOI" value="10.17487/RFC3551"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC9924">
          <front>
            <title>Advanced Professional Video</title>
            <author fullname="Y. Lim" initials="Y." surname="Lim"/>
            <author fullname="M. Park" initials="M." surname="Park"/>
            <author fullname="M. Budagavi" initials="M." surname="Budagavi"/>
            <author fullname="R. Joshi" initials="R." surname="Joshi"/>
            <author fullname="K. Choi" initials="K." surname="Choi"/>
            <date month="February" year="2026"/>
            <abstract>
              <t>This document describes the bitstream format of Advanced Professional Video (APV) and its decoding process. APV is a professional video codec providing visually lossless compression mainly for recording and post production.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9924"/>
          <seriesInfo name="DOI" value="10.17487/RFC9924"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="OpenAPV" target="https://github.com/AcademySoftwareFoundation/openapv">
          <front>
            <title>OpenAPV</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="AOSP16APV" target="https://developer.android.com/about/versions/16/features#apv">
          <front>
            <title>Android open source project version 16</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="FFmpegAPVdec" target="https://ffmpeg.org/download.html#release_8.0">
          <front>
            <title>FFmpeg implementation of APV decoder</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="November" day="20"/>
          </front>
        </reference>
        <reference anchor="FFmpegAPVenc" target="https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/fab691edaf53bbf10429ef3448f1f274e5078395">
          <front>
            <title>FFmpeg implementation of APV encoder</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="May" day="04"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
daqkFUEKtciysb8+/YDlGNS887+4qZHgNXsAAA==

-->

</rfc>
