From 5dedb2afd64e27ad08308487e185f7e3a5bea1b9 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 14 Apr 2017 16:09:07 +0200 Subject: avcodec/dnxhd*: add ff_dnxhd_get_hr_frame_size() Signed-off-by: Paul B Mahol --- libavcodec/dnxhddata.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libavcodec/dnxhddata.h') diff --git a/libavcodec/dnxhddata.h b/libavcodec/dnxhddata.h index 89262a1..c96c5e8 100644 --- a/libavcodec/dnxhddata.h +++ b/libavcodec/dnxhddata.h @@ -91,6 +91,19 @@ static av_always_inline uint64_t ff_dnxhd_parse_header_prefix(const uint8_t *buf return ff_dnxhd_check_header_prefix(prefix); } +static av_always_inline int ff_dnxhd_get_hr_frame_size(int cid, int w, int h) +{ + int result, i = ff_dnxhd_get_cid_table(cid); + + if (i < 0) + return i; + + 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 = (result + 2048) / 4096 * 4096; + + return FFMAX(result, 8192); +} + int avpriv_dnxhd_get_frame_size(int cid); int avpriv_dnxhd_get_interlaced(int cid); #if LIBAVCODEC_VERSION_MAJOR < 58 -- cgit v1.1