summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2012-12-15 23:28:15 +0100
committerClément Bœsch <ubitux@gmail.com>2012-12-16 20:39:39 +0100
commit7fb49639e6b1caf5579ce9663c1ff367663f9048 (patch)
treeaf47d645e83d9584f4f7e94c2d99e334021375a1
parentcb8163d0bdf687d5f20783c64e39a2f0e5b017c6 (diff)
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
-rw-r--r--cmdutils.c2
-rw-r--r--libavutil/pixdesc.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/cmdutils.c b/cmdutils.c
index abe5601134..fb01a947a7 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -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' : '.',
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index 1f2aa58a42..362edfa07f 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -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;
}