FFmpeg
|
This is a decoder for Apple ProRes 422 SD/HQ/LT/Proxy and ProRes 4444. More...
#include <stdint.h>
#include "libavutil/intmath.h"
#include "avcodec.h"
#include "idctdsp.h"
#include "internal.h"
#include "proresdata.h"
#include "proresdsp.h"
#include "get_bits.h"
Go to the source code of this file.
Data Structures | |
struct | ProresThreadData |
struct | ProresContext |
Macros | |
#define | LONG_BITSTREAM_READER |
#define | LSB2SIGN(x) (-((x) & 1)) |
#define | TOSIGNED(x) (((x) >> 1) ^ LSB2SIGN(x)) |
#define | MAX_PADDING 16 |
#define | MOVE_DATA_PTR(nbytes) buf += (nbytes); buf_size -= (nbytes) |
Functions | |
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 (ProresContext *ctx, const uint8_t *buf, const int data_size, AVCodecContext *avctx) |
static int | decode_vlc_codeword (GetBitContext *gb, unsigned codebook) |
Read an unsigned rice/exp golomb codeword. More... | |
static void | decode_dc_coeffs (GetBitContext *gb, int16_t *out, int nblocks) |
Decode DC coefficients for all blocks in a slice. More... | |
static int | decode_ac_coeffs (GetBitContext *gb, int16_t *out, int blocks_per_slice, int plane_size_factor, const uint8_t *scan) |
Decode AC coefficients for all blocks in a slice. More... | |
static int | decode_slice_plane (ProresContext *ctx, ProresThreadData *td, const uint8_t *buf, int data_size, uint16_t *out_ptr, int linesize, int mbs_per_slice, int blocks_per_mb, int plane_size_factor, const int16_t *qmat, int is_chroma) |
Decode a slice plane (luma or chroma). More... | |
static void | unpack_alpha (GetBitContext *gb, uint16_t *dst, int num_coeffs, const int num_bits) |
static void | decode_alpha_plane (ProresContext *ctx, ProresThreadData *td, const uint8_t *buf, int data_size, uint16_t *out_ptr, int linesize, int mbs_per_slice) |
Decode alpha slice plane. More... | |
static int | decode_slice (AVCodecContext *avctx, void *tdata) |
static int | decode_picture (ProresContext *ctx, int pic_num, AVCodecContext *avctx) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
static av_cold int | decode_close (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_prores_lgpl_decoder |
This is a decoder for Apple ProRes 422 SD/HQ/LT/Proxy and ProRes 4444.
It is used for storing and editing high definition video data in Apple's Final Cut Pro.
Definition in file proresdec_lgpl.c.
#define LONG_BITSTREAM_READER |
Definition at line 31 of file proresdec_lgpl.c.
#define LSB2SIGN | ( | x | ) | (-((x) & 1)) |
Definition at line 339 of file proresdec_lgpl.c.
#define TOSIGNED | ( | x | ) | (((x) >> 1) ^ LSB2SIGN(x)) |
Definition at line 340 of file proresdec_lgpl.c.
Referenced by decode_dc_coeffs().
#define MAX_PADDING 16 |
Definition at line 369 of file proresdec_lgpl.c.
Referenced by decode_ac_coeffs().
#define MOVE_DATA_PTR | ( | nbytes | ) | buf += (nbytes); buf_size -= (nbytes) |
Definition at line 714 of file proresdec_lgpl.c.
Referenced by decode_frame().
|
static |
Definition at line 81 of file proresdec_lgpl.c.
|
static |
Definition at line 99 of file proresdec_lgpl.c.
Referenced by decode_frame().
|
static |
Definition at line 217 of file proresdec_lgpl.c.
Referenced by decode_frame().
|
inlinestatic |
Read an unsigned rice/exp golomb codeword.
Definition at line 301 of file proresdec_lgpl.c.
Referenced by decode_ac_coeffs(), and decode_dc_coeffs().
|
inlinestatic |
Decode DC coefficients for all blocks in a slice.
Definition at line 345 of file proresdec_lgpl.c.
Referenced by decode_slice_plane().
|
inlinestatic |
Decode AC coefficients for all blocks in a slice.
Definition at line 374 of file proresdec_lgpl.c.
Referenced by decode_slice_plane().
|
static |
Decode a slice plane (luma or chroma).
Definition at line 425 of file proresdec_lgpl.c.
Referenced by decode_slice().
|
static |
Definition at line 485 of file proresdec_lgpl.c.
Referenced by decode_alpha_plane().
|
static |
Decode alpha slice plane.
Definition at line 531 of file proresdec_lgpl.c.
Referenced by decode_slice().
|
static |
Definition at line 558 of file proresdec_lgpl.c.
Referenced by decode_picture().
|
static |
Definition at line 683 of file proresdec_lgpl.c.
Referenced by decode_frame().
|
static |
Definition at line 716 of file proresdec_lgpl.c.
|
static |
Definition at line 764 of file proresdec_lgpl.c.
AVCodec ff_prores_lgpl_decoder |
Definition at line 774 of file proresdec_lgpl.c.