+ switch (c->id) {
+ case AV_CODEC_ID_APE: maxsamples_per_frame /= 256; break;
+ }
+ maxpixels = maxpixels_per_frame * maxiteration;
+ maxsamples = maxsamples_per_frame * maxiteration;
+ switch (c->id) {
+ case AV_CODEC_ID_AGM: maxpixels /= 1024; break;
+ case AV_CODEC_ID_ARBC: maxpixels /= 1024; break;
+ case AV_CODEC_ID_BINKVIDEO: maxpixels /= 32; break;
+ case AV_CODEC_ID_CFHD: maxpixels /= 128; break;
+ case AV_CODEC_ID_COOK: maxsamples /= 1<<20; break;
+ case AV_CODEC_ID_DIRAC: maxpixels /= 8192; break;
+ case AV_CODEC_ID_DST: maxsamples /= 1<<20; break;
+ case AV_CODEC_ID_DVB_SUBTITLE: av_dict_set_int(&opts, "compute_clut", -2, 0); break;
+ case AV_CODEC_ID_DXV: maxpixels /= 32; break;
+ case AV_CODEC_ID_FFWAVESYNTH: maxsamples /= 16384; break;
+ case AV_CODEC_ID_FLAC: maxsamples /= 1024; break;
+ case AV_CODEC_ID_FLV1: maxpixels /= 1024; break;
+ case AV_CODEC_ID_G2M: maxpixels /= 1024; break;
+ case AV_CODEC_ID_GDV: maxpixels /= 512; break;
+ case AV_CODEC_ID_GIF: maxpixels /= 16; break;
+ case AV_CODEC_ID_H264: maxpixels /= 256; break;
+ case AV_CODEC_ID_HAP: maxpixels /= 128; break;
+ case AV_CODEC_ID_HEVC: maxpixels /= 16384; break;
+ case AV_CODEC_ID_HNM4_VIDEO: maxpixels /= 128; break;
+ case AV_CODEC_ID_IFF_ILBM: maxpixels /= 128; break;
+ case AV_CODEC_ID_INDEO4: maxpixels /= 128; break;
+ case AV_CODEC_ID_INTERPLAY_ACM: maxsamples /= 16384; break;
+ case AV_CODEC_ID_LAGARITH: maxpixels /= 1024; break;
+ case AV_CODEC_ID_LSCR: maxpixels /= 16; break;
+ case AV_CODEC_ID_MOTIONPIXELS:maxpixels /= 256; break;
+ case AV_CODEC_ID_MP4ALS: maxsamples /= 65536; break;
+ case AV_CODEC_ID_MSA1: maxpixels /= 16384; break;
+ case AV_CODEC_ID_MSRLE: maxpixels /= 16; break;
+ case AV_CODEC_ID_MSS2: maxpixels /= 16384; break;
+ case AV_CODEC_ID_MSZH: maxpixels /= 128; break;
+ case AV_CODEC_ID_OPUS: maxsamples /= 16384; break;
+ case AV_CODEC_ID_PNG: maxpixels /= 128; break;
+ case AV_CODEC_ID_APNG: maxpixels /= 128; break;
+ case AV_CODEC_ID_QTRLE: maxpixels /= 16; break;
+ case AV_CODEC_ID_PAF_VIDEO: maxpixels /= 16; break;
+ case AV_CODEC_ID_RASC: maxpixels /= 16; break;
+ case AV_CODEC_ID_SANM: maxpixels /= 16; break;
+ case AV_CODEC_ID_SCPR: maxpixels /= 32; break;
+ case AV_CODEC_ID_SCREENPRESSO:maxpixels /= 64; break;
+ case AV_CODEC_ID_SMACKVIDEO: maxpixels /= 64; break;
+ case AV_CODEC_ID_SNOW: maxpixels /= 128; break;
+ case AV_CODEC_ID_TGV: maxpixels /= 32; break;
+ case AV_CODEC_ID_THEORA: maxpixels /= 1024; break;
+ case AV_CODEC_ID_TRUEMOTION2: maxpixels /= 1024; break;
+ case AV_CODEC_ID_TSCC: maxpixels /= 1024; break;
+ case AV_CODEC_ID_VC1IMAGE: maxpixels /= 8192; break;
+ case AV_CODEC_ID_VMNC: maxpixels /= 8192; break;
+ case AV_CODEC_ID_VP4: maxpixels /= 4096; break;
+ case AV_CODEC_ID_VP7: maxpixels /= 256; break;
+ case AV_CODEC_ID_VP9: maxpixels /= 4096; break;
+ case AV_CODEC_ID_WAVPACK: maxsamples /= 1024; break;
+ case AV_CODEC_ID_WMV3IMAGE: maxpixels /= 8192; break;
+ case AV_CODEC_ID_WS_VQA: maxpixels /= 16384; break;
+ case AV_CODEC_ID_WMALOSSLESS: maxsamples /= 1024; break;
+ case AV_CODEC_ID_ZEROCODEC: maxpixels /= 128; break;
+ }
+
+ maxsamples_per_frame = FFMIN(maxsamples_per_frame, maxsamples);
+ maxpixels_per_frame = FFMIN(maxpixels_per_frame , maxpixels);