[Ffmpeg-devel] but you are right, there is bug

Alexey avs99
Mon Oct 16 02:46:08 CEST 2006


> Ignore all that ....... stupid user error.
> 
> > In a followup ... the SEGV only occurs when '-vcodec copy' is specified. 
> > It looks as if  all the parameters are not being copied correctly, 
> > specifically the "width".

I found this problem just yesterday night :) If you set '-vcodec copy' then no
decoding/encoding is done, and therefore in output_packet() function 

if (ist->decoding_needed) {
   switch(ist->st->codec->codec_type) {
          ...
   case CODEC_TYPE_VIDEO:
      ret = avcodec_decode_video(ist->st->codec,
                    &picture, &got_picture, ptr, len);
          ...
}

won't be executed, and, therefore, this doesn't make any sense:

if (ist->st->codec->codec_type == CODEC_TYPE_VIDEO) {
     pre_process_video_frame(ist, (AVPicture *)&picture, &buffer_to_free);
}


because picture is not set.

At least I had this problem when I was working with VOB files. So seems either
preprocessing should be disabled during video stream copying, or packets should
be forced to be decoded/encoded.


wbr,

Alexey






More information about the ffmpeg-devel mailing list