[FFmpeg-cvslog] r16622 - in trunk/libavformat: avc.c avc.h

bcoudurier subversion
Fri Jan 16 02:11:34 CET 2009


Author: bcoudurier
Date: Fri Jan 16 02:11:34 2009
New Revision: 16622

Log:
return size written in ff_avc_parse_nal_units

Modified:
   trunk/libavformat/avc.c
   trunk/libavformat/avc.h

Modified: trunk/libavformat/avc.c
==============================================================================
--- trunk/libavformat/avc.c	Fri Jan 16 01:37:38 2009	(r16621)
+++ trunk/libavformat/avc.c	Fri Jan 16 02:11:34 2009	(r16622)
@@ -60,20 +60,23 @@ const uint8_t *ff_avc_find_startcode(con
     return end + 3;
 }
 
-void ff_avc_parse_nal_units(ByteIOContext *pb, const uint8_t *buf_in, int size)
+int ff_avc_parse_nal_units(ByteIOContext *pb, const uint8_t *buf_in, int size)
 {
     const uint8_t *p = buf_in;
     const uint8_t *end = p + size;
     const uint8_t *nal_start, *nal_end;
 
+    size = 0;
     nal_start = ff_avc_find_startcode(p, end);
     while (nal_start < end) {
         while(!*(nal_start++));
         nal_end = ff_avc_find_startcode(nal_start, end);
         put_be32(pb, nal_end - nal_start);
         put_buffer(pb, nal_start, nal_end - nal_start);
+        size += 4 + nal_end - nal_start;
         nal_start = nal_end;
     }
+    return size;
 }
 
 static int ff_avc_parse_nal_units_buf(const uint8_t *buf_in, uint8_t **buf, int *size)

Modified: trunk/libavformat/avc.h
==============================================================================
--- trunk/libavformat/avc.h	Fri Jan 16 01:37:38 2009	(r16621)
+++ trunk/libavformat/avc.h	Fri Jan 16 02:11:34 2009	(r16622)
@@ -25,7 +25,7 @@
 #include <stdint.h>
 #include "avio.h"
 
-void ff_avc_parse_nal_units(ByteIOContext *s, const uint8_t *buf, int size);
+int ff_avc_parse_nal_units(const uint8_t *buf_in, uint8_t **buf, int *size);
 int ff_isom_write_avcc(ByteIOContext *pb, const uint8_t *data, int len);
 const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end);
 




More information about the ffmpeg-cvslog mailing list