[FFmpeg-devel] [PATCH] avformat/mov: Add support for uuid-based senc box

Hendi finalcountdown72 at googlemail.com
Fri Jun 9 23:35:12 EEST 2023


Attached.
-------------- next part --------------
From eca7929274b9bfd7c5aa8a76177dafaa57ab91a5 Mon Sep 17 00:00:00 2001
From: Hendi <hendi48 at freenet.de>
Date: Fri, 9 Jun 2023 01:46:30 +0200
Subject: [PATCH] avformat/mov: Add support for uuid-based senc box

In PIFF-branded mp4 files, the senc data comes in a uuid box.

Signed-off-by: Hendi <hendi48 at freenet.de>
---
 libavformat/mov.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 2e4df42256..1cfa14e7b4 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -6256,6 +6256,8 @@ out:
     return ret;
 }
 
+static int mov_read_senc(MOVContext *c, AVIOContext *pb, MOVAtom atom);
+
 static int mov_read_uuid(MOVContext *c, AVIOContext *pb, MOVAtom atom)
 {
     AVStream *st;
@@ -6274,6 +6276,10 @@ static int mov_read_uuid(MOVContext *c, AVIOContext *pb, MOVAtom atom)
         0xff, 0xcc, 0x82, 0x63, 0xf8, 0x55, 0x4a, 0x93,
         0x88, 0x14, 0x58, 0x7a, 0x02, 0x52, 0x1f, 0xdd,
     };
+    static const AVUUID uuid_piff_senc = {
+        0xa2, 0x39, 0x4f, 0x52, 0x5a, 0x9b, 0x4f, 0x14,
+        0xa2, 0x44, 0x6c, 0x42, 0x7c, 0x64, 0x8d, 0xf4
+    };
 
     if (atom.size < AV_UUID_LEN || atom.size >= FFMIN(INT_MAX, SIZE_MAX))
         return AVERROR_INVALIDDATA;
@@ -6356,6 +6362,8 @@ static int mov_read_uuid(MOVContext *c, AVIOContext *pb, MOVAtom atom)
             return ret;
         if (!sc->spherical)
             av_log(c->fc, AV_LOG_WARNING, "Invalid spherical metadata found\n");
+    } else if (av_uuid_equal(uuid, uuid_piff_senc)) {
+        mov_read_senc(c, pb, atom);
     }
 
     return 0;
-- 
2.40.0.windows.1



More information about the ffmpeg-devel mailing list