lavu: make sure av_pix_fmt_desc_next returns a valid pix fmt.

This is required because there are some "holes" in the list for
compatibility with the fork.

The commit also removes the now unecessary check from cmdutils.

Found-by: wm4
This commit is contained in:
Clément Bœsch 2012-12-15 23:28:15 +01:00
parent cb8163d0bd
commit 7fb49639e6
2 changed files with 5 additions and 4 deletions

View File

@ -1195,8 +1195,6 @@ int show_pix_fmts(void *optctx, const char *opt, const char *arg)
while ((pix_desc = av_pix_fmt_desc_next(pix_desc))) {
enum AVPixelFormat pix_fmt = av_pix_fmt_desc_get_id(pix_desc);
if(!pix_desc->name)
continue;
printf("%c%c%c%c%c %-16s %d %2d\n",
sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.',

View File

@ -1757,8 +1757,11 @@ const AVPixFmtDescriptor *av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)
{
if (!prev)
return &av_pix_fmt_descriptors[0];
if (prev - av_pix_fmt_descriptors < FF_ARRAY_ELEMS(av_pix_fmt_descriptors) - 1)
return prev + 1;
while (prev - av_pix_fmt_descriptors < FF_ARRAY_ELEMS(av_pix_fmt_descriptors) - 1) {
prev++;
if (prev->name)
return prev;
}
return NULL;
}