yading@10: /* yading@10: * VC3/DNxHD decoder. yading@10: * Copyright (c) 2007 SmartJog S.A., Baptiste Coudurier yading@10: * yading@10: * This file is part of FFmpeg. yading@10: * yading@10: * FFmpeg is free software; you can redistribute it and/or yading@10: * modify it under the terms of the GNU Lesser General Public yading@10: * License as published by the Free Software Foundation; either yading@10: * version 2.1 of the License, or (at your option) any later version. yading@10: * yading@10: * FFmpeg is distributed in the hope that it will be useful, yading@10: * but WITHOUT ANY WARRANTY; without even the implied warranty of yading@10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU yading@10: * Lesser General Public License for more details. yading@10: * yading@10: * You should have received a copy of the GNU Lesser General Public yading@10: * License along with FFmpeg; if not, write to the Free Software yading@10: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA yading@10: */ yading@10: yading@10: #ifndef AVCODEC_DNXHDDATA_H yading@10: #define AVCODEC_DNXHDDATA_H yading@10: yading@10: #include yading@10: #include "avcodec.h" yading@10: #include "libavutil/internal.h" yading@10: yading@10: typedef struct CIDEntry { yading@10: int cid; yading@10: unsigned int width, height; yading@10: int interlaced; yading@10: unsigned int frame_size; yading@10: unsigned int coding_unit_size; yading@10: int index_bits; yading@10: int bit_depth; yading@10: int eob_index; yading@10: const uint8_t *luma_weight, *chroma_weight; yading@10: const uint8_t *dc_codes, *dc_bits; yading@10: const uint16_t *ac_codes; yading@10: const uint8_t *ac_bits, *ac_level; yading@10: const uint8_t *ac_flags; yading@10: const uint16_t *run_codes; yading@10: const uint8_t *run_bits, *run; yading@10: int bit_rates[5]; ///< Helpher to choose variants, rounded to nearest 5Mb/s yading@10: AVRational frame_rates[5]; yading@10: } CIDEntry; yading@10: yading@10: extern av_export const CIDEntry ff_dnxhd_cid_table[]; yading@10: yading@10: int ff_dnxhd_get_cid_table(int cid); yading@10: int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth); yading@10: void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel); yading@10: yading@10: int avpriv_dnxhd_get_frame_size(int cid); yading@10: yading@10: #endif /* AVCODEC_DNXHDDATA_H */