FFmpeg
|
#include <inttypes.h>
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/mem_internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "canopus.h"
#include "codec_internal.h"
#include "get_bits.h"
#include "thread.h"
#include "vlc.h"
#include "hqxdsp.h"
#include "hqxvlc.h"
Go to the source code of this file.
Data Structures | |
struct | HQXSlice |
struct | HQXContext |
Macros | |
#define | HQX_HEADER_SIZE 59 |
#define | AC_IDX(q) |
#define | Q(q) ((unsigned)AC_IDX(q) << 29 | (q)) |
Typedefs | |
typedef int(* | mb_decode_func) (struct HQXContext *ctx, int slice_no, int x, int y) |
Enumerations | |
enum | HQXFormat { HQX_422 = 0, HQX_444, HQX_422A, HQX_444A } |
Functions | |
static void | put_blocks (HQXContext *ctx, int plane, int x, int y, int ilace, int16_t *block0, int16_t *block1, const uint8_t *quant) |
static void | hqx_get_ac (GetBitContext *gb, const HQXAC *ac, int *runp, int *lev) |
static int | decode_block (GetBitContext *gb, const VLCElem vlc[], const unsigned *quants, int dcb, int16_t block[64], int *last_dc) |
static int | hqx_decode_422 (HQXContext *ctx, int slice_no, int x, int y) |
static int | hqx_decode_422a (HQXContext *ctx, int slice_no, int x, int y) |
static int | hqx_decode_444 (HQXContext *ctx, int slice_no, int x, int y) |
static int | hqx_decode_444a (HQXContext *ctx, int slice_no, int x, int y) |
static int | decode_slice (HQXContext *ctx, int slice_no) |
static int | decode_slice_thread (AVCodecContext *avctx, void *arg, int slice_no, int threadnr) |
static int | hqx_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_picture_ptr, AVPacket *avpkt) |
static av_cold int | hqx_decode_close (AVCodecContext *avctx) |
static av_cold int | hqx_decode_init (AVCodecContext *avctx) |
Variables | |
static const unsigned | hqx_quants [16][4] |
static const uint8_t | hqx_quant_luma [64] |
static const uint8_t | hqx_quant_chroma [64] |
static const int | shuffle_16 [16] |
const FFCodec | ff_hqx_decoder |
#define AC_IDX | ( | q | ) |
#define Q | ( | q | ) | ((unsigned)AC_IDX(q) << 29 | (q)) |
typedef int(* mb_decode_func) (struct HQXContext *ctx, int slice_no, int x, int y) |
|
inlinestatic |
Definition at line 123 of file hqx.c.
Referenced by hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), and hqx_decode_444a().
|
inlinestatic |
Definition at line 138 of file hqx.c.
Referenced by decode_block().
|
static |
Definition at line 151 of file hqx.c.
Referenced by hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), and hqx_decode_444a().
|
static |
Definition at line 180 of file hqx.c.
Referenced by hqx_decode_frame().
|
static |
Definition at line 215 of file hqx.c.
Referenced by hqx_decode_frame().
|
static |
Definition at line 264 of file hqx.c.
Referenced by hqx_decode_frame().
|
static |
Definition at line 301 of file hqx.c.
Referenced by hqx_decode_frame().
|
static |
Definition at line 353 of file hqx.c.
Referenced by decode_slice_thread().
|
static |
Definition at line 406 of file hqx.c.
Referenced by hqx_decode_frame().
|
static |
|
static |
|
static |
|
static |
Definition at line 87 of file hqx.c.
Referenced by hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), and hqx_decode_444a().
|
static |
Definition at line 101 of file hqx.c.
Referenced by hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), and hqx_decode_444a().
|
static |
Definition at line 112 of file hqx.c.
Referenced by hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), and hqx_decode_444a().
|
static |
Definition at line 349 of file hqx.c.
Referenced by decode_slice().
const FFCodec ff_hqx_decoder |