41 uint8_t *dst = f->
data[0];
42 dst += (height - 1) * f->
linesize[0];
43 for (i = height; i; i--) {
44 memcpy(dst, src, linelen);
53 uint8_t *dst = f->
data[0];
54 dst += (height - 1) * f->
linesize[0];
55 for (i = height; i; i--) {
56 for (j = linelen; j; j--)
58 src += src_stride - linelen;
64 #define copy_frame_16(f, s, l, h) copy_frame_default(f, s, l, l, h)
65 #define copy_frame_32(f, s, l, h) copy_frame_default(f, s, l, l, h)
66 #define add_frame_16(f, s, l, h) add_frame_default(f, s, l, l, h)
67 #define add_frame_32(f, s, l, h) add_frame_default(f, s, l, l, h)
72 uint8_t *dst = f->
data[0];
73 dst += (height - 1) * f->
linesize[0];
74 for (i = height; i; i--) {
75 for (j = linelen / 2; j; j--) {
88 uint8_t *dst = f->
data[0];
89 dst += (height - 1) * f->
linesize[0];
90 for (i = height; i; i--) {
91 for (j = linelen / 4; j; j--) {
104 int linelen,
int height) {
106 uint8_t *dst = f->
data[0];
107 dst += (height - 1) * f->
linesize[0];
108 for (i = height; i; i--) {
109 for (j = linelen / 2; j; j--) {
120 int linelen,
int height) {
122 uint8_t *dst = f->
data[0];
123 dst += (height - 1) * f->
linesize[0];
124 for (i = height; i; i--) {
125 for (j = linelen / 4; j; j--) {
140 const uint8_t *buf = avpkt->
data;
141 int buf_size = avpkt->
size;
161 switch ((buf[0] >> 1) & 7) {
171 if (uncompress(c->
decomp_buf, &dlen, &buf[2], buf_size - 2) != Z_OK)
229 "CamStudio codec error: invalid depth %i bpp\n",
#define copy_frame_32(f, s, l, h)
int(* get_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called at the beginning of each frame to get a buffer for it.
enum PixelFormat pix_fmt
Pixel format, see PIX_FMT_xxx.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define FF_BUFFER_HINTS_VALID
int buffer_hints
codec suggestion on buffer type if != 0
void(* release_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called to release buffers which were allocated with get_buffer.
void av_freep(void *arg)
Free a memory block which has been allocated with av_malloc(z)() or av_realloc() and set the pointer ...
static void add_frame_default(AVFrame *f, const uint8_t *src, int src_stride, int linelen, int height)
static int decode(MimicContext *ctx, int quality, int num_coeffs, int is_iframe)
static av_cold int decode_end(AVCodecContext *avctx)
#define AV_LZO_OUTPUT_PADDING
#define add_frame_16(f, s, l, h)
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
static int init(AVCodecParserContext *s)
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
int reference
is this picture used as reference The values for this are the same as the MpegEncContext.picture_structure variable, that is 1->top field, 2->bottom field, 3->frame/both fields.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
unsigned char * decomp_buf
#define copy_frame_16(f, s, l, h)
void av_log(void *avcl, int level, const char *fmt,...)
const char * name
Name of the codec implementation.
#define add_frame_32(f, s, l, h)
enum AVPictureType pict_type
Picture type of the frame, see ?_TYPE below.
static void copy_frame_default(AVFrame *f, const uint8_t *src, int src_stride, int linelen, int height)
int width
picture width / height.
struct AVFrame AVFrame
Audio Video Frame.
int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen)
Decodes LZO 1x compressed data.
#define FF_BUFFER_HINTS_REUSABLE
int linesize[AV_NUM_DATA_POINTERS]
Size, in bytes, of the data for each picture/channel plane.
main external API structure.
static void close(AVCodecParserContext *s)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
void * av_malloc(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...
#define FF_BUFFER_HINTS_PRESERVE
#define FF_BUFFER_HINTS_READABLE
packed RGB 8:8:8, 24bpp, BGRBGR...
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
static av_cold int decode_init(AVCodecContext *avctx)
int key_frame
1 -> keyframe, 0-> not