diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-01-23 00:47:27 +0300 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-01-26 15:56:59 +0300 |
commit | 10d059bb24eb88157e071a3db102ddd8f4937a00 (patch) | |
tree | 4e7e64f3cb8c97c7b96bec39fecdc30b2f155dfe /libavcodec/dnxhddata.c | |
parent | 37f76c81d6669033c315354a7d30ef6e605414ae (diff) |
avcodec/dnxhd: Make ff_dxnhd_get_cid_table return a pointer, not index
All callers only use the index into ff_dnxhd_cid_table to get a pointer
to the desired entry.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/dnxhddata.c')
-rw-r--r-- | libavcodec/dnxhddata.c | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/libavcodec/dnxhddata.c b/libavcodec/dnxhddata.c index 154be89860..3a69a0f501 100644 --- a/libavcodec/dnxhddata.c +++ b/libavcodec/dnxhddata.c @@ -932,7 +932,7 @@ static const uint8_t dnxhd_1250_run[62] = { 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, }; -const CIDEntry ff_dnxhd_cid_table[] = { +static const CIDEntry dnxhd_cid_table[] = { { 1235, 1920, 1080, 917504, 917504, 0, 6, 10, 4, dnxhd_1235_luma_weight, dnxhd_1235_chroma_weight, @@ -1075,31 +1075,31 @@ const CIDEntry ff_dnxhd_cid_table[] = { { 0 }, { 5888, 255} }, }; -int ff_dnxhd_get_cid_table(int cid) +const CIDEntry *ff_dnxhd_get_cid_table(int cid) { - int 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; + for (int i = 0; i < FF_ARRAY_ELEMS(dnxhd_cid_table); i++) + if (dnxhd_cid_table[i].cid == cid) + return &dnxhd_cid_table[i]; + return NULL; } int avpriv_dnxhd_get_frame_size(int cid) { - int i = ff_dnxhd_get_cid_table(cid); - if (i<0) - return i; - return ff_dnxhd_cid_table[i].frame_size; + const CIDEntry *entry = ff_dnxhd_get_cid_table(cid); + if (!entry) + return -1; + return entry->frame_size; } int avpriv_dnxhd_get_hr_frame_size(int cid, int w, int h) { - int result, i = ff_dnxhd_get_cid_table(cid); + const CIDEntry *entry = ff_dnxhd_get_cid_table(cid); + int result; - if (i < 0) - return i; + if (!entry) + return -1; - result = ((h + 15) / 16) * ((w + 15) / 16) * (int64_t)ff_dnxhd_cid_table[i].packet_scale.num / ff_dnxhd_cid_table[i].packet_scale.den; + result = ((h + 15) / 16) * ((w + 15) / 16) * (int64_t)entry->packet_scale.num / entry->packet_scale.den; result = (result + 2048) / 4096 * 4096; return FFMAX(result, 8192); @@ -1107,10 +1107,10 @@ int avpriv_dnxhd_get_hr_frame_size(int cid, int w, int h) int avpriv_dnxhd_get_interlaced(int cid) { - int i = ff_dnxhd_get_cid_table(cid); - if (i < 0) - return i; - return ff_dnxhd_cid_table[i].flags & DNXHD_INTERLACED ? 1 : 0; + const CIDEntry *entry = ff_dnxhd_get_cid_table(cid); + if (!entry) + return -1; + return entry->flags & DNXHD_INTERLACED ? 1 : 0; } static int dnxhd_find_hr_cid(AVCodecContext *avctx) @@ -1140,8 +1140,8 @@ int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth) if (!mbs) return 0; - for (i = 0; i < FF_ARRAY_ELEMS(ff_dnxhd_cid_table); i++) { - const CIDEntry *cid = &ff_dnxhd_cid_table[i]; + for (i = 0; i < FF_ARRAY_ELEMS(dnxhd_cid_table); i++) { + const CIDEntry *cid = &dnxhd_cid_table[i]; int interlaced = cid->flags & DNXHD_INTERLACED ? 1 : 0; if (cid->width == avctx->width && cid->height == avctx->height && interlaced == !!(avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) && @@ -1163,8 +1163,8 @@ int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth) void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel) { int i, j; - for (i = 0; i < FF_ARRAY_ELEMS(ff_dnxhd_cid_table); i++) { - const CIDEntry *cid = &ff_dnxhd_cid_table[i]; + for (i = 0; i < FF_ARRAY_ELEMS(dnxhd_cid_table); i++) { + const CIDEntry *cid = &dnxhd_cid_table[i]; for (j = 0; j < FF_ARRAY_ELEMS(cid->bit_rates); j++) { if (!cid->bit_rates[j]) break; |