22 #ifndef AVCODEC_DNXHDDATA_H 23 #define AVCODEC_DNXHDDATA_H 31 #define DNXHD_INTERLACED (1<<0) 32 #define DNXHD_MBAFF (1<<1) 33 #define DNXHD_444 (1<<2) 36 #define DNXHD_HEADER_INITIAL 0x000002800100 37 #define DNXHD_HEADER_444 0x000002800200 40 #define DNXHD_VARIABLE 0 69 uint64_t data_offset = prefix >> 16;
70 if ((prefix & 0xFFFF0000FFFFLL) == 0x0300 &&
71 data_offset >= 0x0280 && data_offset <= 0x2170 &&
72 (data_offset & 3) == 0)
89 prefix = (prefix << 16) | buf[4] << 8;
101 result = (result + 2048) / 4096 * 4096;
103 return FFMAX(result, 8192);
static av_always_inline uint64_t ff_dnxhd_check_header_prefix(uint64_t prefix)
#define DNXHD_HEADER_INITIAL
Frame headers, extra 0x00 added to end for parser.
const uint8_t * luma_weight
int avpriv_dnxhd_get_interlaced(int cid)
const uint16_t * run_codes
int avpriv_dnxhd_get_frame_size(int cid)
unsigned int coding_unit_size
const uint16_t * ac_codes
static av_always_inline uint64_t ff_dnxhd_parse_header_prefix(const uint8_t *buf)
const uint8_t * chroma_weight
common internal API header
void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel)
static av_always_inline int ff_dnxhd_get_hr_frame_size(int cid, int w, int h)
int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth)
Libavcodec external API header.
main external API structure.
Rational number (pair of numerator and denominator).
static av_always_inline uint64_t ff_dnxhd_check_header_prefix_hr(uint64_t prefix)
const CIDEntry ff_dnxhd_cid_table[]
int bit_rates[5]
Helper to choose variants, rounded to nearest 5Mb/s.
int ff_dnxhd_get_cid_table(int cid)