00001 /* 00002 * VC3/DNxHD decoder. 00003 * Copyright (c) 2007 SmartJog S.A., Baptiste Coudurier <baptiste dot coudurier at smartjog dot com> 00004 * 00005 * This file is part of FFmpeg. 00006 * 00007 * FFmpeg is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * FFmpeg is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with FFmpeg; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00020 */ 00021 00022 #ifndef AVCODEC_DNXHDDATA_H 00023 #define AVCODEC_DNXHDDATA_H 00024 00025 #include <stdint.h> 00026 #include "avcodec.h" 00027 00028 typedef struct { 00029 int cid; 00030 unsigned int width, height; 00031 int interlaced; 00032 unsigned int frame_size; 00033 unsigned int coding_unit_size; 00034 int index_bits; 00035 int bit_depth; 00036 int eob_index; 00037 const uint8_t *luma_weight, *chroma_weight; 00038 const uint8_t *dc_codes, *dc_bits; 00039 const uint16_t *ac_codes; 00040 const uint8_t *ac_bits, *ac_level; 00041 const uint8_t *ac_flags; 00042 const uint16_t *run_codes; 00043 const uint8_t *run_bits, *run; 00044 int bit_rates[5]; 00045 } CIDEntry; 00046 00047 extern const CIDEntry ff_dnxhd_cid_table[]; 00048 00049 int ff_dnxhd_get_cid_table(int cid); 00050 int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth); 00051 00052 #endif /* AVCODEC_DNXHDDATA_H */