FFmpeg
|
#include "libavutil/internal.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "get_bits.h"
#include "hwconfig.h"
#include "idctdsp.h"
#include "internal.h"
#include "profiles.h"
#include "simple_idct.h"
#include "proresdec.h"
#include "proresdata.h"
#include "thread.h"
Go to the source code of this file.
Macros | |
#define | LONG_BITSTREAM_READER |
#define | ALPHA_SHIFT_16_TO_10(alpha_val) (alpha_val >> 6) |
#define | ALPHA_SHIFT_8_TO_10(alpha_val) ((alpha_val << 2) | (alpha_val >> 6)) |
#define | ALPHA_SHIFT_16_TO_12(alpha_val) (alpha_val >> 4) |
#define | ALPHA_SHIFT_8_TO_12(alpha_val) ((alpha_val << 4) | (alpha_val >> 4)) |
#define | HWACCEL_MAX (CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL) |
#define | DECODE_CODEWORD(val, codebook, SKIP) |
#define | TOSIGNED(x) (((x) >> 1) ^ (-((x) & 1))) |
#define | FIRST_DC_CB 0xB8 |
Functions | |
static void | permute (uint8_t *dst, const uint8_t *src, const uint8_t permutation[64]) |
static void | unpack_alpha (GetBitContext *gb, uint16_t *dst, int num_coeffs, const int num_bits, const int decode_precision) |
static void | unpack_alpha_10 (GetBitContext *gb, uint16_t *dst, int num_coeffs, const int num_bits) |
static void | unpack_alpha_12 (GetBitContext *gb, uint16_t *dst, int num_coeffs, const int num_bits) |
static av_cold int | decode_init (AVCodecContext *avctx) |
static int | decode_frame_header (ProresContext *ctx, const uint8_t *buf, const int data_size, AVCodecContext *avctx) |
static int | decode_picture_header (AVCodecContext *avctx, const uint8_t *buf, const int buf_size) |
static av_always_inline int | decode_dc_coeffs (GetBitContext *gb, int16_t *out, int blocks_per_slice) |
static av_always_inline int | decode_ac_coeffs (AVCodecContext *avctx, GetBitContext *gb, int16_t *out, int blocks_per_slice) |
static int | decode_slice_luma (AVCodecContext *avctx, SliceContext *slice, uint16_t *dst, int dst_stride, const uint8_t *buf, unsigned buf_size, const int16_t *qmat) |
static int | decode_slice_chroma (AVCodecContext *avctx, SliceContext *slice, uint16_t *dst, int dst_stride, const uint8_t *buf, unsigned buf_size, const int16_t *qmat, int log2_blocks_per_mb) |
static void | decode_slice_alpha (ProresContext *ctx, uint16_t *dst, int dst_stride, const uint8_t *buf, int buf_size, int blocks_per_slice) |
Decode alpha slice plane. More... | |
static int | decode_slice_thread (AVCodecContext *avctx, void *arg, int jobnr, int threadnr) |
static int | decode_picture (AVCodecContext *avctx) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
static av_cold int | decode_close (AVCodecContext *avctx) |
Variables | |
static const uint8_t | dc_codebook [7] = { 0x04, 0x28, 0x28, 0x4D, 0x4D, 0x70, 0x70} |
static const uint8_t | run_to_cb [16] = { 0x06, 0x06, 0x05, 0x05, 0x04, 0x29, 0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x4C } |
static const uint8_t | lev_to_cb [10] = { 0x04, 0x0A, 0x05, 0x06, 0x04, 0x28, 0x28, 0x28, 0x28, 0x4C } |
const AVCodec | ff_prores_decoder |
Known FOURCCs: 'apch' (HQ), 'apcn' (SD), 'apcs' (LT), 'acpo' (Proxy), 'ap4h' (4444)
Definition in file proresdec2.c.
#define LONG_BITSTREAM_READER |
Definition at line 29 of file proresdec2.c.
#define ALPHA_SHIFT_16_TO_10 | ( | alpha_val | ) | (alpha_val >> 6) |
Definition at line 52 of file proresdec2.c.
#define ALPHA_SHIFT_8_TO_10 | ( | alpha_val | ) | ((alpha_val << 2) | (alpha_val >> 6)) |
Definition at line 53 of file proresdec2.c.
#define ALPHA_SHIFT_16_TO_12 | ( | alpha_val | ) | (alpha_val >> 4) |
Definition at line 54 of file proresdec2.c.
#define ALPHA_SHIFT_8_TO_12 | ( | alpha_val | ) | ((alpha_val << 4) | (alpha_val >> 4)) |
Definition at line 55 of file proresdec2.c.
#define HWACCEL_MAX (CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL) |
Definition at line 428 of file proresdec2.c.
#define TOSIGNED | ( | x | ) | (((x) >> 1) ^ (-((x) & 1))) |
Definition at line 460 of file proresdec2.c.
#define FIRST_DC_CB 0xB8 |
Definition at line 462 of file proresdec2.c.
|
static |
Definition at line 45 of file proresdec2.c.
Referenced by decode_frame_header(), decode_init(), vp5_parse_coeff(), vp6_parse_coeff(), and vp6_parse_coeff_huffman().
|
inlinestatic |
Definition at line 57 of file proresdec2.c.
Referenced by unpack_alpha_10(), and unpack_alpha_12().
|
static |
Definition at line 118 of file proresdec2.c.
Referenced by decode_init().
|
static |
Definition at line 128 of file proresdec2.c.
Referenced by decode_init().
|
static |
Definition at line 138 of file proresdec2.c.
|
static |
Definition at line 204 of file proresdec2.c.
Referenced by decode_frame().
|
static |
Definition at line 323 of file proresdec2.c.
Referenced by decode_frame().
|
static |
Definition at line 466 of file proresdec2.c.
Referenced by decode_slice_chroma(), and decode_slice_luma().
|
static |
Definition at line 497 of file proresdec2.c.
Referenced by decode_slice_chroma(), and decode_slice_luma().
|
static |
Definition at line 540 of file proresdec2.c.
Referenced by decode_slice_thread().
|
static |
Definition at line 574 of file proresdec2.c.
Referenced by decode_slice_thread().
|
static |
Decode alpha slice plane.
Definition at line 611 of file proresdec2.c.
Referenced by decode_slice_thread().
|
static |
Definition at line 641 of file proresdec2.c.
Referenced by decode_picture().
|
static |
Definition at line 759 of file proresdec2.c.
Referenced by decode_frame().
|
static |
Definition at line 778 of file proresdec2.c.
|
static |
Definition at line 851 of file proresdec2.c.
|
static |
Definition at line 464 of file proresdec2.c.
Referenced by decode_dc_coeffs().
|
static |
Definition at line 494 of file proresdec2.c.
Referenced by decode_ac_coeffs().
|
static |
Definition at line 495 of file proresdec2.c.
Referenced by decode_ac_coeffs().
const AVCodec ff_prores_decoder |
Definition at line 872 of file proresdec2.c.