From a0d076f3ef95e971014c4333c71b384976484889 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Tue, 3 Oct 2017 20:57:14 +0100 Subject: lavc/v4l2: Remove use of lfind() This is not present in older bionic and therefore fails to build there, and the code is much simpler without it anyway. --- libavcodec/v4l2_m2m_enc.c | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'libavcodec/v4l2_m2m_enc.c') diff --git a/libavcodec/v4l2_m2m_enc.c b/libavcodec/v4l2_m2m_enc.c index e40a120b53..9f59be6efb 100644 --- a/libavcodec/v4l2_m2m_enc.c +++ b/libavcodec/v4l2_m2m_enc.c @@ -91,20 +91,12 @@ static inline int v4l2_get_ext_ctrl(V4L2m2mContext *s, unsigned int id, signed i return 0; } -static int match_profile(const void *a, const void *b) -{ - if (*(unsigned int *)a == *(unsigned int *)b) - return 0; - - return 1; -} - static inline unsigned int v4l2_h264_profile_from_ff(int p) { struct h264_profile { unsigned int ffmpeg_val; unsigned int v4l2_val; - } *val, profile[] = { + } profile[] = { { FF_PROFILE_H264_CONSTRAINED_BASELINE, MPEG_VIDEO(H264_PROFILE_CONSTRAINED_BASELINE) }, { FF_PROFILE_H264_HIGH_444_PREDICTIVE, MPEG_VIDEO(H264_PROFILE_HIGH_444_PREDICTIVE) }, { FF_PROFILE_H264_HIGH_422_INTRA, MPEG_VIDEO(H264_PROFILE_HIGH_422_INTRA) }, @@ -117,12 +109,12 @@ static inline unsigned int v4l2_h264_profile_from_ff(int p) { FF_PROFILE_H264_MAIN, MPEG_VIDEO(H264_PROFILE_MAIN) }, { FF_PROFILE_H264_HIGH, MPEG_VIDEO(H264_PROFILE_HIGH) }, }; - size_t len = FF_ARRAY_ELEMS(profile); - - val = lfind(&p, profile, &len, sizeof(profile[0]), match_profile); - if (val) - return val->v4l2_val; + int i; + for (i = 0; i < FF_ARRAY_ELEMS(profile); i++) { + if (profile[i].ffmpeg_val == p) + return profile[i].v4l2_val; + } return AVERROR(ENOENT); } @@ -131,19 +123,19 @@ static inline int v4l2_mpeg4_profile_from_ff(int p) struct mpeg4_profile { unsigned int ffmpeg_val; unsigned int v4l2_val; - } *val, profile[] = { + } profile[] = { { FF_PROFILE_MPEG4_ADVANCED_CODING, MPEG_VIDEO(MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY) }, { FF_PROFILE_MPEG4_ADVANCED_SIMPLE, MPEG_VIDEO(MPEG4_PROFILE_ADVANCED_SIMPLE) }, { FF_PROFILE_MPEG4_SIMPLE_SCALABLE, MPEG_VIDEO(MPEG4_PROFILE_SIMPLE_SCALABLE) }, { FF_PROFILE_MPEG4_SIMPLE, MPEG_VIDEO(MPEG4_PROFILE_SIMPLE) }, { FF_PROFILE_MPEG4_CORE, MPEG_VIDEO(MPEG4_PROFILE_CORE) }, }; - size_t len = FF_ARRAY_ELEMS(profile); - - val = lfind(&p, profile, &len, sizeof(profile[0]), match_profile); - if (val) - return val->v4l2_val; + int i; + for (i = 0; i < FF_ARRAY_ELEMS(profile); i++) { + if (profile[i].ffmpeg_val == p) + return profile[i].v4l2_val; + } return AVERROR(ENOENT); } -- cgit v1.2.3