Hi, thanks for the input. Now I am confused even more. All I need is to
start demuxing an mp4 file. Those codecs test above is not what I do.
I started to check those because I am getting into trouble in this part:
pFormatCtx = avformat_alloc_context(); //ok
AVDictionary *d = NULL;
av_dict_set(&d, "protocol_whitelist","file", 0); //ok
int ret = avformat_open_input(&pFormatCtx, in_f_name , NULL, &d);
//ok
avformat_find_stream_info(pFormatCtx, NULL) ///also ok
But once I get to access the codecpar I hit "access violation reading
location:
*pFormatCtx->streams[i]->codecpar->codec_type==AVMEDIA_TYPE_VIDEO*
Because my *codecpar *is not initialized. That's what I don't understand
here.
On Nov 9, 2017 8:14 PM, "Carl Eugen Hoyos" <[email protected]> wrote:
> Hi!
>
> > Am 09.11.2017 um 17:13 schrieb Michael IV <[email protected]>:
> >
> > Hi All. What maybe a reason that avcodec_find_decoder returns NULL ?
> >
> > I enabled in my FFMPEG build MOV and h264 demuxer. Configure report
> clearly
> > states that.
> >
> > But doing this test:
> >
> > av_register_all();
> > avcodec_register_all();
> > avformat_network_init();
> > AVCodec* h264codc = avcodec_find_decoder_by_name("h264");
>
> This is supposed to work.
>
>
> > AVCodec* h264codc1 = avcodec_find_decoder_by_name("MOV");
>
> This is not the name of any decoder, mov is a file format, you will find a
> demuxer (and a muxer) with that name (I think).
>
> > AVCodec* h264codc3 = avcodec_find_decoder_by_name("MPEG4");
>
> There is codec "mpeg4" but that's not h264.
>
> > AVCodec* h264codc4 = avcodec_find_decoder_by_name("MP4");
>
> See above for mov, although the same demuxer handles mov and mp4.
>
> > AVCodec* h264codc5 = avcodec_find_decoder(AV_CODEC_ID_MPEG4);
>
> Again, this codec exists but it's not h264.
>
> > Only h264codc returns a valid codec.
>
>
> > The only thing I didn't do during build config was not to enable libx264.
>
> This only means that you have no h264 encoder.
>
> > May this be the source of the problem? I didn't do that because I just
> need to demux mp4 movie and get its elementary stream.
>
> Then you don't care about a decoder, you only need a demuxer (and maybe a
> parser).
>
> Carl Eugen
> _______________________________________________
> Libav-user mailing list
> [email protected]
> http://ffmpeg.org/mailman/listinfo/libav-user
>
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user