]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/raw.c
Add a function rtsp_setup_output_streams for announcing the SDP
[ffmpeg] / libavformat / raw.c
index a0ebb6a3e96741952cb83b801c1f4f588f73259b..b2e3ae8aa8a1efbb37e14ab2969316e3a02adb5e 100644 (file)
@@ -282,6 +282,7 @@ static int video_read_header(AVFormatContext *s,
     } else if ( st->codec->codec_id == CODEC_ID_MJPEG ||
                 st->codec->codec_id == CODEC_ID_MPEG4 ||
                 st->codec->codec_id == CODEC_ID_DIRAC ||
+                st->codec->codec_id == CODEC_ID_DNXHD ||
                 st->codec->codec_id == CODEC_ID_H264) {
         st->codec->time_base= (AVRational){1,25};
     }
@@ -473,7 +474,8 @@ static int h263_probe(AVProbeData *p)
         }
     }
 //av_log(NULL, AV_LOG_ERROR, "h263_probe: psc:%d invalid:%d res_change:%d\n", valid_psc, invalid_psc, res_change);
-    if(valid_psc > 2*invalid_psc + 2*res_change + 2){
+//h263_probe: psc:3 invalid:0 res_change:0 (1588/recent_ffmpeg_parses_mpg_incorrectly.mpg)
+    if(valid_psc > 2*invalid_psc + 2*res_change + 3){
         return 50;
     }else if(valid_psc > 2*invalid_psc)
         return 25;
@@ -495,7 +497,11 @@ static int h261_probe(AVProbeData *p)
     init_get_bits(&gb, p->buf, p->buf_size*8);
 
     for(i=0; i<p->buf_size*8; i++){
-        code = (code<<1) + get_bits1(&gb);
+        if ((code & 0x01ff0000) || !(code & 0xff00)) {
+            code = (code<<8) + get_bits(&gb, 8);
+            i += 7;
+        } else
+            code = (code<<1) + get_bits1(&gb);
         if ((code & 0xffff0000) == 0x10000) {
             int gn= (code>>12)&0xf;
             if(!gn)