mirror of https://github.com/mpv-player/mpv
vd_ffmpeg.c: fix one case of "-lavdopts vstats" crashing
Fix segfault with -lavdopts vstats and some codecs. The vstats option relies on avctx->coded_frame being filled. Unfortunately not all codecs do that (e.g. VP8) thus causing NULL dereference. FFmpeg code seems to always check if coded_frame != NULL, so we should do the same. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33347 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
6283d4d6bb
commit
49b31c2b43
|
@ -389,7 +389,7 @@ static void uninit(sh_video_t *sh){
|
|||
vd_ffmpeg_ctx *ctx = sh->context;
|
||||
AVCodecContext *avctx = ctx->avctx;
|
||||
|
||||
if(sh->opts->lavc_param.vstats){
|
||||
if (sh->opts->lavc_param.vstats && avctx->coded_frame) {
|
||||
int i;
|
||||
for(i=1; i<32; i++){
|
||||
mp_msg(MSGT_DECVIDEO, MSGL_INFO, "QP: %d, count: %d\n", i, ctx->qp_stat[i]);
|
||||
|
@ -784,6 +784,9 @@ static struct mp_image *decode(struct sh_video *sh, void *data, int len,
|
|||
AVFrame *pic= avctx->coded_frame;
|
||||
double quality=0.0;
|
||||
|
||||
if (!pic)
|
||||
break;
|
||||
|
||||
if(!fvstats) {
|
||||
time_t today2;
|
||||
struct tm *today;
|
||||
|
|
Loading…
Reference in New Issue