diff --git a/avconv.c b/avconv.c index d6045b7ef4..8842b24599 100644 --- a/avconv.c +++ b/avconv.c @@ -1207,7 +1207,8 @@ static void do_video_out(AVFormatContext *s, av_init_packet(&pkt); pkt.stream_index= ost->index; - if (s->oformat->flags & AVFMT_RAWPICTURE) { + if (s->oformat->flags & AVFMT_RAWPICTURE && + enc->codec->id == CODEC_ID_RAWVIDEO) { /* raw pictures are written as AVPicture structure to avoid any copies. We support temporarily the older method. */ @@ -1459,7 +1460,7 @@ static void flush_encoders(OutputStream *ost_table, int nb_ostreams) if (ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO && enc->frame_size <=1) continue; - if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && (os->oformat->flags & AVFMT_RAWPICTURE)) + if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && (os->oformat->flags & AVFMT_RAWPICTURE) && enc->codec->id == CODEC_ID_RAWVIDEO) continue; for(;;) { diff --git a/libavformat/nullenc.c b/libavformat/nullenc.c index 680b29c828..9849f460f0 100644 --- a/libavformat/nullenc.c +++ b/libavformat/nullenc.c @@ -32,5 +32,5 @@ AVOutputFormat ff_null_muxer = { .audio_codec = AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE), .video_codec = CODEC_ID_RAWVIDEO, .write_packet = null_write_packet, - .flags = AVFMT_NOFILE | AVFMT_NOTIMESTAMPS, + .flags = AVFMT_NOFILE | AVFMT_NOTIMESTAMPS | AVFMT_RAWPICTURE, };