[MPlayer-dev-eng] [PATCH] damr d263 update mov demuxer

adland123 adland123 at yahoo.com
Fri Apr 29 12:29:07 CEST 2005


I made some sample 3gp files with nokia multimedia convertor 2.0 on windows to
test playback of AMR narrow and wide band audio of various rates.

playing these samples showed in the output
found unknown movie atom d263 
found unknown audio atom damr

with some research I found this document giving specs for atoms of types listed
above at
http://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_15/Docs/pdf/SP-020088.pdf

uploaded the .3gp samples into Mplayer hq incoming

patch is below

--- main/libmpdemux/demux_mov.c	2005-04-29 02:45:58.000000000 -0400
+++ updated/libmpdemux/demux_mov.c	2005-04-29 06:07:24.000000000 -0400
@@ -14,6 +14,9 @@
//  http://www.cmlab.csie.ntu.edu.tw/~pkhsiao/thesis.html
//  I really recommend N4270-1.doc and N4270-2.doc which are exact specs
//  of the MP4-File Format and the MPEG4 Specific extensions. ::atmos
+//  TSGS#15(02)0088
+//  http://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_15/Docs/pdf/SP-020088.pdf
+//  http://www.3gpp2.org/Public_html/specs/C.S0050-0_v1.0_121503.pdf

#include <stdio.h>
#include <stdlib.h>
@@ -1009,6 +1012,14 @@
memcpy(sh->codecdata, &trak->stdata[28], sh->codecdata_len);
}
} break;
+                      case MOV_FOURCC('d','a','m','r'):
+                        mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found AMR audio at
om %c%c%c%c (%d)!\n", trak->stdata[32+adjust],trak->stdata[33+adjust],trak->std
ata[34+adjust],trak->stdata[35+adjust], atom_len);
+                        if (atom_len>14) {
+                        mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Vendor: %c%c%c%c V
ersion: %d\n",trak->stdata[36+adjust],trak->stdata[37+adjust],trak->stdata[38+a
djust], trak->stdata[39+adjust],trak->stdata[40+adjust]);
+                        mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Modes set: %02x%02
x\n",trak->stdata[41+adjust],trak->stdata[42+adjust]);
+                        mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Mode change period
: %d Frames per sample: %d\n",trak->stdata[43+adjust],trak->stdata[44+adjust]);
+                        }
+                        break;
default:
 			mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found unknown audio atom %c%c%c%c (%d)!
\n",
 			    trak->stdata[32+adjust],trak->stdata[33+adjust],trak->stdata[34+adjust]
,trak->stdata[35+adjust],
@@ -1196,6 +1207,13 @@
 		        memcpy(trak->stream_header, trak->stdata+pos+8, trak->stream_header_
len);
}
break;
+                    case MOV_FOURCC('d','2','6','3'):
+                      mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found H.263 decoder 
atom %c%c%c%c (%d)!\n", trak->stdata[pos+4],trak->stdata[pos+5],trak->stdata[po
s+6],
+trak->stdata[pos+7],atom_len);
+              	      if (atom_len>10){
+                      mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Vendor: %c%c%c%c H.2
63 level: %d H.263 profile: %d \n", trak->stdata[pos+8],trak->stdata[pos+9],tra
k->stdata[pos+10],trak->stdata[pos+11],trak->stdata[pos+12],trak->stdata[pos+13
]);
+                       }
+                      break;
case 0:
break;
default:





More information about the MPlayer-dev-eng mailing list