Ballot for draft-ietf-avtcore-rtp-jpegxs-3ed

Discuss

Éric Vyncke
Mahesh Jethanandani
Mohamed Boucadair

Yes

Gorry Fairhurst

No Objection

Andy Newton
Charles Eckel
Christopher Inacio
Deb Cooley
Jim Guichard
Ketan Talaulikar
Mike Bishop
Roman Danyliw

No Record

Gunter Van de Velde
Tommy Jensen

Summary: Has 3 DISCUSSes. Needs one more YES or NO OBJECTION position to pass.

Éric Vyncke
Discuss
Discuss (2026-07-06) Sent
# Éric Vyncke INT AD comments for draft-ietf-avtcore-rtp-jpegxs-3ed-03
CC @evyncke

Thank you for the work put into this document.

Please find below some blocking DISCUSS points (easy to address), some non-blocking COMMENT points/nits (replies would be appreciated even if only for my own education).

I hope that this review helps to improve the document,

Regards,

-éric

Note: this ballot comments follow the Markdown syntax of https://github.com/mnot/ietf-comments/tree/main, i.e., they can be processed by a tool to create github issues.

## DISCUSS (blocking)

As noted in https://datatracker.ietf.org/doc/statement-iesg-handling-ballot-positions-20220121/, a DISCUSS ballot is a request to have a discussion on the points below; I really think that the document would be improved with a change here, but can be convinced otherwise.

### Section 4.4

Why not a "MUST NOT" in `Moreover, any changed value in the boxes SHOULD NOT violate any restrictions imposed by the application layer.` ?

See also https://datatracker.ietf.org/doc/statement-iesg-statement-on-clarifying-the-use-of-bcp-14-key-words/ requiring guidance for the use of SHOULD (e.g., "else the receiver won't be able to decode").

### Section 5

Beside the ambiguous use of "SHOULD" in `In such a case, the session description SHOULD signal the compliance with the media type parameter TP.` how can this compliance be signaled ? If described in this I-D or in another reference, then add a normative reference to it.

### Section 6

Even if semi-obvious, please explain what will happen if the 2 "SHOULD" in this section are not followed.

### Section 7.1

This section also contains several BCP14 "SHOULD" that could probably be "MUST".
Comment (2026-07-06) Sent
## COMMENTS (non-blocking)

### Med's DISCUSS

I support Med's DISCUSS issue about the use of RECOMMENDED in section 5 making SMPTE2110-21 a normative reference. As a side note, this "RECOMMENDED" has rightfully the guidance.

### SHALL vs. MUST

It is a matter of taste of course, but a BCP14 "MUST" is clearer than a BCP14 "SHALL" even if they are semantically identical.

### Section 9

Using a sentence such as `IANA is asked to change all registration information that references [RFC9134] to instead reference [RFCXXXX]` is putting the onus on IANA to do the job.

### Use of SVG graphics

To make a much nicer HTML rendering, suggest using the aasvg tool to generate SVG graphics. It is worth a try especially if the I-D uses the Kramdown file format ;-)
Mahesh Jethanandani
Discuss
Discuss (2026-07-07) Sent
I have a single DISCUSS which should be simple to fix.

ection 4.2, RTP Header Usage, Timestamp field:

534 >    used.  If the sampling instant does not correspond to an integer
535 >    value of the clock, the value SHALL be rounded up to the next
536 >    lowest integer, with no ambiguity.

This sentence is self-contradictory as written: "rounded up" means the value moves to the next *highest* integer, while "the next lowest integer" means the opposite. Taken literally, a compliant implementation cannot satisfy both instructions at once, which is a strange result for a sentence that ends by asserting "with no ambiguity."

I compared this against RFC 9134, which this document obsoletes. RFC 9134 Section 4.2 says the value "SHALL be truncated to the next lowest integer, with no ambiguity" — a clear, internally consistent statement (truncation and "next lowest integer" agree). It looks to me like "truncated" was changed to "rounded up" somewhere in the revision process while "next lowest integer" was left untouched, producing the contradiction.

I would ask the authors to restore consistency here, e.g. by reverting to "truncated to the next lowest integer" (or otherwise picking one direction and matching the wording to it).
Comment (2026-07-07) Sent
Section 7.1, Optional parameters, "interlace" and "segmented":

1025 >       interlace:  If this parameter name is present, it indicates that
1026 >          the video is interlaced, or that the video is Progressive
1027 >          segmented Frame (PsF).  If this parameter name is not present,
1028 >          the progressive video format SHALL be assumed.
1029 >
1030 >       segmented:  If this parameter name is present, and the interlace
1031 >          parameter name is also present, then the video is a Progressive
1032 >          segmented Frame (PsF).  Signaling of this parameter without the
1033 >          interlace parameter is forbidden.

