FFmpeg
4.4
|
4XM codec. More...
#include <inttypes.h>
#include "libavutil/avassert.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "bswapdsp.h"
#include "bytestream.h"
#include "get_bits.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | CFrameBuffer |
struct | FourXContext |
Macros | |
#define | BLOCK_TYPE_VLC_BITS 5 |
#define | ACDC_VLC_BITS 9 |
#define | CFRAME_BUFFER_COUNT 100 |
#define | FIX_1_082392200 70936 |
#define | FIX_1_414213562 92682 |
#define | FIX_1_847759065 121095 |
#define | FIX_2_613125930 171254 |
#define | MULTIPLY(var, const) ((int)((var) * (unsigned)(const)) >> 16) |
#define | LE_CENTRIC_MUL(dst, src, scale, dc) |
Functions | |
static void | idct (int16_t block[64]) |
static av_cold void | init_vlcs (FourXContext *f) |
static void | init_mv (FourXContext *f, int linesize) |
static void | mcdc (uint16_t *dst, const uint16_t *src, int log2w, int h, int stride, int scale, unsigned dc) |
static int | decode_p_block (FourXContext *f, uint16_t *dst, const uint16_t *src, int log2w, int log2h, int stride) |
static int | decode_p_frame (FourXContext *f, const uint8_t *buf, int length) |
static int | decode_i_block (FourXContext *f, int16_t *block) |
decode block and dequantize. More... | |
static void | idct_put (FourXContext *f, int x, int y) |
static int | decode_i_mb (FourXContext *f) |
static const uint8_t * | read_huffman_tables (FourXContext *f, const uint8_t *const buf, int buf_size) |
static int | mix (int c0, int c1) |
static int | decode_i2_frame (FourXContext *f, const uint8_t *buf, int length) |
static int | decode_i_frame (FourXContext *f, const uint8_t *buf, int length) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
static av_cold int | decode_end (AVCodecContext *avctx) |
static av_cold int | decode_init (AVCodecContext *avctx) |
Variables | |
static const uint8_t | block_type_tab [2][4][8][2] |
static const uint8_t | size2index [4][4] |
static const int8_t | mv [256][2] |
static const uint8_t | dequant_table [64] |
static VLC | block_type_vlc [2][4] |
AVCodec | ff_fourxm_decoder |
4XM codec.
Definition in file 4xm.c.
#define MULTIPLY | ( | var, | |
const | |||
) | ((int)((var) * (unsigned)(const)) >> 16) |
|
static |
Definition at line 164 of file 4xm.c.
Referenced by avcodec_dct_init(), check_idct(), check_idct_multiple(), check_luma_dc_wht(), idct_put(), and INIT_FUNC().
|
static |
Definition at line 249 of file 4xm.c.
Referenced by decode_init().
|
static |
Definition at line 266 of file 4xm.c.
Referenced by decode_p_frame().
|
inlinestatic |
Definition at line 295 of file 4xm.c.
Referenced by decode_p_block().
|
static |
Definition at line 343 of file 4xm.c.
Referenced by decode_p_frame().
|
static |
Definition at line 430 of file 4xm.c.
Referenced by decode_frame().
|
static |
decode block and dequantize.
Note this is almost identical to MJPEG.
Definition at line 498 of file 4xm.c.
Referenced by decode_i_mb().
|
inlinestatic |
Definition at line 557 of file 4xm.c.
Referenced by decode_i_frame(), and dv_decode_video_segment().
|
static |
Definition at line 603 of file 4xm.c.
Referenced by decode_i_frame().
|
static |
Definition at line 617 of file 4xm.c.
Referenced by decode_i_frame().
Definition at line 715 of file 4xm.c.
Referenced by colorizey_slice16(), colorizey_slice8(), compressor(), decode_i2_frame(), filter_channels(), filter_frame(), frame_synthesis(), lerp(), parse_cinespace(), temperature_slice16(), temperature_slice16p(), temperature_slice8(), and temperature_slice8p().
|
static |
Definition at line 723 of file 4xm.c.
Referenced by decode_frame().
|
static |
Definition at line 771 of file 4xm.c.
Referenced by decode_frame().
|
static |
|
static |
Definition at line 971 of file 4xm.c.
Referenced by decode_init().
|
static |
|
static |
Definition at line 47 of file 4xm.c.
Referenced by init_vlcs().
|
static |
Definition at line 71 of file 4xm.c.
Referenced by decode_p_block().
|
static |
Definition at line 78 of file 4xm.c.
Referenced by add_mv_data(), apply_obmc(), chroma_mc_uni(), clv_decode_frame(), compare_mv_ref_idx(), decode_13(), decode_inter(), decode_mode(), decode_packet(), decode_tile_info(), derive_spatial_merge_candidates(), dist_scale(), dwt_decode53(), dwt_decode97_float(), dwt_decode97_int(), dwt_encode53(), dwt_encode97_float(), dwt_encode97_int(), encode_frame(), fetch_diagonal_mv(), ff_hevc_luma_mv_merge_mode(), ff_hevc_luma_mv_mvp_mode(), ff_me_search_ds(), ff_me_search_epzs(), ff_me_search_fss(), ff_me_search_hexbs(), ff_me_search_ntss(), ff_me_search_tdls(), ff_me_search_tss(), ff_me_search_umh(), ff_msmpeg4_decode_init(), ff_msmpeg4_decode_motion(), ff_msmpeg4_encode_motion(), ff_vp9_fill_mv(), fill_decode_caches(), filter_frame(), find_block_motion(), find_motion(), find_ref_mvs(), h263_get_modb(), h264_er_decode_mb(), hevc_await_progress(), hevc_luma_mv_mvp_mode(), init_mv(), init_mv_penalty_and_fcode(), ivi_scale_mv(), luma_mc_uni(), mc_chroma_scaled(), mc_chroma_unscaled(), mc_dir_part(), mc_luma_scaled(), mc_luma_unscaled(), mc_part_std(), mpeg_er_decode_mb(), mv_mp_mode_mx(), mv_mp_mode_mx_lt(), mv_read_header(), mv_read_packet(), mv_read_seek(), obmc_motion(), parse_audio_var(), parse_global_var(), pred_pskip_motion(), pred_spatial_direct_motion(), predict_motion(), restore_tree(), search_mv(), set_mvs(), svq1_decode_motion_vector(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq3_mc_dir(), var_size_bme(), vc1_p_h_loop_filter(), vc1_p_v_loop_filter(), vp56_conceal_mv(), vp56_decode_4mv(), vp56_decode_mv(), vp6_filter(), vp7_decode_mvs(), vp8_mc_chroma(), vp8_mc_luma(), and vp8_mc_part().
|
static |
Definition at line 115 of file 4xm.c.
Referenced by decode_i_block(), and fill_tone_level_array().
|
static |
Definition at line 126 of file 4xm.c.
Referenced by decode_p_block(), and init_vlcs().
AVCodec ff_fourxm_decoder |