[FFmpeg-cvslog] r9396 - trunk/libavformat/matroskadec.c

aurel subversion
Sat Jun 23 14:32:19 CEST 2007


Author: aurel
Date: Sat Jun 23 14:32:19 2007
New Revision: 9396

Log:
use intreadwrite functions in matroskadec
based on a patch by Ronald S. Bultje   rsbultje gmail com


Modified:
   trunk/libavformat/matroskadec.c

Modified: trunk/libavformat/matroskadec.c
==============================================================================
--- trunk/libavformat/matroskadec.c	(original)
+++ trunk/libavformat/matroskadec.c	Sat Jun 23 14:32:19 2007
@@ -860,8 +860,7 @@ matroska_probe (AVProbeData *p)
     uint8_t probe_data[] = { 'm', 'a', 't', 'r', 'o', 's', 'k', 'a' };
 
     /* ebml header? */
-    if ((p->buf[0] << 24 | p->buf[1] << 16 |
-         p->buf[2] << 8 | p->buf[3]) != EBML_ID_HEADER)
+    if (AV_RB32(p->buf) != EBML_ID_HEADER)
         return 0;
 
     /* length of header */
@@ -2044,13 +2043,11 @@ matroska_read_header (AVFormatContext   
                         MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC) &&
                 (track->codec_priv_size >= 40) &&
                 (track->codec_priv != NULL)) {
-                unsigned char *p;
+                MatroskaVideoTrack *vtrack = (MatroskaVideoTrack *) track;
 
                 /* Offset of biCompression. Stored in LE. */
-                p = (unsigned char *)track->codec_priv + 16;
-                ((MatroskaVideoTrack *)track)->fourcc = (p[3] << 24) |
-                                 (p[2] << 16) | (p[1] << 8) | p[0];
-                codec_id = codec_get_id(codec_bmp_tags, ((MatroskaVideoTrack *)track)->fourcc);
+                vtrack->fourcc = AV_RL32(track->codec_priv + 16);
+                codec_id = codec_get_id(codec_bmp_tags, vtrack->fourcc);
 
             }
 
@@ -2060,12 +2057,10 @@ matroska_read_header (AVFormatContext   
                              MATROSKA_CODEC_ID_AUDIO_ACM) &&
                 (track->codec_priv_size >= 18) &&
                 (track->codec_priv != NULL)) {
-                unsigned char *p;
                 uint16_t tag;
 
                 /* Offset of wFormatTag. Stored in LE. */
-                p = (unsigned char *)track->codec_priv;
-                tag = (p[1] << 8) | p[0];
+                tag = AV_RL16(track->codec_priv);
                 codec_id = codec_get_id(codec_wav_tags, tag);
 
             }
@@ -2274,7 +2269,7 @@ matroska_parse_block(MatroskaDemuxContex
         duration = matroska->tracks[track]->default_duration;
 
     /* block_time (relative to cluster time) */
-    block_time = (data[0] << 8) | data[1];
+    block_time = AV_RB16(data);
     data += 2;
     size -= 2;
     flags = *data;




More information about the ffmpeg-cvslog mailing list