FFmpeg
Classes | Typedefs | Variables
screenpresso.c File Reference

Screenpresso decoder. More...

#include <stdint.h>
#include <string.h>
#include <zlib.h>
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "internal.h"

Classes

struct  ScreenpressoContext
 

Typedefs

typedef struct ScreenpressoContext ScreenpressoContext
 

Variables

AVCodec ff_screenpresso_decoder
 

Detailed Description

Screenpresso decoder.

Fourcc: SPV1

Screenpresso simply horizontally flips and then deflates frames, alternating full pictures and deltas. Deltas are related to the currently rebuilt frame (not the reference), and since there is no coordinate system they contain exactly as many pixel as the keyframe.

Supports: BGR0, BGR24, RGB555

Variable Documentation

§ ff_screenpresso_decoder

AVCodec ff_screenpresso_decoder
Initial value:
= {
.name = "screenpresso",
.long_name = NULL_IF_CONFIG_SMALL("Screenpresso"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_SCREENPRESSO,
.init = screenpresso_init,
.decode = screenpresso_decode_frame,
.close = screenpresso_close,
.priv_data_size = sizeof(ScreenpressoContext),
.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
}
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
Definition: internal.h:48
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
Definition: internal.h:40
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
Definition: screenpresso.c:47
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:959