#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include "common.h"#include "avcodec.h"#include "dsputil.h"

Go to the source code of this file.
Data Structures | |
| struct | RpzaContext |
Defines | |
| #define | ADVANCE_BLOCK() |
Functions | |
| static void | rpza_decode_stream (RpzaContext *s) |
| static int | rpza_decode_init (AVCodecContext *avctx) |
| static int | rpza_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) |
| static int | rpza_decode_end (AVCodecContext *avctx) |
Variables | |
| AVCodec | rpza_decoder |
The RPZA decoder outputs RGB555 colorspace data.
Note that this decoder reads big endian RGB555 pixel values from the bytestream, arranges them in the host's endian order, and outputs them to the final rendered map in the same host endian order. This is intended behavior as the ffmpeg documentation states that RGB555 pixels shall be stored in native CPU endianness.
Definition in file rpza.c.
| #define ADVANCE_BLOCK | ( | ) |
Value:
{ \
pixel_ptr += 4; \
if (pixel_ptr >= width) \
{ \
pixel_ptr = 0; \
row_ptr += stride * 4; \
} \
total_blocks--; \
if (total_blocks < 0) \
{ \
av_log(s->avctx, AV_LOG_ERROR, "warning: block counter just went negative (this should not happen)\n"); \
return; \
} \
}
Definition at line 56 of file rpza.c.
Referenced by rpza_decode_stream(), and smc_decode_stream().
| static int rpza_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 270 of file rpza.c.
References RpzaContext::frame, AVCodecContext::priv_data, AVCodecContext::release_buffer, and s.
| static int rpza_decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 245 of file rpza.c.
References av_log(), AV_LOG_ERROR, RpzaContext::buf, FF_BUFFER_HINTS_PRESERVE, FF_BUFFER_HINTS_REUSABLE, FF_BUFFER_HINTS_VALID, RpzaContext::frame, AVCodecContext::priv_data, AVCodecContext::reget_buffer, rpza_decode_stream(), s, and RpzaContext::size.

| static int rpza_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 231 of file rpza.c.
References RpzaContext::avctx, RpzaContext::dsp, dsputil_init(), RpzaContext::frame, AVCodecContext::has_b_frames, NULL, AVCodecContext::pix_fmt, PIX_FMT_RGB555, AVCodecContext::priv_data, and s.

| static void rpza_decode_stream | ( | RpzaContext * | s | ) | [static] |
Definition at line 72 of file rpza.c.
References ADVANCE_BLOCK, av_log(), AV_LOG_ERROR, RpzaContext::avctx, BE_16, BE_32, RpzaContext::buf, RpzaContext::frame, AVCodecContext::height, pixels, RpzaContext::size, stride, tb, AVCodecContext::width, and width.
Referenced by rpza_decode_frame().

Initial value:
{
"rpza",
CODEC_TYPE_VIDEO,
CODEC_ID_RPZA,
sizeof(RpzaContext),
rpza_decode_init,
NULL,
rpza_decode_end,
rpza_decode_frame,
CODEC_CAP_DR1,
}
Definition at line 280 of file rpza.c.
Referenced by avcodec_register_all().
1.5.5