用ffmpeg解码时,怎么判断视频是yuv420还是yuv422,查了一下资料知道视频格式类型是在AVPixelFormat内
通过AVCodecContext的pix_fmt来进行判断
video_codec_ctx= avcodec_alloc_context3(NULL); avcodec_parameters_to_context(video_codec_ctx, video_stream->codecpar); AVCodec *video_codec = avcodec_find_decoder(video_codec_ctx->codec_id); if (avcodec_open2(video_codec_ctx, video_codec, NULL) < 0) { return; } if(video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P){ }
音频也是通过通过AVCodecContext来进行判断
AVSampleFormat in_sample_fmt = audio_codec_ctx->sample_fmt;