aboutsummaryrefslogtreecommitdiff
path: root/gst-libs/ext/libav/libavcodec/imgconvert.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/ext/libav/libavcodec/imgconvert.c')
-rw-r--r--gst-libs/ext/libav/libavcodec/imgconvert.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gst-libs/ext/libav/libavcodec/imgconvert.c b/gst-libs/ext/libav/libavcodec/imgconvert.c
index eab051b..1dfe3b7 100644
--- a/gst-libs/ext/libav/libavcodec/imgconvert.c
+++ b/gst-libs/ext/libav/libavcodec/imgconvert.c
@@ -612,7 +612,8 @@ static enum PixelFormat avcodec_find_best_pix_fmt1(int64_t pix_fmt_mask,
/* find exact color match with smallest size */
dst_pix_fmt = PIX_FMT_NONE;
min_dist = 0x7fffffff;
- for(i = 0;i < PIX_FMT_NB; i++) {
+ /* test only the first 64 pixel formats to avoid undefined behaviour */
+ for (i = 0; i < 64; i++) {
if (pix_fmt_mask & (1ULL << i)) {
loss = avcodec_get_pix_fmt_loss(i, src_pix_fmt, has_alpha) & loss_mask;
if (loss == 0) {