libavcodec/mpegvideo.c:1577: error: Null Dereference
  pointer `desc` last assigned on line 1576 could be null and is dereferenced at line 1577, column 21.

libavcodec/mpegvideo.c:1562:1: start of procedure ff_MPV_frame_end()
1560. /* generic function for encode/decode called after a
1561.  * frame has been coded/decoded. */
1562. void ff_MPV_frame_end(MpegEncContext *s)
      ^
1563. {
1564.     int i;

libavcodec/mpegvideo.c:1567:9: Taking false branch
1565.     /* redraw edges for the frame if decoding didn't complete */
1566.     // just to make sure that all data is rendered.
1567.     if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) {
              ^
1568.         ff_xvmc_field_end(s);
1569.    } else if ((s->error_count || s->encoding) &&

libavcodec/mpegvideo.c:1569:16: Taking false branch
1567.     if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) {
1568.         ff_xvmc_field_end(s);
1569.    } else if ((s->error_count || s->encoding) &&
                     ^
1570.               !s->avctx->hwaccel &&
1571.               !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) &&

libavcodec/mpegvideo.c:1569:34: Taking true branch
1567.     if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) {
1568.         ff_xvmc_field_end(s);
1569.    } else if ((s->error_count || s->encoding) &&
                                       ^
1570.               !s->avctx->hwaccel &&
1571.               !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) &&

libavcodec/mpegvideo.c:1570:16: Taking true branch
1568.         ff_xvmc_field_end(s);
1569.    } else if ((s->error_count || s->encoding) &&
1570.               !s->avctx->hwaccel &&
                     ^
1571.               !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) &&
1572.               s->unrestricted_mv &&

libavcodec/mpegvideo.c:1571:17: Taking true branch
1569.    } else if ((s->error_count || s->encoding) &&
1570.               !s->avctx->hwaccel &&
1571.               !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) &&
                      ^
1572.               s->unrestricted_mv &&
1573.               s->current_picture.f.reference &&

libavcodec/mpegvideo.c:1572:15: Taking true branch
1570.               !s->avctx->hwaccel &&
1571.               !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) &&
1572.               s->unrestricted_mv &&
                    ^
1573.               s->current_picture.f.reference &&
1574.               !s->intra_only &&

libavcodec/mpegvideo.c:1573:15: Taking true branch
1571.               !(s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU) &&
1572.               s->unrestricted_mv &&
1573.               s->current_picture.f.reference &&
                    ^
1574.               !s->intra_only &&
1575.               !(s->flags & CODEC_FLAG_EMU_EDGE)) {

libavcodec/mpegvideo.c:1574:16: Taking true branch
1572.               s->unrestricted_mv &&
1573.               s->current_picture.f.reference &&
1574.               !s->intra_only &&
                     ^
1575.               !(s->flags & CODEC_FLAG_EMU_EDGE)) {
1576.        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->avctx->pix_fmt);

libavcodec/mpegvideo.c:1575:17: Taking true branch
1573.               s->current_picture.f.reference &&
1574.               !s->intra_only &&
1575.               !(s->flags & CODEC_FLAG_EMU_EDGE)) {
                      ^
1576.        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->avctx->pix_fmt);
1577.        int hshift = desc->log2_chroma_w;

libavcodec/mpegvideo.c:1576:8: 
1574.               !s->intra_only &&
1575.               !(s->flags & CODEC_FLAG_EMU_EDGE)) {
1576.        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->avctx->pix_fmt);
             ^
1577.        int hshift = desc->log2_chroma_w;
1578.        int vshift = desc->log2_chroma_h;

libavutil/pixdesc.c:1434:1: start of procedure av_pix_fmt_desc_get()
  1432. }
  1433. 
  1434. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
        ^
  1435. {
  1436.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)

libavutil/pixdesc.c:1436:9: Taking false branch
  1434. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
  1435. {
  1436.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
                ^
  1437.         return NULL;
  1438.     return &av_pix_fmt_descriptors[pix_fmt];

libavutil/pixdesc.c:1436:24: Taking true branch
  1434. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
  1435. {
  1436.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
                               ^
  1437.         return NULL;
  1438.     return &av_pix_fmt_descriptors[pix_fmt];

libavutil/pixdesc.c:1437:9: 
  1435. {
  1436.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
  1437.         return NULL;
                ^
  1438.     return &av_pix_fmt_descriptors[pix_fmt];
  1439. }

libavutil/pixdesc.c:1439:1: return from a call to av_pix_fmt_desc_get
  1437.         return NULL;
  1438.     return &av_pix_fmt_descriptors[pix_fmt];
  1439. }
        ^
  1440. 
  1441. const AVPixFmtDescriptor *av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)

libavcodec/mpegvideo.c:1577:8: 
1575.               !(s->flags & CODEC_FLAG_EMU_EDGE)) {
1576.        const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->avctx->pix_fmt);
1577.        int hshift = desc->log2_chroma_w;
             ^
1578.        int vshift = desc->log2_chroma_h;
1579.        s->dsp.draw_edges(s->current_picture.f.data[0], s->linesize,
