| OLD | NEW |
| 1 /** | 1 /** |
| 2 * VP8 compatible video decoder | 2 * VP8 compatible video decoder |
| 3 * | 3 * |
| 4 * Copyright (C) 2010 David Conrad | 4 * Copyright (C) 2010 David Conrad |
| 5 * Copyright (C) 2010 Ronald S. Bultje | 5 * Copyright (C) 2010 Ronald S. Bultje |
| 6 * Copyright (C) 2010 Jason Garrett-Glaser | 6 * Copyright (C) 2010 Jason Garrett-Glaser |
| 7 * | 7 * |
| 8 * This file is part of FFmpeg. | 8 * This file is part of FFmpeg. |
| 9 * | 9 * |
| 10 * FFmpeg is free software; you can redistribute it and/or | 10 * FFmpeg is free software; you can redistribute it and/or |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 uint8_t simple; | 123 uint8_t simple; |
| 124 uint8_t level; | 124 uint8_t level; |
| 125 uint8_t sharpness; | 125 uint8_t sharpness; |
| 126 } filter; | 126 } filter; |
| 127 | 127 |
| 128 VP8Macroblock *macroblocks; | 128 VP8Macroblock *macroblocks; |
| 129 VP8FilterStrength *filter_strength; | 129 VP8FilterStrength *filter_strength; |
| 130 | 130 |
| 131 uint8_t *intra4x4_pred_mode_top; | 131 uint8_t *intra4x4_pred_mode_top; |
| 132 uint8_t intra4x4_pred_mode_left[4]; | 132 uint8_t intra4x4_pred_mode_left[4]; |
| 133 uint8_t *segmentation_map; | |
| 134 | 133 |
| 135 /** | 134 /** |
| 136 * Macroblocks can have one of 4 different quants in a frame when | 135 * Macroblocks can have one of 4 different quants in a frame when |
| 137 * segmentation is enabled. | 136 * segmentation is enabled. |
| 138 * If segmentation is disabled, only the first segment's values are used. | 137 * If segmentation is disabled, only the first segment's values are used. |
| 139 */ | 138 */ |
| 140 struct { | 139 struct { |
| 141 // [0] - DC qmul [1] - AC qmul | 140 // [0] - DC qmul [1] - AC qmul |
| 142 int16_t luma_qmul[2]; | 141 int16_t luma_qmul[2]; |
| 143 int16_t luma_dc_qmul[2]; ///< luma dc-only block quant | 142 int16_t luma_dc_qmul[2]; ///< luma dc-only block quant |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 * All coefficients are contained in separate arith coding contexts. | 229 * All coefficients are contained in separate arith coding contexts. |
| 231 * There can be 1, 2, 4, or 8 of these after the header context. | 230 * There can be 1, 2, 4, or 8 of these after the header context. |
| 232 */ | 231 */ |
| 233 int num_coeff_partitions; | 232 int num_coeff_partitions; |
| 234 VP56RangeCoder coeff_partition[8]; | 233 VP56RangeCoder coeff_partition[8]; |
| 235 DSPContext dsp; | 234 DSPContext dsp; |
| 236 VP8DSPContext vp8dsp; | 235 VP8DSPContext vp8dsp; |
| 237 H264PredContext hpc; | 236 H264PredContext hpc; |
| 238 vp8_mc_func put_pixels_tab[3][3][3]; | 237 vp8_mc_func put_pixels_tab[3][3][3]; |
| 239 AVFrame frames[5]; | 238 AVFrame frames[5]; |
| 239 |
| 240 /** |
| 241 * A list of segmentation_map buffers that are to be free()'ed in |
| 242 * the next decoding iteration. We can't free() them right away |
| 243 * because the map may still be used by subsequent decoding threads. |
| 244 * Unused if frame threading is off. |
| 245 */ |
| 246 uint8_t *segmentation_maps[5]; |
| 247 int num_maps_to_be_freed; |
| 248 int maps_are_invalid; |
| 240 } VP8Context; | 249 } VP8Context; |
| 241 | 250 |
| 242 #endif /* AVCODEC_VP8_H */ | 251 #endif /* AVCODEC_VP8_H */ |
| OLD | NEW |