[FFmpeg-devel] [PATCH]Allow forcing frame size for image2pipe

Carl Eugen Hoyos cehoyos at ag.or.at
Fri Nov 9 10:15:41 CET 2012


Hi!

Attached patch allows to (ab-) use image2pipe for concatenated uncompressed 
video formats, see ticket #1869.

Would "packet_size" be better?

Please comment, Carl Eugen
-------------- next part --------------
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index c493f1a..735541e 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -61,6 +61,7 @@ typedef struct {
 #endif
     int start_number;
     int start_number_range;
+    int frame_size;
 } VideoDemuxData;
 
 static const int sizes[][2] = {
@@ -372,7 +373,11 @@ static int read_packet(AVFormatContext *s1, AVPacket *pkt)
         f[0] = s1->pb;
         if (url_feof(f[0]))
             return AVERROR(EIO);
+        if (s->frame_size > 0) {
+            size[0] = s->frame_size;
+        } else {
-        size[0]= 4096;
+            size[0]= 4096;
+        }
     }
 
     if (av_new_packet(pkt, size[0] + size[1] + size[2]) < 0)
@@ -427,6 +432,7 @@ static const AVOption options[] = {
     { "start_number", "set first number in the sequence",    OFFSET(start_number), AV_OPT_TYPE_INT,    {.i64 = 0},    0, INT_MAX, DEC },
     { "start_number_range", "set range for looking at the first sequence number", OFFSET(start_number_range), AV_OPT_TYPE_INT, {.i64 = 5}, 1, INT_MAX, DEC },
     { "video_size",   "set video size",                      OFFSET(video_size),   AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC },
+    { "frame_size",   "force frame size in bytes",           OFFSET(frame_size),   AV_OPT_TYPE_INT,    {.i64 = 0},    0, INT_MAX, DEC },
     { NULL },
 };
 


More information about the ffmpeg-devel mailing list