Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * VC3/DNxHD decoder.
  3.  * Copyright (c) 2007 SmartJog S.A., Baptiste Coudurier <baptiste dot coudurier at smartjog dot com>
  4.  *
  5.  * This file is part of FFmpeg.
  6.  *
  7.  * FFmpeg is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU Lesser General Public
  9.  * License as published by the Free Software Foundation; either
  10.  * version 2.1 of the License, or (at your option) any later version.
  11.  *
  12.  * FFmpeg is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  * Lesser General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU Lesser General Public
  18.  * License along with FFmpeg; if not, write to the Free Software
  19.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20.  */
  21.  
  22. #ifndef AVCODEC_DNXHDDATA_H
  23. #define AVCODEC_DNXHDDATA_H
  24.  
  25. #include <stdint.h>
  26. #include "avcodec.h"
  27. #include "libavutil/internal.h"
  28.  
  29. typedef struct CIDEntry {
  30.     int cid;
  31.     unsigned int width, height;
  32.     int interlaced;
  33.     unsigned int frame_size;
  34.     unsigned int coding_unit_size;
  35.     int index_bits;
  36.     int bit_depth;
  37.     int eob_index;
  38.     const uint8_t *luma_weight, *chroma_weight;
  39.     const uint8_t *dc_codes, *dc_bits;
  40.     const uint16_t *ac_codes;
  41.     const uint8_t *ac_bits, *ac_level;
  42.     const uint8_t *ac_flags;
  43.     const uint16_t *run_codes;
  44.     const uint8_t *run_bits, *run;
  45.     int bit_rates[5]; ///< Helpher to choose variants, rounded to nearest 5Mb/s
  46.     AVRational frame_rates[5];
  47. } CIDEntry;
  48.  
  49. extern av_export const CIDEntry ff_dnxhd_cid_table[];
  50.  
  51. int ff_dnxhd_get_cid_table(int cid);
  52. int ff_dnxhd_find_cid(AVCodecContext *avctx, int bit_depth);
  53. void ff_dnxhd_print_profiles(AVCodecContext *avctx, int loglevel);
  54.  
  55. int avpriv_dnxhd_get_frame_size(int cid);
  56.  
  57. #endif /* AVCODEC_DNXHDDATA_H */
  58.