| FFmpeg
    | 
OpenEXR decoder. More...
#include <zlib.h>#include "avcodec.h"#include "bytestream.h"#include "mathops.h"#include "thread.h"#include "libavutil/imgutils.h"#include "libavutil/avassert.h"
Go to the source code of this file.
| Data Structures | |
| struct | EXRChannel | 
| struct | EXRThreadData | 
| struct | EXRContext | 
| Typedefs | |
| typedef struct EXRChannel | EXRChannel | 
| typedef struct EXRThreadData | EXRThreadData | 
| typedef struct EXRContext | EXRContext | 
| Enumerations | |
| enum | ExrCompr { EXR_RAW = 0, EXR_RLE = 1, EXR_ZIP1 = 2, EXR_ZIP16 = 3, EXR_PIZ = 4, EXR_PXR24 = 5, EXR_B44 = 6, EXR_B44A = 7 } | 
| enum | ExrPixelType { EXR_UINT, EXR_HALF, EXR_FLOAT } | 
| Functions | |
| static uint16_t | exr_flt2uint (uint32_t v) | 
| Converts from 32-bit float as uint32_t to uint16_t.  More... | |
| static uint16_t | exr_halflt2uint (uint16_t v) | 
| Converts from 16-bit float as uint16_t to uint16_t.  More... | |
| static unsigned int | get_header_variable_length (const uint8_t **buf, const uint8_t *buf_end) | 
| Gets the size of the header variable.  More... | |
| 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.  More... | |
| static void | predictor (uint8_t *src, int size) | 
| static void | reorder_pixels (uint8_t *src, uint8_t *dst, int size) | 
| static int | zip_uncompress (const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) | 
| static int | rle_uncompress (const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) | 
| static int | pxr24_uncompress (EXRContext *s, const uint8_t *src, int compressed_size, int uncompressed_size, EXRThreadData *td) | 
| static int | decode_block (AVCodecContext *avctx, void *tdata, int jobnr, int threadnr) | 
| static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) | 
| static av_cold int | decode_end (AVCodecContext *avctx) | 
| Variables | |
| AVCodec | ff_exr_decoder | 
Detailed Description
OpenEXR 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.
Typedef Documentation
| typedef struct EXRChannel EXRChannel | 
| typedef struct EXRContext EXRContext | 
| typedef struct EXRThreadData EXRThreadData | 
Enumeration Type Documentation
| enum ExrCompr | 
| enum ExrPixelType | 
Function Documentation
| 
 | static | 
Checks if the variable name corresponds with it's data type.
- Parameters
- 
  *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 
- Returns
- negative if variable is invalid
Definition at line 165 of file exr.c.
Referenced by decode_frame().
| 
 | static | 
Definition at line 335 of file exr.c.
Referenced by decode_frame().
| 
 | static | 
| 
 | static | 
| 
 | inlinestatic | 
Converts from 32-bit float as uint32_t to uint16_t.
- Parameters
- 
  v 32-bit float 
- Returns
- normalized 16-bit unsigned int
Definition at line 104 of file exr.c.
Referenced by decode_block().
| 
 | inlinestatic | 
Converts from 16-bit float as uint16_t to uint16_t.
- Parameters
- 
  v 16-bit float 
- Returns
- normalized 16-bit unsigned int
Definition at line 123 of file exr.c.
Referenced by decode_block().
| 
 | static | 
Gets the size of the header variable.
- Parameters
- 
  **buf the current pointer location in the header where the variable data starts *buf_end pointer location of the end of the buffer 
- Returns
- size of variable data
Definition at line 142 of file exr.c.
Referenced by check_header_variable(), and decode_frame().
Definition at line 188 of file exr.c.
Referenced by adpcm_compress_trellis(), adpcm_decode_frame(), adpcm_encode_frame(), adpcm_ima_expand_nibble(), adpcm_ima_oki_expand_nibble(), adpcm_ima_qt_expand_nibble(), adpcm_ms_compress_sample(), adpcm_ms_expand_nibble(), decode_audio_s16(), dpcm_decode_frame(), encode_picture_lossless(), ff_mjpeg_decode_sos(), ljpeg_decode_rgb_scan(), rle_uncompress(), tta_decode_frame(), and zip_uncompress().
| 
 | static | 
Definition at line 280 of file exr.c.
Referenced by decode_block().
Definition at line 200 of file exr.c.
Referenced by rle_uncompress(), and zip_uncompress().
| 
 | static | 
Definition at line 235 of file exr.c.
Referenced by decode_block().
| 
 | static | 
Definition at line 220 of file exr.c.
Referenced by decode_block().
Variable Documentation
| AVCodec ff_exr_decoder | 
Generated on Fri Oct 31 2025 06:56:20 for FFmpeg by
 1.8.11
 1.8.11