mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
pixdesc: Explicitly handle invalid arguments to av_find_best_pix_fmt_of_2()
This commit is contained in:
parent
d24a82d2e2
commit
f48efb14f9
@ -2633,6 +2633,11 @@ enum AVPixelFormat av_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, en
|
||||
const AVPixFmtDescriptor *desc2 = av_pix_fmt_desc_get(dst_pix_fmt2);
|
||||
int score1, score2;
|
||||
|
||||
if (!desc1) {
|
||||
dst_pix_fmt = dst_pix_fmt2;
|
||||
} else if (!desc2) {
|
||||
dst_pix_fmt = dst_pix_fmt1;
|
||||
} else {
|
||||
loss_mask= loss_ptr?~*loss_ptr:~0; /* use loss mask if provided */
|
||||
if(!has_alpha)
|
||||
loss_mask &= ~FF_LOSS_ALPHA;
|
||||
@ -2649,6 +2654,7 @@ enum AVPixelFormat av_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, en
|
||||
} else {
|
||||
dst_pix_fmt = score1 < score2 ? dst_pix_fmt2 : dst_pix_fmt1;
|
||||
}
|
||||
}
|
||||
|
||||
if (loss_ptr)
|
||||
*loss_ptr = av_get_pix_fmt_loss(dst_pix_fmt, src_pix_fmt, has_alpha);
|
||||
|
Loading…
Reference in New Issue
Block a user