libavfilter/video.c:343: error: Null Dereference
  pointer `desc` last assigned on line 342 could be null and is dereferenced at line 343, column 16.

libavfilter/video.c:332:1: start of procedure ff_draw_slice()
330. }
331. 
332. int ff_draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
     ^
333. {
334.     uint8_t *src[4], *dst[4];

libavfilter/video.c:338:41: 
336.     int (*draw_slice)(AVFilterLink *, int, int, int);
337. 
338.     FF_DPRINTF_START(NULL, draw_slice); ff_dlog_link(NULL, link, 0); av_dlog(NULL, " y:%d h:%d dir:%d\n", y, h, slice_dir);
                                             ^
339. 
340.     /* copy the slice if needed for permission reasons */

libavfilter/avfilter.c:211:1: start of procedure ff_dlog_link()
  209. }
  210. 
  211. void ff_dlog_link(void *ctx, AVFilterLink *link, int end)
       ^
  212. {
  213.     if (link->type == AVMEDIA_TYPE_VIDEO) {

libavfilter/avfilter.c:213:9: Taking false branch
  211. void ff_dlog_link(void *ctx, AVFilterLink *link, int end)
  212. {
  213.     if (link->type == AVMEDIA_TYPE_VIDEO) {
               ^
  214.         av_dlog(ctx,
  215.                 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",

libavfilter/avfilter.c:223:9: Skipping av_get_channel_layout_string(): empty list of specs
  221.     } else {
  222.         char buf[128];
  223.         av_get_channel_layout_string(buf, sizeof(buf), -1, link->channel_layout);
               ^
  224. 
  225.         av_dlog(ctx,

libavfilter/avfilter.c:213:5: 
  211. void ff_dlog_link(void *ctx, AVFilterLink *link, int end)
  212. {
  213.     if (link->type == AVMEDIA_TYPE_VIDEO) {
           ^
  214.         av_dlog(ctx,
  215.                 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",

libavfilter/avfilter.c:233:1: return from a call to ff_dlog_link
  231.                 end ? "\n" : "");
  232.     }
  233. }
       ^
  234. 
  235. int ff_request_frame(AVFilterLink *link)

libavfilter/video.c:341:9: Taking true branch
339. 
340.     /* copy the slice if needed for permission reasons */
341.     if (link->src_buf) {
             ^
342.         const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format);
343.         vsub = desc->log2_chroma_h;

libavfilter/video.c:342:9: 
340.     /* copy the slice if needed for permission reasons */
341.     if (link->src_buf) {
342.         const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format);
             ^
343.         vsub = desc->log2_chroma_h;
344. 

libavutil/pixdesc.c:1199:1: start of procedure av_pix_fmt_desc_get()
  1197. }
  1198. 
  1199. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
        ^
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)

libavutil/pixdesc.c:1201:9: Taking false branch
  1199. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
                ^
  1202.         return NULL;
  1203.     return &av_pix_fmt_descriptors[pix_fmt];

libavutil/pixdesc.c:1201:24: Taking true branch
  1199. const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
                               ^
  1202.         return NULL;
  1203.     return &av_pix_fmt_descriptors[pix_fmt];

libavutil/pixdesc.c:1202:9: 
  1200. {
  1201.     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
  1202.         return NULL;
                ^
  1203.     return &av_pix_fmt_descriptors[pix_fmt];
  1204. }

libavutil/pixdesc.c:1204:1: return from a call to av_pix_fmt_desc_get
  1202.         return NULL;
  1203.     return &av_pix_fmt_descriptors[pix_fmt];
  1204. }
        ^
  1205. 
  1206. const AVPixFmtDescriptor *av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)

libavfilter/video.c:343:9: 
341.     if (link->src_buf) {
342.         const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format);
343.         vsub = desc->log2_chroma_h;
             ^
344. 
345.         for (i = 0; i < 4; i++) {
