[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