{ AV_CODEC_ID_JPEGXS , 0x6F }, /* ISO/IEC 21122-3 */
0x6F is not yet defined when I look into
https://mp4ra.org/registered-types/object-types
It is the next one after: 6E Visual ISO/IEC 15444-1 (JPEG 2000), so I hope 6F
for JPEGXS is correct.
ISO/IEC 21122-3 is correct: https://mp4ra.org/references#JPXS
I cannot find any codec specific box for JPEGXS at:
https://mp4ra.org/registered-types/codecs, look for: Box types contained in
specific Sample Entries table.
________________________________________
From: James Almer
Sent: Friday, April 10, 2026 00:39
To: Rys, Grzegorz; [email protected]
Subject: Re: [PATCH 1/3] Allow JPEG XS to be stored in mp4/mkv container
On 4/8/2026 3:35 AM, Rys, Grzegorz wrote:
>
>
>
> ________________________________________
> From: James Almer
> Sent: Tuesday, April 7, 2026 15:35
> To: Grzegorz Rys; [email protected]
> Cc: Tomasz Szumski
> Subject: Re: [PATCH 1/3] Allow JPEG XS to be stored in mp4/mkv container
>
> On 4/7/2026 9:21 AM, Grzegorz Rys wrote:
>> From: Tomasz Szumski <[email protected]>
>>
>> ---
>> libavformat/isom.c | 1 +
>> libavformat/isom_tags.c | 1 +
>> libavformat/movenc.c | 1 +
>> 3 files changed, 3 insertions(+)
>>
>> diff --git a/libavformat/isom.c b/libavformat/isom.c
>> index 29171fea40..283999bbfb 100644
>> --- a/libavformat/isom.c
>> +++ b/libavformat/isom.c
>> @@ -55,6 +55,7 @@ const AVCodecTag ff_mp4_obj_type[] = {
>> { AV_CODEC_ID_MJPEG , 0x6C }, /* 10918-1 */
>> { AV_CODEC_ID_PNG , 0x6D },
>> { AV_CODEC_ID_JPEG2000 , 0x6E }, /* 15444-1 */
>> + { AV_CODEC_ID_JPEGXS , 0x6F }, /* ??? */
>
> Does this follow the definition in ISO/IEC 21122-3?
>
>> { AV_CODEC_ID_VC1 , 0xA3 },
>> { AV_CODEC_ID_DIRAC , 0xA4 },
>> { AV_CODEC_ID_AC3 , 0xA5 },
>> diff --git a/libavformat/isom_tags.c b/libavformat/isom_tags.c
>> index 1cd655b06c..6f193196ca 100644
>> --- a/libavformat/isom_tags.c
>> +++ b/libavformat/isom_tags.c
>> @@ -213,6 +213,7 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
>> { AV_CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', '2', 'v') }, /* FCP5 */
>>
>> { AV_CODEC_ID_JPEG2000, MKTAG('m', 'j', 'p', '2') }, /* JPEG 2000
>> produced by FCP */
>> + { AV_CODEC_ID_JPEGXS, MKTAG('j', 'x', 's', ' ') }, /* JPEGXS */
>
> Ditto.
>
> Also, the description for ISO/IEC 21122-3 seems to indicate there are
> JPEG-XS specific boxes, I'd expect one in the Visual Sample Entry for
> the corresponding Sample Description Box.
>
>>
>> { AV_CODEC_ID_TARGA, MKTAG('t', 'g', 'a', ' ') }, /* Truevision Targa
>> */
>> { AV_CODEC_ID_TIFF, MKTAG('t', 'i', 'f', 'f') }, /* TIFF embedded in
>> MOV */
>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>> index fe6b259561..770681db8b 100644
>> --- a/libavformat/movenc.c
>> +++ b/libavformat/movenc.c
>> @@ -8898,6 +8898,7 @@ static const AVCodecTag codec_mp4_tags[] = {
>> { AV_CODEC_ID_MJPEG, MKTAG('m', 'p', '4', 'v') },
>> { AV_CODEC_ID_PNG, MKTAG('m', 'p', '4', 'v') },
>> { AV_CODEC_ID_JPEG2000, MKTAG('m', 'p', '4', 'v') },
>> + { AV_CODEC_ID_JPEGXS, MKTAG('j', 'x', 's', ' ') },
>> { AV_CODEC_ID_VC1, MKTAG('v', 'c', '-', '1') },
>> { AV_CODEC_ID_DIRAC, MKTAG('d', 'r', 'a', 'c') },
>> { AV_CODEC_ID_TSCC2, MKTAG('m', 'p', '4', 'v') },
>
> Updated patch:
>
> From 29f918767fac1974d290a36a1c03dd9ed9fc111e Mon Sep 17 00:00:00 2001
> From: Grzegorz Rys <[email protected]>
> Date: Mon, 30 Oct 2023 06:49:02 +0100
> Subject: [PATCH 1/3] Allow JPEG XS to be stored in mp4 and mkv containers
>
> ---
> libavformat/isom.c | 1 +
> libavformat/isom_tags.c | 1 +
> libavformat/movenc.c | 1 +
> 3 files changed, 3 insertions(+)
>
> diff --git a/libavformat/isom.c b/libavformat/isom.c
> index 1a2b3c4d5e..5f6e7f8e9d 100644
> --- a/libavformat/isom.c
> +++ b/libavformat/isom.c
> @@ -54,6 +54,7 @@ const AVCodecTag ff_mp4_obj_type[] = {
> { AV_CODEC_ID_MP3 , 0x6B }, /* 11172-3 */
> { AV_CODEC_ID_MJPEG , 0x6C }, /* 10918-1 */
> { AV_CODEC_ID_PNG , 0x6D },
> { AV_CODEC_ID_JPEG2000 , 0x6E }, /* 15444-1 */
> + { AV_CODEC_ID_JPEGXS , 0x6F }, /* ISO/IEC 21122-3 */
Can you confirm this value comes from that spec? Also, is there no codec
specific box defined in it that would need to be parsed too?
> { AV_CODEC_ID_VC1 , 0xA3 },
> { AV_CODEC_ID_DIRAC , 0xA4 },
>
> diff --git a/libavformat/isom_tags.c b/libavformat/isom_tags.c
> index 1cd655b06c..6f193196ca 100644
> --- a/libavformat/isom_tags.c
> +++ b/libavformat/isom_tags.c
> @@ -213,6 +213,7 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
> { AV_CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', '2', 'v') }, /* FCP5 */
>
> { AV_CODEC_ID_JPEG2000, MKTAG('m', 'j', 'p', '2') }, /* JPEG 2000
> produced by FCP */
> + { AV_CODEC_ID_JPEGXS, MKTAG('j', 'x', 's', ' ') }, /* JPEGXS */
>
> { AV_CODEC_ID_TARGA, MKTAG('t', 'g', 'a', ' ') }, /* Truevision Targa */
> { AV_CODEC_ID_TIFF, MKTAG('t', 'i', 'f', 'f') }, /* TIFF embedded in
> MOV */
>
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index 8f9e7d5c6b..abcdef123456 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -8897,6 +8897,7 @@ static const AVCodecTag codec_mp4_tags[] = {
> { AV_CODEC_ID_PNG, MKTAG('m', 'p', '4', 'v') },
> { AV_CODEC_ID_JPEG2000, MKTAG('m', 'p', '4', 'v') },
> + { AV_CODEC_ID_JPEGXS, MKTAG('j', 'x', 's', ' ') },
> { AV_CODEC_ID_VC1, MKTAG('v', 'c', '-', '1') },
> { AV_CODEC_ID_DIRAC, MKTAG('d', 'r', 'a', 'c') },
> { AV_CODEC_ID_TSCC2, MKTAG('m', 'p', '4', 'v') },
> { AV_CODEC_ID_VP9, MKTAG('v', 'p', '0', '9') },
> ---------------------------------------------------------------------
> Intel Technology Poland sp. z o.o.
> ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII
> Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP
> 957-07-52-316 | Kapital zakladowy 200.000 PLN.
> Spolka oswiadcza, ze posiada status duzego przedsiebiorcy w rozumieniu ustawy
> z dnia 8 marca 2013 r. o przeciwdzialaniu nadmiernym opoznieniom w
> transakcjach handlowych.
>
> Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i
> moze zawierac informacje poufne. W razie przypadkowego otrzymania tej
> wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie;
> jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
> This e-mail and any attachments may contain confidential material for the
> sole use of the intended recipient(s). If you are not the intended recipient,
> please contact the sender and delete all copies; any review or distribution
> by others is strictly prohibited.
>
---------------------------------------------------------------------
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial
Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 |
Kapital zakladowy 200.000 PLN.
Spolka oswiadcza, ze posiada status duzego przedsiebiorcy w rozumieniu ustawy z
dnia 8 marca 2013 r. o przeciwdzialaniu nadmiernym opoznieniom w transakcjach
handlowych.
Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i
moze zawierac informacje poufne. W razie przypadkowego otrzymania tej
wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie;
jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). If you are not the intended recipient, please
contact the sender and delete all copies; any review or distribution by others
is strictly prohibited.
_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]