| FFmpeg
    | 
#include "libavutil/avassert.h"#include "libavutil/emms.h"#include "libavutil/mem.h"#include "avcodec.h"#include "get_bits.h"#include "golomb.h"#include "cavs.h"#include "codec_internal.h"#include "decode.h"#include "mathops.h"#include "mpeg12data.h"#include "startcode.h"Go to the source code of this file.
| Macros | |
| #define | EOB 0, 0, 0 | 
| #define | TMP_UNUSED_INX 7 | 
| Functions | |
| static void | store_mvs (AVSContext *h) | 
| static void | mv_pred_direct (AVSContext *h, cavs_vector *pmv_fw, cavs_vector *col_mv) | 
| static void | mv_pred_sym (AVSContext *h, cavs_vector *src, enum cavs_block size) | 
| static int | get_ue_code (GetBitContext *gb, int order) | 
| kth-order exponential golomb code  More... | |
| static int | dequant (AVSContext *h, int16_t *level_buf, uint8_t *run_buf, int16_t *dst, int mul, int shift, int coeff_num) | 
| static int | decode_residual_block (AVSContext *h, GetBitContext *gb, const struct dec_2dvlc *r, int esc_golomb_order, int qp, uint8_t *dst, ptrdiff_t stride) | 
| decode coefficients from one 8x8 block, dequantize, inverse transform and add them to sample block  More... | |
| static int | decode_residual_chroma (AVSContext *h) | 
| static int | decode_residual_inter (AVSContext *h) | 
| static void | set_mv_intra (AVSContext *h) | 
| static int | decode_mb_i (AVSContext *h, int cbp_code) | 
| static void | set_intra_mode_default (AVSContext *h) | 
| static void | decode_mb_p (AVSContext *h, enum cavs_mb mb_type) | 
| static int | decode_mb_b (AVSContext *h, enum cavs_mb mb_type) | 
| static int | decode_slice_header (AVSContext *h, GetBitContext *gb) | 
| static int | check_for_slice (AVSContext *h) | 
| static int | decode_pic (AVSContext *h) | 
| static int | decode_seq_header (AVSContext *h) | 
| static void | cavs_flush (AVCodecContext *avctx) | 
| static int | cavs_decode_frame (AVCodecContext *avctx, AVFrame *rframe, int *got_frame, AVPacket *avpkt) | 
| Variables | |
| static const uint8_t | mv_scan [4] | 
| static const uint8_t | cbp_tab [64][2] | 
| static const uint8_t | scan3x3 [4] = { 4, 5, 7, 8 } | 
| static const uint8_t | dequant_shift [64] | 
| static const uint16_t | dequant_mul [64] | 
| static const struct dec_2dvlc | intra_dec [7] | 
| static const struct dec_2dvlc | inter_dec [7] | 
| static const struct dec_2dvlc | chroma_dec [5] | 
| const FFCodec | ff_cavs_decoder | 
Chinese AVS video (AVS1-P2, JiZhun profile) decoder
Definition in file cavsdec.c.
| #define TMP_UNUSED_INX 7 | 
| 
 | inlinestatic | 
Definition at line 461 of file cavsdec.c.
Referenced by decode_mb_p().
| 
 | inlinestatic | 
Definition at line 469 of file cavsdec.c.
Referenced by decode_mb_b().
| 
 | inlinestatic | 
Definition at line 488 of file cavsdec.c.
Referenced by decode_mb_b().
| 
 | inlinestatic | 
kth-order exponential golomb code
Definition at line 508 of file cavsdec.c.
Referenced by decode_residual_block().
| 
 | inlinestatic | 
Definition at line 521 of file cavsdec.c.
Referenced by calc_dequant(), decode_block(), decode_residual_block(), and lead_decode_frame().
| 
 | static | 
decode coefficients from one 8x8 block, dequantize, inverse transform and add them to sample block
| r | pointer to 2D VLC table | 
| esc_golomb_order | escape codes are k-golomb with this order k | 
| qp | quantizer | 
| dst | location of sample block | 
| stride | line stride in frame buffer | 
Definition at line 551 of file cavsdec.c.
Referenced by decode_mb_i(), decode_residual_chroma(), and decode_residual_inter().
| 
 | inlinestatic | 
Definition at line 599 of file cavsdec.c.
Referenced by decode_mb_i(), and decode_residual_inter().
| 
 | inlinestatic | 
Definition at line 616 of file cavsdec.c.
Referenced by decode_mb_b(), and decode_mb_p().
| 
 | inlinestatic | 
Definition at line 646 of file cavsdec.c.
Referenced by decode_mb_i().
| 
 | static | 
Definition at line 656 of file cavsdec.c.
Referenced by decode_pic().
| 
 | inlinestatic | 
Definition at line 730 of file cavsdec.c.
Referenced by decode_mb_b(), and decode_mb_p().
| 
 | static | 
Definition at line 741 of file cavsdec.c.
Referenced by decode_pic().
| 
 | static | 
Definition at line 786 of file cavsdec.c.
Referenced by decode_pic().
| 
 | inlinestatic | 
Definition at line 929 of file cavsdec.c.
Referenced by cavs_decode_frame(), and check_for_slice().
| 
 | inlinestatic | 
Definition at line 958 of file cavsdec.c.
Referenced by decode_pic().
| 
 | static | 
Definition at line 986 of file cavsdec.c.
Referenced by cavs_decode_frame().
| 
 | static | 
Definition at line 1178 of file cavsdec.c.
Referenced by cavs_decode_frame().
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
Definition at line 46 of file cavsdec.c.
Referenced by decode_mb_i(), and decode_residual_inter().
| 
 | static | 
Definition at line 57 of file cavsdec.c.
Referenced by decode_mb_i().
| 
 | static | 
Definition at line 59 of file cavsdec.c.
Referenced by decode_residual_block().
| 
 | static | 
Definition at line 70 of file cavsdec.c.
Referenced by decode_residual_block().
| 
 | static | 
Definition at line 83 of file cavsdec.c.
Referenced by decode_mb_i().
| 
 | static | 
Definition at line 219 of file cavsdec.c.
Referenced by decode_residual_inter().
| 
 | static | 
Definition at line 355 of file cavsdec.c.
Referenced by decode_residual_chroma().
| const FFCodec ff_cavs_decoder | 
 1.8.17
 1.8.17