FFmpeg
|
Lagarith lossless decoder. More...
#include "avcodec.h"
#include "get_bits.h"
#include "mathops.h"
#include "dsputil.h"
#include "lagarithrac.h"
#include "thread.h"
Go to the source code of this file.
Data Structures | |
struct | LagarithContext |
Typedefs | |
typedef struct LagarithContext | LagarithContext |
Enumerations | |
enum | LagarithFrameType { FRAME_RAW = 1, FRAME_U_RGB24 = 2, FRAME_ARITH_YUY2 = 3, FRAME_ARITH_RGB24 = 4, FRAME_SOLID_GRAY = 5, FRAME_SOLID_COLOR = 6, FRAME_OLD_ARITH_RGB = 7, FRAME_ARITH_RGBA = 8, FRAME_SOLID_RGBA = 9, FRAME_ARITH_YV12 = 10, FRAME_REDUCED_RES = 11 } |
Functions | |
static uint64_t | softfloat_reciprocal (uint32_t denom) |
Compute the 52bit mantissa of 1/(double)denom. More... | |
static uint32_t | softfloat_mul (uint32_t x, uint64_t mantissa) |
(uint32_t)(x*f), where f has the given mantissa, and exponent 0 Used in combination with softfloat_reciprocal computes x/(double)denom. More... | |
static uint8_t | lag_calc_zero_run (int8_t x) |
static int | lag_decode_prob (GetBitContext *gb, uint32_t *value) |
static int | lag_read_prob_header (lag_rac *rac, GetBitContext *gb) |
static void | add_lag_median_prediction (uint8_t *dst, uint8_t *src1, uint8_t *diff, int w, int *left, int *left_top) |
static void | lag_pred_line (LagarithContext *l, uint8_t *buf, int width, int stride, int line) |
static void | lag_pred_line_yuy2 (LagarithContext *l, uint8_t *buf, int width, int stride, int line, int is_luma) |
static int | lag_decode_line (LagarithContext *l, lag_rac *rac, uint8_t *dst, int width, int stride, int esc_count) |
static int | lag_decode_zero_run_line (LagarithContext *l, uint8_t *dst, const uint8_t *src, const uint8_t *src_end, int width, int esc_count) |
static int | lag_decode_arith_plane (LagarithContext *l, uint8_t *dst, int width, int height, int stride, const uint8_t *src, int src_size) |
static int | lag_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
Decode a frame. More... | |
static av_cold int | lag_decode_init (AVCodecContext *avctx) |
static av_cold int | lag_decode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_lagarith_decoder |
Detailed Description
Lagarith lossless decoder.
Definition in file lagarith.c.
Typedef Documentation
typedef struct LagarithContext LagarithContext |
Enumeration Type Documentation
enum LagarithFrameType |
Definition at line 35 of file lagarith.c.
Function Documentation
|
static |
Definition at line 221 of file lagarith.c.
Referenced by lag_pred_line().
|
static |
Definition at line 96 of file lagarith.c.
Referenced by lag_decode_line(), and lag_decode_zero_run_line().
|
static |
Definition at line 406 of file lagarith.c.
Referenced by lag_decode_frame().
|
static |
Definition at line 695 of file lagarith.c.
|
static |
Decode a frame.
- Parameters
-
avctx codec context data output AVFrame data_size size of output data or 0 if no picture is returned avpkt input packet
- Returns
- number of consumed bytes on success or negative if decode fails
Definition at line 508 of file lagarith.c.
|
static |
Definition at line 685 of file lagarith.c.
|
static |
Definition at line 310 of file lagarith.c.
Referenced by lag_decode_arith_plane().
|
static |
Definition at line 101 of file lagarith.c.
Referenced by lag_read_prob_header().
|
static |
Definition at line 352 of file lagarith.c.
Referenced by lag_decode_arith_plane().
|
static |
Definition at line 245 of file lagarith.c.
Referenced by lag_decode_arith_plane().
|
static |
Definition at line 272 of file lagarith.c.
Referenced by lag_decode_arith_plane().
|
static |
Definition at line 135 of file lagarith.c.
Referenced by lag_decode_arith_plane().
|
static |
(uint32_t)(x*f), where f has the given mantissa, and exponent 0 Used in combination with softfloat_reciprocal computes x/(double)denom.
- Parameters
-
x 32bit integer factor mantissa mantissa of f with exponent 0
- Returns
- 32bit integer value (x*f)
- See also
- softfloat_reciprocal
Definition at line 85 of file lagarith.c.
Referenced by lag_read_prob_header().
|
static |
Compute the 52bit mantissa of 1/(double)denom.
This crazy format uses floats in an entropy coder and we have to match x86 rounding exactly, thus ordinary floats aren't portable enough.
- Parameters
-
denom denominator
- Returns
- 52bit mantissa
- See also
- softfloat_mul
Definition at line 66 of file lagarith.c.
Referenced by lag_read_prob_header().
Variable Documentation
AVCodec ff_lagarith_decoder |
Definition at line 704 of file lagarith.c.
Generated on Mon Nov 18 2024 06:52:07 for FFmpeg by 1.8.11