@@ -112,7 +112,7 @@ int av_picture_crop(AVPicture *dst, const AVPicture *src,
int x_shift;
int max_step[4];
- if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
+ if (!desc)
return -1;
y_shift = desc->log2_chroma_h;
@@ -147,8 +147,9 @@ int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width,
int i, y;
int max_step[4];
- if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
+ if (!desc) {
return -1;
+ }
if (!is_yuv_planar(desc)) {
if (src)
@@ -27,8 +27,9 @@ int main(void){
int i;
int err=0;
int skip = 0;
+ int fmt_count = av_pix_fmt_total_count();
- for (i=0; i<AV_PIX_FMT_NB*2; i++) {
+ for (i = 0; i< fmt_count * 2; i++) {
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(i);
if(!desc || !desc->name) {
skip ++;
From: Zhao Zhili <zhilizhao@tencent.com> Fix av_pix_fmt_desc_get return value check. --- libavcodec/imgconvert.c | 5 +++-- libavcodec/tests/imgconvert.c | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-)