FFmpeg
|
#include "libavutil/pixdesc.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "get_bits.h"
#include "bytestream.h"
#include "internal.h"
#include "golomb.h"
#include "dirac_arith.h"
#include "dirac_vlc.h"
#include "mpeg12data.h"
#include "libavcodec/mpegvideo.h"
#include "mpegvideoencdsp.h"
#include "dirac_dwt.h"
#include "dirac.h"
#include "diractab.h"
#include "diracdsp.h"
#include "videodsp.h"
Go to the source code of this file.
Data Structures | |
struct | DiracFrame |
struct | DiracBlock |
struct | SubBand |
struct | Plane |
struct | DiracSlice |
struct | DiracContext |
struct | SliceCoeffs |
Macros | |
#define | MAX_REFERENCE_FRAMES 8 |
The spec limits this to 3 for frame coding, but in practice can be as high as 6. More... | |
#define | MAX_DELAY 5 /* limit for main profile for frame coding (TODO: field coding) */ |
#define | MAX_FRAMES (MAX_REFERENCE_FRAMES + MAX_DELAY + 1) |
#define | MAX_QUANT 255 /* max quant for VC-2 */ |
#define | MAX_BLOCKSIZE 32 /* maximum xblen/yblen we support */ |
#define | DIRAC_REF_MASK_REF1 1 |
DiracBlock->ref flags, if set then the block does MC from the given ref. More... | |
#define | DIRAC_REF_MASK_REF2 2 |
#define | DIRAC_REF_MASK_GLOBAL 4 |
#define | DELAYED_PIC_REF 4 |
Value of Picture.reference when Picture is not a reference picture, but is held for delayed output. More... | |
#define | CALC_PADDING(size, depth) (((size + (1 << depth) - 1) >> depth) << depth) |
#define | DIVRNDUP(a, b) (((a) + (b) - 1) / (b)) |
#define | SIGN_CTX(x) (CTX_SIGN_ZERO + ((x) > 0) - ((x) < 0)) |
#define | UNPACK_ARITH(n, type) |
#define | INTRA_DC_PRED(n, type) |
Dirac Specification -> 13.3 intra_dc_prediction(band) More... | |
#define | PARSE_VALUES(type, x, gb, ebits, buf1, buf2) |
#define | CHECKEDREAD(dst, cond, errmsg) |
#define | ROLLOFF(i) |
#define | DATA_UNIT_HEADER_SIZE 13 |
Dirac Specification -> 9.6 Parse Info Header Syntax. More... | |
Enumerations | |
enum | dirac_subband { subband_ll = 0, subband_hl = 1, subband_lh = 2, subband_hh = 3, subband_nb } |
Variables | |
static AVOnce | dirac_arith_init = AV_ONCE_INIT |
static const uint8_t | epel_weights [4][4][4] |
AVCodec | ff_dirac_decoder |
Dirac Decoder.
Definition in file diracdec.c.
#define MAX_REFERENCE_FRAMES 8 |
The spec limits this to 3 for frame coding, but in practice can be as high as 6.
Definition at line 50 of file diracdec.c.
Referenced by dirac_decode_picture_header().
Definition at line 51 of file diracdec.c.
Referenced by dirac_decode_frame().
#define MAX_FRAMES (MAX_REFERENCE_FRAMES + MAX_DELAY + 1) |
Definition at line 52 of file diracdec.c.
Referenced by dirac_decode_data_unit(), dirac_decode_end(), dirac_decode_frame(), dirac_decode_init(), dirac_decode_picture_header(), ff_opus_parse_packet(), and free_sequence_buffers().
Definition at line 53 of file diracdec.c.
#define MAX_BLOCKSIZE 32 /* maximum xblen/yblen we support */ |
Definition at line 54 of file diracdec.c.
Referenced by add_dc(), alloc_buffers(), alloc_sequence_buffers(), dirac_unpack_prediction_parameters(), filter_channel(), init_obmc_weights(), mlp_encode_frame(), mlp_filter_channel(), and read_major_sync().
#define DIRAC_REF_MASK_REF1 1 |
DiracBlock->ref flags, if set then the block does MC from the given ref.
Definition at line 59 of file diracdec.c.
Referenced by decode_block_params().
#define DIRAC_REF_MASK_REF2 2 |
Definition at line 60 of file diracdec.c.
Referenced by decode_block_params().
#define DIRAC_REF_MASK_GLOBAL 4 |
Definition at line 61 of file diracdec.c.
Referenced by decode_block_params(), and pred_mv().
#define DELAYED_PIC_REF 4 |
Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.
Definition at line 67 of file diracdec.c.
Referenced by dirac_decode_frame(), dirac_decode_picture_header(), get_delayed_pic(), h264_field_start(), h264_select_output_frame(), pic_is_unused(), send_next_delayed_frame(), and unreference_pic().
Definition at line 69 of file diracdec.c.
Referenced by alloc_sequence_buffers(), dirac_decode_data_unit(), and init_planes().
Definition at line 72 of file diracdec.c.
Referenced by alloc_sequence_buffers(), and dirac_unpack_block_motion_data().
#define SIGN_CTX | ( | x | ) | (CTX_SIGN_ZERO + ((x) > 0) - ((x) < 0)) |
Definition at line 452 of file diracdec.c.
Definition at line 454 of file diracdec.c.
#define PARSE_VALUES | ( | type, | |
x, | |||
gb, | |||
ebits, | |||
buf1, | |||
buf2 | |||
) |
Definition at line 704 of file diracdec.c.
Referenced by decode_subband().
#define CHECKEDREAD | ( | dst, | |
cond, | |||
errmsg | |||
) |
Referenced by dirac_unpack_idwt_params().
#define ROLLOFF | ( | i | ) |
#define DATA_UNIT_HEADER_SIZE 13 |
Dirac Specification -> 9.6 Parse Info Header Syntax.
parse_info() 4 byte start code + byte parse code + 4 byte size + 4 byte previous size
Definition at line 2102 of file diracdec.c.
Referenced by dirac_decode_data_unit(), and dirac_decode_frame().
enum dirac_subband |
Enumerator | |
---|---|
subband_ll | |
subband_hl | |
subband_lh | |
subband_hh | |
subband_nb |
Definition at line 242 of file diracdec.c.
Definition at line 251 of file diracdec.c.
Referenced by pred_block_dc().
|
static |
Definition at line 256 of file diracdec.c.
Referenced by dirac_decode_frame(), and dirac_decode_picture_header().
|
static |
Definition at line 274 of file diracdec.c.
Referenced by dirac_decode_frame(), and dirac_decode_picture_header().
|
static |
Definition at line 285 of file diracdec.c.
Referenced by dirac_decode_data_unit().
|
static |
Definition at line 323 of file diracdec.c.
Referenced by dirac_decode_data_unit().
|
static |
Definition at line 352 of file diracdec.c.
Referenced by dirac_decode_data_unit(), and dirac_decode_flush().
|
static |
Definition at line 386 of file diracdec.c.
|
static |
Definition at line 418 of file diracdec.c.
Referenced by dirac_decode_end().
|
static |
Definition at line 426 of file diracdec.c.
|
inlinestatic |
Definition at line 443 of file diracdec.c.
Referenced by codeblock().
|
inlinestatic |
Decode the coeffs in the rectangle defined by left, right, top, bottom [DIRAC_STD] 13.4.3.2 Codeblock unpacking loop.
Definition at line 491 of file diracdec.c.
Referenced by decode_subband_internal().
|
static |
Dirac Specification -> 13.4.2 Non-skipped subbands.
Definition at line 599 of file diracdec.c.
Referenced by decode_subband_arith(), and decode_subband_golomb().
|
static |
Definition at line 641 of file diracdec.c.
Referenced by decode_component().
|
static |
Definition at line 647 of file diracdec.c.
Referenced by decode_component().
|
static |
Dirac Specification -> [DIRAC_STD] 13.4.1 core_transform_data()
Definition at line 658 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
|
static |
Definition at line 716 of file diracdec.c.
Referenced by decode_lowdelay_slice().
|
static |
Dirac Specification -> 13.5.2 Slices.
slice(sx,sy)
Definition at line 768 of file diracdec.c.
Referenced by decode_lowdelay().
|
static |
Definition at line 814 of file diracdec.c.
Referenced by decode_hq_slice(), and decode_lowdelay().
|
static |
VC-2 Specification -> 13.5.3 hq_slice(sx,sy)
Definition at line 835 of file diracdec.c.
Referenced by decode_hq_slice_row().
|
static |
Definition at line 909 of file diracdec.c.
Referenced by decode_lowdelay().
|
static |
Dirac Specification -> 13.5.1 low_delay_transform_data()
Definition at line 924 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
|
static |
Definition at line 1042 of file diracdec.c.
Referenced by dirac_decode_picture_header().
|
static |
Unpack the motion compensation parameters Dirac Specification -> 11.2 Picture prediction data.
picture_prediction()
Definition at line 1096 of file diracdec.c.
Referenced by dirac_decode_picture_header().
|
static |
Dirac Specification -> 11.3 Wavelet transform data.
wavelet_transform()
Definition at line 1224 of file diracdec.c.
Referenced by dirac_decode_picture_header().
Definition at line 1318 of file diracdec.c.
Referenced by dirac_unpack_block_motion_data().
|
inlinestatic |
Definition at line 1332 of file diracdec.c.
Referenced by decode_block_params().
|
inlinestatic |
Definition at line 1348 of file diracdec.c.
Referenced by decode_block_params().
Definition at line 1381 of file diracdec.c.
Referenced by decode_block_params(), decode_q_branch(), encode_q_branch(), encode_q_branch2(), get_block_bits(), and mvi_predict().
|
static |
Definition at line 1417 of file diracdec.c.
Referenced by decode_block_params().
|
static |
Definition at line 1433 of file diracdec.c.
Referenced by dirac_unpack_block_motion_data().
|
static |
Copies the current block to the other blocks covered by the current superblock split mode.
Definition at line 1473 of file diracdec.c.
Referenced by dirac_unpack_block_motion_data().
|
static |
Dirac Specification ->
Definition at line 1492 of file diracdec.c.
Referenced by dirac_decode_picture_header().
Definition at line 1547 of file diracdec.c.
Referenced by apply_delogo(), aptx_process_subband(), celt_gauge_psy_weight(), check_decorrelate_stereo(), dv_init_enc_block(), encode_mb_internal(), ff_h264_biweight_pixels4_8_mmi(), ff_h264_weight_pixels16_8_mmi(), ff_h264_weight_pixels4_8_mmi(), ff_lpc_calc_coefs(), ff_lpc_calc_ref_coefs_f(), find_form_factor(), guess_dc(), hevc_biwgt_copy_12w_msa(), hevc_biwgt_copy_16w_msa(), hevc_biwgt_copy_24w_msa(), hevc_biwgt_copy_32w_msa(), hevc_biwgt_copy_48w_msa(), hevc_biwgt_copy_4w_msa(), hevc_biwgt_copy_64w_msa(), hevc_biwgt_copy_6w_msa(), hevc_biwgt_copy_8w_msa(), hevc_hv_biwgt_4t_12w_msa(), hevc_hv_biwgt_4t_4multx8mult_msa(), hevc_hv_biwgt_4t_4x2_msa(), hevc_hv_biwgt_4t_4x4_msa(), hevc_hv_biwgt_4t_6w_msa(), hevc_hv_biwgt_4t_8multx4_msa(), hevc_hv_biwgt_4t_8multx4mult_msa(), hevc_hv_biwgt_4t_8x2_msa(), hevc_hv_biwgt_4t_8x6_msa(), hevc_hv_biwgt_8t_12w_msa(), hevc_hv_biwgt_8t_4w_msa(), hevc_hv_biwgt_8t_8multx2mult_msa(), hevc_hz_biwgt_4t_12w_msa(), hevc_hz_biwgt_4t_16w_msa(), hevc_hz_biwgt_4t_24w_msa(), hevc_hz_biwgt_4t_32w_msa(), hevc_hz_biwgt_4t_4x2_msa(), hevc_hz_biwgt_4t_4x4_msa(), hevc_hz_biwgt_4t_4x8multiple_msa(), hevc_hz_biwgt_4t_6w_msa(), hevc_hz_biwgt_4t_8x2_msa(), hevc_hz_biwgt_4t_8x4multiple_msa(), hevc_hz_biwgt_4t_8x6_msa(), hevc_hz_biwgt_8t_12w_msa(), hevc_hz_biwgt_8t_16w_msa(), hevc_hz_biwgt_8t_24w_msa(), hevc_hz_biwgt_8t_32w_msa(), hevc_hz_biwgt_8t_48w_msa(), hevc_hz_biwgt_8t_4w_msa(), hevc_hz_biwgt_8t_64w_msa(), hevc_hz_biwgt_8t_8w_msa(), hevc_vt_biwgt_4t_12w_msa(), hevc_vt_biwgt_4t_16w_msa(), hevc_vt_biwgt_4t_24w_msa(), hevc_vt_biwgt_4t_32w_msa(), hevc_vt_biwgt_4t_4x2_msa(), hevc_vt_biwgt_4t_4x4_msa(), hevc_vt_biwgt_4t_4x8multiple_msa(), hevc_vt_biwgt_4t_6w_msa(), hevc_vt_biwgt_4t_8x2_msa(), hevc_vt_biwgt_4t_8x4multiple_msa(), hevc_vt_biwgt_4t_8x6_msa(), hevc_vt_biwgt_8t_12w_msa(), hevc_vt_biwgt_8t_16multx2mult_msa(), hevc_vt_biwgt_8t_4w_msa(), hevc_vt_biwgt_8t_8w_msa(), init_obmc_weight(), init_obmc_weight_row(), interpolate_lpc(), lsp_quantize(), mc_block(), nlmeans_slice(), silk_decode_lpc(), and try_8x8basis_TMPL().
|
static |
Definition at line 1559 of file diracdec.c.
Referenced by init_obmc_weight().
|
static |
Definition at line 1573 of file diracdec.c.
Referenced by init_obmc_weights().
|
static |
Definition at line 1592 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
|
static |
For block x,y, determine which of the hpel planes to do bilinear interpolation from and set src[] to the location in each hpel plane to MC from.
Definition at line 1632 of file diracdec.c.
Referenced by block_mc().
|
static |
Definition at line 1727 of file diracdec.c.
Referenced by block_mc().
|
static |
Definition at line 1743 of file diracdec.c.
Referenced by mc_row().
|
static |
Definition at line 1779 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
|
static |
Definition at line 1795 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
|
static |
Definition at line 1815 of file diracdec.c.
Referenced by dirac_decode_frame_internal().
|
static |
Dirac Specification -> 13.0 Transform data syntax.
transform_data()
Definition at line 1856 of file diracdec.c.
Referenced by dirac_decode_data_unit().
|
static |
Definition at line 1953 of file diracdec.c.
Referenced by dirac_decode_data_unit(), and dirac_decode_picture_header().
|
static |
Dirac Specification -> 11.1.1 Picture Header.
Definition at line 1983 of file diracdec.c.
Referenced by dirac_decode_data_unit().
|
static |
Definition at line 2071 of file diracdec.c.
Referenced by dirac_decode_frame().
|
static |
Definition at line 2106 of file diracdec.c.
Referenced by dirac_decode_frame().
|
static |
Definition at line 2248 of file diracdec.c.
|
static |
Definition at line 384 of file diracdec.c.
Referenced by dirac_decode_init().
|
static |
Definition at line 1605 of file diracdec.c.
Referenced by mc_subpel().
AVCodec ff_dirac_decoder |
Definition at line 2344 of file diracdec.c.