#include <zlib.h>
#include "avcodec.h"
#include "bytestream.h"
#include "mathops.h"
#include "thread.h"
#include "libavutil/imgutils.h"
Go to the source code of this file.
Data Structures | |
| struct | EXRContext |
Enumerations | |
| enum | ExrCompr { EXR_RAW = 0, EXR_RLE = 1, EXR_ZIP1 = 2, EXR_ZIP16 = 3, EXR_PIZ = 4, EXR_B44 = 6, EXR_B44A = 7 } |
Functions | |
| static uint16_t | exr_flt2uint (uint32_t v) |
| Converts from 32-bit float as uint32_t to uint16_t. | |
| static uint16_t | exr_halflt2uint (uint16_t v) |
| Converts from 16-bit float as uint16_t to uint16_t. | |
| static unsigned int | get_header_variable_length (const uint8_t **buf, const uint8_t *buf_end) |
| Gets the size of the header variable. | |
| static int | check_header_variable (AVCodecContext *avctx, const uint8_t **buf, const uint8_t *buf_end, const char *value_name, const char *value_type, unsigned int minimum_length, unsigned int *variable_buffer_data_size) |
| Checks if the variable name corresponds with it's data type. | |
| static void | predictor (uint8_t *src, int size) |
| static void | reorder_pixels (uint8_t *src, uint8_t *dst, int size) |
| static int | rle_uncompress (const uint8_t *src, int ssize, uint8_t *dst, int dsize) |
| static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
| static av_cold int | decode_init (AVCodecContext *avctx) |
| static av_cold int | decode_end (AVCodecContext *avctx) |
Variables | |
| AVCodec | ff_exr_decoder |
For more information on the OpenEXR format, visit: http://openexr.com/
exr_flt2uint() and exr_halflt2uint() is credited to Reimar Döffinger
Definition in file exr.c.
| enum ExrCompr |
| static int check_header_variable | ( | AVCodecContext * | avctx, | |
| const uint8_t ** | buf, | |||
| const uint8_t * | buf_end, | |||
| const char * | value_name, | |||
| const char * | value_type, | |||
| unsigned int | minimum_length, | |||
| unsigned int * | variable_buffer_data_size | |||
| ) | [static] |
Checks if the variable name corresponds with it's data type.
| *avctx | the AVCodecContext | |
| **buf | the current pointer location in the header where the variable name starts | |
| *buf_end | pointer location of the end of the buffer | |
| *value_name | name of the varible to check | |
| *value_type | type of the varible to check | |
| minimum_length | minimum length of the variable data | |
| variable_buffer_data_size | variable length read from the header after it's checked |
Definition at line 131 of file exr.c.
Referenced by decode_frame().
| static av_cold int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
| static int decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| AVPacket * | avpkt | |||
| ) | [static] |
| static av_cold int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
| static uint16_t exr_flt2uint | ( | uint32_t | v | ) | [inline, static] |
Converts from 32-bit float as uint32_t to uint16_t.
| v | 32-bit float |
Definition at line 70 of file exr.c.
Referenced by decode_frame().
| static uint16_t exr_halflt2uint | ( | uint16_t | v | ) | [inline, static] |
Converts from 16-bit float as uint16_t to uint16_t.
| v | 16-bit float |
Definition at line 89 of file exr.c.
Referenced by decode_frame().
| static unsigned int get_header_variable_length | ( | const uint8_t ** | buf, | |
| const uint8_t * | buf_end | |||
| ) | [static] |
Gets the size of the header variable.
| **buf | the current pointer location in the header where the variable data starts | |
| *buf_end | pointer location of the end of the buffer |
Definition at line 108 of file exr.c.
Referenced by check_header_variable(), and decode_frame().
Definition at line 156 of file exr.c.
Referenced by adpcm_compress_trellis(), adpcm_decode_frame(), adpcm_ima_expand_nibble(), adpcm_ima_qt_expand_nibble(), adpcm_ms_compress_sample(), adpcm_ms_expand_nibble(), decode_audio_s16(), decode_frame(), dpcm_decode_frame(), encode_picture_lossless(), ff_mjpeg_decode_sos(), and tta_decode_frame().
Initial value:
{
.name = "exr",
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_EXR,
.priv_data_size = sizeof(EXRContext),
.init = decode_init,
.close = decode_end,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_FRAME_THREADS,
.long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
}
1.5.8