Progressive segmented Frame (PsF) is introduced here as something a sender can negotiate via SDP, but I could not find it mentioned anywhere else in the document — not in the terminology of Section 2, not in the packetization description of Section 4.1, and not in the Interlaced information (I) field description of Section 4.3, which only defines values for progressive (00) and the two fields of an interlaced frame (10/11). Structurally, a PsF frame is a full progressive frame, not two picture segments each covering half the frame height, so it's not obvious to me whether I=00 is the correct payload-header setting for PsF content, or whether some other treatment is intended. I checked, and this gap is inherited unchanged from RFC 9134, so it's not something -03 introduced. But given that this revision otherwise goes out of its way to add clarifications for implementers (Section 11 lists several), I'd suggest the authors take the opportunity to either add a sentence tying PsF signaling to a specific I-field/packetization treatment, or note explicitly that PsF is only an SDP-level declaration with no distinct RTP-level handling.

----------------------------------------------------------------------
NIT
----------------------------------------------------------------------

All comments below are about very minor potential issues that you may
choose to address in some way - or ignore - as you see fit. Some were
flagged by automated tools (via
https://github.com/larseggert/ietf-reviewtool), so there will likely
be some false positives. There is no need to let me know what you did
with these suggestions.

Section 3.4, JPEG XS frame and picture segment:

344 >    In the case of a progressive video stream, each JPEG XS frame
345 >    consists of one single JPEG XS picture segment.

s/one single JPEG XS picture segment/a single JPEG XS picture segment/
Mohamed Boucadair
Discuss
Discuss (2026-06-29 for -02) Sent
Hi Tim, Thomas, Corentin, and Antonin, 

Thank you for the effort put into this specification. Appreciate in particular the operational considerations section and the discussion on backward compatibility.

I used https://author-tools.ietf.org/diff?doc_1=RFC9134&doc_2=draft-ietf-avtcore-rtp-jpegxs-3ed&wdiff=1 for my review.

Please find below some points for DISCUSSion:

# 21122-1 ISO/IEC

ISO/IEC 21122-1:2024 - Information technology — JPEG XS low-latency lightweight image coding system — Part 1: Core coding system indicates that it has an amendment (https://www.iso.org/standard/85247.html#amendment) on slice synchronous metadata. 

## I don’t have access to the ISO/IEC specs that are listed in the document, so I can’t assess whether this amendment impacts any part of this spec. Can we please clarify?

## BTW, can we please refer to an explicit version of the spec: ISO/IEC 21122-1:2024?

# Compliance/SMPTE2110-21

CURRENT:
   In order to facilitate proper synchronization between senders and
   receivers, it is RECOMMENDED to implement traffic shaping and
   delivery timing in accordance with the Network Compatibility Model
   compliance definitions specified in [SMPTE2110-21].  In such a case,
   the session description SHALL signal the compliance with the media
   type parameter TP.

I’m afraid assessing this compliance requires [SMPTE2110-21], which makes it normative.

# Class of services

CURRENT: 
   Accordingly, if best-effort service is being used, users of this
   payload format SHALL monitor packet loss to ensure that the packet
   loss rate is within acceptable parameters.  

   If enhanced service is being used,
   receivers SHOULD monitor packet loss to ensure that the service that
   was requested is actually being delivered.

## I don’t understand the rationale that led to these SHALL/SHOULD behaviors. 

## If we have to put a requirement, I would intuitively intervert the SHALL/SHOULD above as there are no guarantees for the BE class, while there might be for other classes. 

## Similar to how this same point was addressed in a https://author-tools.ietf.org/iddiff?url1=draft-ietf-avtcore-rtp-v3c-15&url2=draft-ietf-avtcore-rtp-v3c-16&difftype=--html, a simple fix would to have the SHALL monitor for all traffic users without any restriction on the class of service.

# Ambiguity; 

CURRENT:
   If it is not, then they
   SHOULD assume that they are receiving best-effort service and behave
   accordingly.

It is not clear what “is not” in the text above. Is this is when no “enhanced service is being used”? but in that case you already have a MUST …

Please clarify. Thanks.

# BT* 

CURRRENT:
         Signals utilizing the non-constant luminance Y'C'B C'R signal
         format of [BT601-7], [BT709-6], [BT2020-2], or [BT2100-2] SHALL
         use the appropriate one of the following values for the Media
         Type Parameter "sampling":

         …

         Signals utilizing the Constant Luminance Y'C C'BC C'RC signal
         format of [BT2020-2] SHALL use the appropriate one of the
         following values for the Media Type Parameter "sampling":

         ..
         Signals utilizing the constant intensity I CT CP signal format
         of [BT2100-2] SHALL use the appropriate one of the following
         values for the Media Type Parameter "sampling":
         …
         Signals utilizing the [BT2100-2] colorimetry SHOULD also signal
         the representational range using the optional parameter RANGE
         ..

These formats are normative for these SHALL/SHOULD. Unless I’m missing something, these need to be fixed.
Comment (2026-06-29 for -02) Sent
# Set: bits can be set to 1 or 0

OLD:
      The T bit is set to indicate that packets are sent sequentially by
      the transmitter.

NEW: 
      The T bit is set to 1 to indicate that packets are sent sequentially by
      the transmitter.

OLD:  The K bit is set to indicate which packetization mode is used.

NEW: The K bit is set to 1 to indicate which packetization mode is used.

OLD:
      The L bit is set to indicate the last packet of a packetization
      unit. 

NEW:
      The L bit is set to 1 to indicate the last packet of a packetization
      unit. 

OLD: the L bit is set whenever the M bit is set. 

NEW: the L bit is set to 1 whenever the M bit is set to 1. 

(alternatively, you can have a note in the terminology section that says that "set" means "set to 1").

# Strengthen the behavior?

CURRENT:
   In addition, [RFC8083] is an update to [RFC3550] that defines
   criteria for when one is required to stop sending RTP Packet Streams
   and which can be used for relevant applications.

   Finally, [RFC8085] provides additional information on the best
   practices for applying congestion control to UDP streams.

Both 8083 and 8085 are cited as normative but how these are called out in the text a bit loose.

If the current wording is maintained, I think these two RFCs should be then listed as Informative.

# You may consider adding an appendix that lists the changes vs. RFC9143

Cheers,
Med
Gorry Fairhurst
Yes
Andy Newton
No Objection
Comment (2026-07-07) Not sent
I support Éric's DISCUSS on the BCP14 language.
Charles Eckel
No Objection
Comment (2026-07-07) Sent
# Charles Eckel, ART AD, comments for draft-ietf-avtcore-rtp-jpegxs-3ed-03 
CC @eckelcu

* line numbers:
  - https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-avtcore-rtp-jpegxs-3ed-03.txt&submitcheck=True

* comment syntax:
  - https://github.com/mnot/ietf-comments/blob/main/format.md

* "Handling Ballot Positions":
  - https://ietf.org/about/groups/iesg/statements/handling-ballot-positions/

## Comments

### Default value for fbblevel

The fbblevel parameter is listed as optional, but the text does not explicitly state the default behavior or value if the parameter is omitted in an SDP offer.

985        Optional parameters:
:
1007          fbblevel:  The JPEG XS frame buffer level [ISO21122-2] in use.

1009             Any white space Unicode character in the fbblevel name SHALL be
1010             omitted.  Examples of valid frame buffer levels are
1011             'Fbblev3bpp' or 'Fbblev12bpp'.

Would it be helpful to add a sentence to the fbblevel description such as, "If the parameter is not specified, it SHALL be assumed that the TDC coding mode is not used, or that the frame buffer level is zero."

I ask this in reference to the newly added fbblevel parameter, but I see there are other optional parameters for which no default behavior or value is specified.
Christopher Inacio
(was No Record, No Objection) No Objection
Comment (2026-07-08) Sent for earlier
Thanks to Hilarie O for the SECDIR review.
Deb Cooley
No Objection
Comment (2026-07-07) Sent
Thanks to Hilarie Orman for their secdir review.

This is well outside my area of expertise. 

Section 10, para 2:  While the real answer is to update RFC 7201 (it is 12 years old, crypt doesn't usually age well), the immediate option might be to suggest that there are newer options for TLS (RFC8446 - which could be updated to RFC 9846 when published), and DTLS (RFC9147 - not widely implemented, to be fair). It does point to current IPsec RFCs, although AH isn't used much anymore.  I didn't have time to look up whether SRTP has been updated, although there are options in RFC 7201 that I certainly wouldn't recommend today.  The same goes for MIKEY and and ZRTP (have they been updated since 2014?).
Jim Guichard
No Objection
Ketan Talaulikar
No Objection
Mike Bishop
No Objection
Roman Danyliw
No Objection
Gunter Van de Velde
No Record
Tommy Jensen
No Record