#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.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 av_cold int | rpza_decode_init (AVCodecContext *avctx) |
static int | rpza_decode_frame (AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size) |
static av_cold 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 55 of file rpza.c.
Referenced by rpza_decode_stream(), and smc_decode_stream().
static av_cold int rpza_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int rpza_decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
const uint8_t * | buf, | |||
int | buf_size | |||
) | [static] |
static av_cold int rpza_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void rpza_decode_stream | ( | RpzaContext * | s | ) | [static] |
Initial value:
{ "rpza", CODEC_TYPE_VIDEO, CODEC_ID_RPZA, sizeof(RpzaContext), rpza_decode_init, NULL, rpza_decode_end, rpza_decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"), }