#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.
Definition in file lagarith.c.
| enum LagarithFrameType |
Definition at line 35 of file lagarith.c.
| static uint8_t lag_calc_zero_run | ( | int8_t | x | ) | [static] |
Definition at line 97 of file lagarith.c.
Referenced by lag_decode_line(), and lag_decode_zero_run_line().
| static av_cold int lag_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 693 of file lagarith.c.
| static int lag_decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| AVPacket * | avpkt | |||
| ) | [static] |
Decode a frame.
| avctx | codec context | |
| data | output AVFrame | |
| data_size | size of output data or 0 if no picture is returned | |
| avpkt | input packet |
Definition at line 508 of file lagarith.c.
| static av_cold int lag_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 683 of file lagarith.c.
| static int lag_decode_prob | ( | GetBitContext * | gb, | |
| uint32_t * | value | |||
| ) | [static] |
| static void lag_pred_line | ( | LagarithContext * | l, | |
| uint8_t * | buf, | |||
| int | width, | |||
| int | stride, | |||
| int | line | |||
| ) | [static] |
| static int lag_read_prob_header | ( | lag_rac * | rac, | |
| GetBitContext * | gb | |||
| ) | [static] |
| static uint32_t softfloat_mul | ( | uint32_t | x, | |
| uint64_t | mantissa | |||
| ) | [static] |
(uint32_t)(x*f), where f has the given mantissa, and exponent 0 Used in combination with softfloat_reciprocal computes x/(double)denom.
| x | 32bit integer factor | |
| mantissa | mantissa of f with exponent 0 |
Definition at line 86 of file lagarith.c.
Referenced by lag_read_prob_header().
| static uint64_t softfloat_reciprocal | ( | uint32_t | denom | ) | [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.
| denom | denominator |
Definition at line 67 of file lagarith.c.
Referenced by lag_read_prob_header().
Initial value:
{
.name = "lagarith",
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_LAGARITH,
.priv_data_size = sizeof(LagarithContext),
.init = lag_decode_init,
.close = lag_decode_end,
.decode = lag_decode_frame,
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_FRAME_THREADS,
.long_name = NULL_IF_CONFIG_SMALL("Lagarith lossless"),
}
Definition at line 704 of file lagarith.c.
1.5.8