-
Notifications
You must be signed in to change notification settings - Fork 120
Add av1 codec feature support #736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -244,8 +244,7 @@ | |
| <para>IETF RFC 2435, RFC2435 - RTP Payload Format for JPEG-compressed Video</para> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc2435.txt"></link>></para> | ||
| <para>IETF RFC 3016, RTP Payload Format for MPEG-4 Audio/Visual Streams</para> | ||
| <programlisting><![CDATA[http://www.ietf.org/rfc/rfc3016.txt | ||
| ]]></programlisting> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc3016.txt"></link>></para> | ||
| <para>IETF RFC 3550, RTP: A Transport Protocol for Real-Time Applications</para> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc3550.txt"></link>></para> | ||
| <para>IETF RFC 3551, RTP Profile for Audio and Video Conferences with Minimal Control</para> | ||
|
|
@@ -280,6 +279,10 @@ | |
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc7826.txt"></link>></para> | ||
| <para>IETF RFC 8285, A General Mechanism for RTP Header Extensions</para> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.ietf.org/rfc/rfc8285.txt"></link>></para> | ||
| <para>AV1 Bitstream and Decoding Process Specification</para> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://aomediacodec.github.io/av1-spec/"></link>></para> | ||
| <para>RTP Payload Format For AV1</para> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://aomediacodec.github.io/av1-rtp-spec"></link>></para> | ||
| <para>GZIP file format specification version 4.3</para> | ||
| <para role="reference"><<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc1952"></link>></para> | ||
| <para>Apple Computer Inc. RTSP over HTTP, Tunneling QuickTime RTSP and RTP over HTTP</para> | ||
|
|
@@ -521,6 +524,10 @@ | |
| <para>Efficient XML Interchange Format</para> | ||
| </entry> | ||
| </row> | ||
| <row> | ||
| <entry valign="middle">OBU</entry> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we really need to define OBU? We have not defined NAL. If you have to explicitly state OBU somewhere you then have to explicitly state NAL for the same reason.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have added this because I referred this in the text, if we can avoid reference in text this can be removed. |
||
| <entry valign="middle">Open Bitstream Unit, related to AV1 bistream format.</entry> | ||
| </row> | ||
| </tbody> | ||
| </tgroup> | ||
| </informaltable> | ||
|
|
@@ -568,6 +575,11 @@ | |
| <para>HEVC [ISO23008-2]</para> | ||
| </listitem> | ||
| </itemizedlist> | ||
| <itemizedlist> | ||
| <listitem> | ||
| <para>AV1 [AOM AV1 Bitstream & Decoding Process Specification]</para> | ||
| </listitem> | ||
| </itemizedlist> | ||
| <para>and for the following audio codecs:</para> | ||
| <itemizedlist> | ||
| <listitem> | ||
|
|
@@ -625,6 +637,8 @@ | |
| <title>RTP</title> | ||
| <para>The Real-time Transport Protocol provides real-time transfer for media streams between two end points. The RTP protocol provides support for re-ordering, de-jittering and media synchronization.</para> | ||
| <para>All media streams transferred by the RTP protocol shall conform to [RFC 3550], [RFC 3551], [RFC 3984], [RFC 7798], [RFC 3016] or [RFC 3640], and JPEG over RTP (see Section <xref linkend="_Toc214944378" />).</para> | ||
| <para>For AV1 video transported over RTP, the RTP payload format defined in [RTP Payload | ||
| Format for AV1] shall be used.</para> | ||
| <figure> | ||
| <title>RTP header</title> | ||
| <mediaobject> | ||
|
|
@@ -708,7 +722,10 @@ | |
| <para>0/1</para> | ||
| </entry> | ||
| <entry> | ||
| <para>The usage shall be conform to related RFCs (e.g. [RFC 3984] for H.264 Video) or to this standard e.g “JPEG over RTP” (see Section <xref linkend="_Toc214944378" />) or RTP streaming of metadata (see Section <xref linkend="_Ref213223702" />).</para> | ||
| <para>The usage shall be conform to related RFCs (e.g. [RFC 3984] for H.264 | ||
| Video) or to this standard e.g “JPEG over RTP” (see Section <xref | ||
| linkend="_Toc214944378"/>) or RTP Payload Format For AV1 or RTP streaming of | ||
| metadata (see Section <xref linkend="_Ref213223702"/>).</para> | ||
| </entry> | ||
| </row> | ||
| <row> | ||
|
|
@@ -876,6 +893,9 @@ | |
| <para>The WebService based methods require to support the Synchronization Point request as defined in the section “Synchronization Point” of the ONVIF Media Service Specification. </para> | ||
| <para>In addition it is recommended to support the PLI messages as described in [RFC 4585] in order to allow receivers as defined in the ONVIF Receiver Service Specification to request a Synchronization Point. </para> | ||
| <para>For H.264 and H.265 Video the SPS/PPS header shall be sent in-band if these have been changed during the transmission.</para> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Out-of-scope, but why is not VPS for H.265 mentioned? Can't that be changed during transmission?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can add VPS as part of this edit to keep it consistent? |
||
| <para>For AV1 video, the device shall generate a Key Frame in response to a synchronization | ||
| point request. If the Sequence Header OBU changes during transmission, it shall be sent | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can remove "OBU". It is implicit when you mention AV1, just like we don't write "SPS/PPS NAL" for H.26x in the paragraph above.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't have any objection to remove it. |
||
| in-band prior to or together with the Key Frame.</para> | ||
| </section> | ||
| <section xml:id="_Ref289166764"> | ||
| <title>JPEG over RTP</title> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This link goes to a WIP document. You get the following notice:
"Notice
This is an internal AOMedia working document and not an approved version of the AV1 specification. The approved AV1 bitstream specification can be found here: https://aomediacodec.github.io/av1-spec/av1-spec.pdf"
Probably better to point to the explicit pdf.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason we were referring to the 'home' link instead of specific document is, we don't want to keep maintaining the versions on our end.