Hap decoder.
More...
#include <stdint.h>
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "bytestream.h"
#include "hap.h"
#include "internal.h"
#include "memory.h"
#include "snappy.h"
#include "texturedsp.h"
#include "thread.h"
Go to the source code of this file.
|
static int | parse_section_header (GetByteContext *gbc, int *section_size, enum HapSectionType *section_type) |
|
static int | hap_parse_decode_instructions (HapContext *ctx, int size) |
|
static int | hap_can_use_tex_in_place (HapContext *ctx) |
|
static int | hap_parse_frame_header (AVCodecContext *avctx) |
|
static int | decompress_chunks_thread (AVCodecContext *avctx, void *arg, int chunk_nb, int thread_nb) |
|
static int | decompress_texture_thread (AVCodecContext *avctx, void *arg, int slice, int thread_nb) |
|
static int | hap_decode (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
|
static av_cold int | hap_init (AVCodecContext *avctx) |
|
static av_cold int | hap_close (AVCodecContext *avctx) |
|
static int hap_parse_decode_instructions |
( |
HapContext * |
ctx, |
|
|
int |
size |
|
) |
| |
|
static |
static int hap_can_use_tex_in_place |
( |
HapContext * |
ctx | ) |
|
|
static |
static int decompress_chunks_thread |
( |
AVCodecContext * |
avctx, |
|
|
void * |
arg, |
|
|
int |
chunk_nb, |
|
|
int |
thread_nb |
|
) |
| |
|
static |
static int decompress_texture_thread |
( |
AVCodecContext * |
avctx, |
|
|
void * |
arg, |
|
|
int |
slice, |
|
|
int |
thread_nb |
|
) |
| |
|
static |
Initial value:= {
.name = "hap",
}
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
static av_cold int hap_init(AVCodecContext *avctx)
static int hap_decode(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
static av_cold int hap_close(AVCodecContext *avctx)
#define AV_CODEC_CAP_SLICE_THREADS
Codec supports slice-based (or partition-based) multithreading.
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition at line 428 of file hapdec.c.