[Ffmpeg-cvslog] r7475 - trunk/libavformat/mxf.c

reimar subversion
Sun Jan 14 17:02:22 CET 2007


Author: reimar
Date: Sun Jan 14 17:02:22 2007
New Revision: 7475

Modified:
   trunk/libavformat/mxf.c

Log:
Simplify klv_decode_ber_length


Modified: trunk/libavformat/mxf.c
==============================================================================
--- trunk/libavformat/mxf.c	(original)
+++ trunk/libavformat/mxf.c	Sun Jan 14 17:02:22 2007
@@ -182,19 +182,15 @@
 
 static int64_t klv_decode_ber_length(ByteIOContext *pb)
 {
-    int64_t size = 0;
-    uint8_t length = get_byte(pb);
-    int type = length >> 7;
-
-    if (type) { /* long form */
-        int bytes_num = length & 0x7f;
+    uint64_t size = get_byte(pb);
+    if (size & 0x80) { /* long form */
+        int bytes_num = size & 0x7f;
         /* SMPTE 379M 5.3.4 guarantee that bytes_num must not exceed 8 bytes */
         if (bytes_num > 8)
             return -1;
+        size = 0;
         while (bytes_num--)
             size = size << 8 | get_byte(pb);
-    } else {
-        size = length & 0x7f;
     }
     return size;
 }




More information about the ffmpeg-cvslog mailing list