From e013abed63f8d05aa2a7d5599d05fa038340aed1 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos@ag.or.at>
Date: Tue, 15 May 2012 07:41:23 +0200
Subject: [PATCH] Read and write APRG mov atom to allow AVUI streamcopy.

---
 libavformat/mov.c    | 6 ++++++
 libavformat/movenc.c | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 9a2a59f36c8..08360fab139 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1006,6 +1006,11 @@ static int mov_read_jp2h(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     return mov_read_extradata(c, pb, atom, CODEC_ID_JPEG2000);
 }
 
+static int mov_read_aprg(MOVContext *c, AVIOContext *pb, MOVAtom atom)
+{
+    return mov_read_extradata(c, pb, atom, CODEC_ID_AVUI);
+}
+
 static int mov_read_wave(MOVContext *c, AVIOContext *pb, MOVAtom atom)
 {
     AVStream *st;
@@ -2585,6 +2590,7 @@ static int mov_read_chan2(MOVContext *c, AVIOContext *pb, MOVAtom atom)
 }
 
 static const MOVParseTableEntry mov_default_parse_table[] = {
+{ MKTAG('A','P','R','G'), mov_read_aprg },
 { MKTAG('a','v','s','s'), mov_read_avss },
 { MKTAG('c','h','p','l'), mov_read_chpl },
 { MKTAG('c','o','6','4'), mov_read_stco },
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 55027374fd3..752d52713ac 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1070,6 +1070,8 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track)
         mov_write_d263_tag(pb);
     else if(track->enc->codec_id == CODEC_ID_SVQ3)
         mov_write_svq3_tag(pb);
+    else if(track->enc->codec_id == CODEC_ID_AVUI)
+        mov_write_extradata_tag(pb, track);
     else if(track->enc->codec_id == CODEC_ID_DNXHD)
         mov_write_avid_tag(pb, track);
     else if(track->enc->codec_id == CODEC_ID_H264) {
-- 
GitLab