diff --git a/ffmpeg.c b/ffmpeg.c index 3541f9e89e..9d744914d7 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1091,7 +1091,7 @@ static void print_report(AVFormatContext **output_files, if(qp_hist){ int j; int qp= lrintf(enc->coded_frame->quality/(float)FF_QP2LAMBDA); - if(qp>=0 && qp=0 && qpbuffer)) { if (modify_current_stream(c, ratebuf)) { - for (i = 0; i < sizeof(c->feed_streams) / sizeof(c->feed_streams[0]); i++) { + for (i = 0; i < FF_ARRAY_ELEMS(c->feed_streams); i++) { if (c->switch_feed_streams[i] >= 0) do_switch_stream(c, i); } diff --git a/libavcodec/aac.c b/libavcodec/aac.c index 35c2945b74..a207ce119f 100644 --- a/libavcodec/aac.c +++ b/libavcodec/aac.c @@ -403,7 +403,7 @@ static av_cold int aac_decode_init(AVCodecContext * avccontext) { ff_aac_pow2sf_tab[i] = pow(2, (i - 200)/4.); #endif /* CONFIG_HARDCODED_TABLES */ - INIT_VLC_STATIC(&vlc_scalefactors, 7, sizeof(ff_aac_scalefactor_code)/sizeof(ff_aac_scalefactor_code[0]), + INIT_VLC_STATIC(&vlc_scalefactors,7,FF_ARRAY_ELEMS(ff_aac_scalefactor_code), ff_aac_scalefactor_bits, sizeof(ff_aac_scalefactor_bits[0]), sizeof(ff_aac_scalefactor_bits[0]), ff_aac_scalefactor_code, sizeof(ff_aac_scalefactor_code[0]), sizeof(ff_aac_scalefactor_code[0]), 352); diff --git a/libavcodec/dnxhddata.c b/libavcodec/dnxhddata.c index c1f2671c9d..47467ff71b 100644 --- a/libavcodec/dnxhddata.c +++ b/libavcodec/dnxhddata.c @@ -418,7 +418,7 @@ const CIDEntry ff_dnxhd_cid_table[] = { int ff_dnxhd_get_cid_table(int cid) { int i; - for (i = 0; i < sizeof(ff_dnxhd_cid_table)/sizeof(CIDEntry); i++) + for (i = 0; i < FF_ARRAY_ELEMS(ff_dnxhd_cid_table); i++) if (ff_dnxhd_cid_table[i].cid == cid) return i; return -1; @@ -430,7 +430,7 @@ int ff_dnxhd_find_cid(AVCodecContext *avctx) int mbs = avctx->bit_rate/1000000; if (!mbs) return 0; - for (i = 0; i < sizeof(ff_dnxhd_cid_table)/sizeof(CIDEntry); i++) { + for (i = 0; i < FF_ARRAY_ELEMS(ff_dnxhd_cid_table); i++) { const CIDEntry *cid = &ff_dnxhd_cid_table[i]; if (cid->width == avctx->width && cid->height == avctx->height && cid->interlaced == !!(avctx->flags & CODEC_FLAG_INTERLACED_DCT) && diff --git a/libavcodec/dvdata.h b/libavcodec/dvdata.h index 5364310198..5bc21bccde 100644 --- a/libavcodec/dvdata.h +++ b/libavcodec/dvdata.h @@ -6386,7 +6386,7 @@ static inline const DVprofile* dv_frame_profile(const uint8_t* frame) return &dv_profiles[2]; } - for (i=0; iheight == dv_profiles[i].height && codec->pix_fmt == dv_profiles[i].pix_fmt && codec->width == dv_profiles[i].width) return &dv_profiles[i]; diff --git a/libavcodec/h263.c b/libavcodec/h263.c index e490995742..47210e9c9e 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -587,7 +587,7 @@ void ff_clean_mpeg4_qscales(MpegEncContext *s){ #endif //CONFIG_ENCODERS -#define tab_size ((signed)(sizeof(s->direct_scale_mv[0])/sizeof(int16_t))) +#define tab_size ((signed)FF_ARRAY_ELEMS(s->direct_scale_mv[0])) #define tab_bias (tab_size/2) void ff_mpeg4_init_direct_mv(MpegEncContext *s){ diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 6e16393702..ecd4fc742a 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1979,7 +1979,7 @@ static av_cold void decode_init_vlc(void){ * the packed static coeff_token_vlc table sizes * were initialized correctly. */ - assert(offset == sizeof(coeff_token_vlc_tables)/(sizeof(VLC_TYPE)*2)); + assert(offset == FF_ARRAY_ELEMS(coeff_token_vlc_tables)); for(i=0; i<3; i++){ chroma_dc_total_zeros_vlc[i].table = chroma_dc_total_zeros_vlc_tables[i]; @@ -6888,7 +6888,7 @@ static inline int decode_vui_parameters(H264Context *h, SPS *sps){ if( aspect_ratio_idc == EXTENDED_SAR ) { sps->sar.num= get_bits(&s->gb, 16); sps->sar.den= get_bits(&s->gb, 16); - }else if(aspect_ratio_idc < sizeof(pixel_aspect)/sizeof(*pixel_aspect)){ + }else if(aspect_ratio_idc < FF_ARRAY_ELEMS(pixel_aspect)){ sps->sar= pixel_aspect[aspect_ratio_idc]; }else{ av_log(h->s.avctx, AV_LOG_ERROR, "illegal aspect ratio\n"); @@ -7072,7 +7072,7 @@ static inline int decode_seq_parameter_set(H264Context *h){ sps->offset_for_top_to_bottom_field= get_se_golomb(&s->gb); tmp= get_ue_golomb(&s->gb); - if(tmp >= sizeof(sps->offset_for_ref_frame) / sizeof(sps->offset_for_ref_frame[0])){ + if(tmp >= FF_ARRAY_ELEMS(sps->offset_for_ref_frame)){ av_log(h->s.avctx, AV_LOG_ERROR, "poc_cycle_length overflow %u\n", tmp); return -1; } diff --git a/libavcodec/imgresample.c b/libavcodec/imgresample.c index af945752a3..fa44248104 100644 --- a/libavcodec/imgresample.c +++ b/libavcodec/imgresample.c @@ -790,7 +790,7 @@ int main(int argc, char **argv) } } save_pgm("/tmp/in.pgm", img, XSIZE, YSIZE); - for(i=0;iprev_index = 0; ctx->cur_index = 15; - if(init_vlc(&ctx->vlc, 11, sizeof(huffbits)/sizeof(huffbits[0]), + if(init_vlc(&ctx->vlc, 11, FF_ARRAY_ELEMS(huffbits), huffbits, 1, 1, huffcodes, 4, 4, 0)) { av_log(avctx, AV_LOG_ERROR, "error initializing vlc table\n"); return -1; diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 86d9f6b5f4..a277492727 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -394,7 +394,7 @@ static int decode_init(AVCodecContext * avctx) INIT_VLC_USE_NEW_STATIC); offset += huff_vlc_tables_sizes[i]; } - assert(offset == sizeof(huff_vlc_tables)/(sizeof(VLC_TYPE)*2)); + assert(offset == FF_ARRAY_ELEMS(huff_vlc_tables)); offset = 0; for(i=0;i<2;i++) { @@ -405,7 +405,7 @@ static int decode_init(AVCodecContext * avctx) INIT_VLC_USE_NEW_STATIC); offset += huff_quad_vlc_tables_sizes[i]; } - assert(offset == sizeof(huff_quad_vlc_tables)/(sizeof(VLC_TYPE)*2)); + assert(offset == FF_ARRAY_ELEMS(huff_quad_vlc_tables)); for(i=0;i<9;i++) { k = 0; diff --git a/libavcodec/utils.c b/libavcodec/utils.c index cc2a3a2a8d..5df4d18b6b 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1455,7 +1455,7 @@ static const VideoFrameRateAbbr video_frame_rate_abbrs[]= { int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str) { int i; - int n = sizeof(video_frame_size_abbrs) / sizeof(VideoFrameSizeAbbr); + int n = FF_ARRAY_ELEMS(video_frame_size_abbrs); const char *p; int frame_width = 0, frame_height = 0; @@ -1483,7 +1483,7 @@ int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str) int av_parse_video_frame_rate(AVRational *frame_rate, const char *arg) { int i; - int n = sizeof(video_frame_rate_abbrs) / sizeof(VideoFrameRateAbbr); + int n = FF_ARRAY_ELEMS(video_frame_rate_abbrs); char* cp; /* First, we check our abbreviation table */ diff --git a/libavcodec/vorbis_enc.c b/libavcodec/vorbis_enc.c index 7f2e876a03..0cb644b46b 100644 --- a/libavcodec/vorbis_enc.c +++ b/libavcodec/vorbis_enc.c @@ -213,7 +213,7 @@ static void create_vorbis_context(venc_context_t * venc, AVCodecContext * avccon venc->sample_rate = avccontext->sample_rate; venc->log2_blocksize[0] = venc->log2_blocksize[1] = 11; - venc->ncodebooks = sizeof(cvectors)/sizeof(cvectors[0]); + venc->ncodebooks = FF_ARRAY_ELEMS(cvectors); venc->codebooks = av_malloc(sizeof(codebook_t) * venc->ncodebooks); // codebook 0..14 - floor1 book, values 0..255 diff --git a/libavdevice/v4l.c b/libavdevice/v4l.c index b58de94738..a469ae0135 100644 --- a/libavdevice/v4l.c +++ b/libavdevice/v4l.c @@ -78,7 +78,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) struct video_audio audio; struct video_picture pict; int j; - int vformat_num = sizeof(video_formats) / sizeof(video_formats[0]); + int vformat_num = FF_ARRAY_ELEMS(video_formats); if (ap->width <= 0 || ap->height <= 0) { av_log(s1, AV_LOG_ERROR, "Wrong size (%dx%d)\n", ap->width, ap->height); diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index d8d58f06bd..dc0a22d9ba 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -221,7 +221,7 @@ static uint32_t fmt_ff2v4l(enum PixelFormat pix_fmt) { int i; - for (i = 0; i < sizeof(fmt_conversion_table) / sizeof(struct fmt_map); i++) { + for (i = 0; i < FF_ARRAY_ELEMS(fmt_conversion_table); i++) { if (fmt_conversion_table[i].ff_fmt == pix_fmt) { return fmt_conversion_table[i].v4l2_fmt; } @@ -234,7 +234,7 @@ static enum PixelFormat fmt_v4l2ff(uint32_t pix_fmt) { int i; - for (i = 0; i < sizeof(fmt_conversion_table) / sizeof(struct fmt_map); i++) { + for (i = 0; i < FF_ARRAY_ELEMS(fmt_conversion_table); i++) { if (fmt_conversion_table[i].v4l2_fmt == pix_fmt) { return fmt_conversion_table[i].ff_fmt; } @@ -563,7 +563,7 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap) } else { done = 1; } - if (i == sizeof(fmt_conversion_table) / sizeof(struct fmt_map)) { + if (i == FF_ARRAY_ELEMS(fmt_conversion_table)) { done = 1; } } diff --git a/libavdevice/vfwcap.c b/libavdevice/vfwcap.c index 1bab834db2..078c18668c 100644 --- a/libavdevice/vfwcap.c +++ b/libavdevice/vfwcap.c @@ -152,7 +152,7 @@ static int shall_we_drop(struct vfw_ctx *ctx) { AVFormatContext *s = ctx->s; const uint8_t dropscore[] = {62, 75, 87, 100}; - const int ndropscores = sizeof(dropscore)/sizeof(dropscore[0]); + const int ndropscores = FF_ARRAY_ELEMS(dropscore); unsigned int buffer_fullness = (ctx->curbufsize*100)/s->max_picture_buffer; if(dropscore[++ctx->frame_num%ndropscores] <= buffer_fullness) { diff --git a/libavformat/img2.c b/libavformat/img2.c index f15a6da62e..9706392817 100644 --- a/libavformat/img2.c +++ b/libavformat/img2.c @@ -88,7 +88,7 @@ static int infer_size(int *width_ptr, int *height_ptr, int size) { int i; - for(i=0;i= (sizeof(mov_mdhd_language_map)/sizeof(char *))) + if (code >= FF_ARRAY_ELEMS(mov_mdhd_language_map)) return 0; if (!mov_mdhd_language_map[code]) return 0; diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 0345f575c3..cedfb3d20d 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -226,8 +226,6 @@ typedef struct { EbmlList blocks; } MatroskaCluster; -#define ARRAY_SIZE(x) (sizeof(x)/sizeof(*x)) - static EbmlSyntax ebml_header[] = { { EBML_ID_EBMLREADVERSION, EBML_UINT, 0, offsetof(Ebml,version), {.u=EBML_VERSION} }, { EBML_ID_EBMLMAXSIZELENGTH, EBML_UINT, 0, offsetof(Ebml,max_size), {.u=8} }, @@ -980,7 +978,7 @@ static void matroska_convert_tags(AVFormatContext *s, EbmlList *list) int i, j; for (i=0; i < list->nb_elem; i++) { - for (j=0; j < ARRAY_SIZE(metadata); j++){ + for (j=0; j < FF_ARRAY_ELEMS(metadata); j++){ if (!strcmp(tags[i].name, metadata[j].name)) { int *ptr = (int *)((char *)s + metadata[j].offset); if (*ptr) continue; @@ -1050,7 +1048,7 @@ static int matroska_aac_profile(char *codec_id) static const char * const aac_profiles[] = { "MAIN", "LC", "SSR" }; int profile; - for (profile=0; profilepb; int local_tag_number, i = 0; - local_tag_number = sizeof(mxf_local_tag_batch)/sizeof(*mxf_local_tag_batch); + local_tag_number = FF_ARRAY_ELEMS(mxf_local_tag_batch); put_buffer(pb, primer_pack_key, 16); klv_encode_ber_length(pb, local_tag_number * 18 + 8); @@ -754,8 +752,7 @@ static int mxf_write_header(AVFormatContext *s) { MXFContext *mxf = s->priv_data; int i; - uint8_t present[sizeof(mxf_essence_container_uls)/ - sizeof(*mxf_essence_container_uls)] = {0}; + uint8_t present[FF_ARRAY_ELEMS(mxf_essence_container_uls)] = {0}; for (i = 0; i < s->nb_streams; i++) { AVStream *st = s->streams[i]; diff --git a/libavformat/utils.c b/libavformat/utils.c index 51bc5c58fb..9ef1345236 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2904,7 +2904,7 @@ int64_t parse_date(const char *datestr, int duration) q = NULL; if (!duration) { /* parse the year-month-day part */ - for (i = 0; i < sizeof(date_fmt) / sizeof(date_fmt[0]); i++) { + for (i = 0; i < FF_ARRAY_ELEMS(date_fmt); i++) { q = small_strptime(p, date_fmt[i], &dt); if (q) { break; @@ -2928,7 +2928,7 @@ int64_t parse_date(const char *datestr, int duration) p++; /* parse the hour-minute-second part */ - for (i = 0; i < sizeof(time_fmt) / sizeof(time_fmt[0]); i++) { + for (i = 0; i < FF_ARRAY_ELEMS(time_fmt); i++) { q = small_strptime(p, time_fmt[i], &dt); if (q) { break; diff --git a/libavutil/base64.c b/libavutil/base64.c index a6b44fb71c..97a77468f4 100644 --- a/libavutil/base64.c +++ b/libavutil/base64.c @@ -51,7 +51,7 @@ int av_base64_decode(uint8_t * out, const char *in, int out_length) v = 0; for (i = 0; in[i] && in[i] != '='; i++) { unsigned int index= in[i]-43; - if (index>=(sizeof(map2)/sizeof(map2[0])) || map2[index] == 0xff) + if (index>=FF_ARRAY_ELEMS(map2) || map2[index] == 0xff) return -1; v = (v << 6) + map2[index]; if (i & 3) { diff --git a/libavutil/crc.c b/libavutil/crc.c index 743a64038f..bc21f5bee8 100644 --- a/libavutil/crc.c +++ b/libavutil/crc.c @@ -91,7 +91,7 @@ int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size){ */ const AVCRC *av_crc_get_table(AVCRCId crc_id){ #ifndef CONFIG_HARDCODED_TABLES - if (!av_crc_table[crc_id][sizeof(av_crc_table[crc_id])/sizeof(av_crc_table[crc_id][0])-1]) + if (!av_crc_table[crc_id][FF_ARRAY_ELEMS(av_crc_table[crc_id])-1]) if (av_crc_init(av_crc_table[crc_id], av_crc_table_params[crc_id].le, av_crc_table_params[crc_id].bits,