|
FFmpeg
|
#include <stdlib.h>#include <string.h>#include "libavutil/cpu.h"#include "libavutil/opt.h"#include "libavutil/pixdesc.h"#include "libavutil/qsort.h"#include "avcodec.h"#include "bytestream.h"#include "codec_internal.h"#include "encode.h"#include "put_bits.h"#include "thread.h"#include "lossless_videoencdsp.h"Go to the source code of this file.
Data Structures | |
| struct | HuffEntry |
| struct | PTable |
| Used to assign a occurrence count or "probability" to an input value. More... | |
| struct | Slice |
| struct | MagicYUVContext |
| struct | PackageMergerList |
| Used to store intermediate lists in the package merge algorithm. More... | |
Macros | |
| #define | MAGICYUV_EXTRADATA_SIZE 32 |
| #define | OFFSET(x) offsetof(MagicYUVContext, x) |
| #define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Enumerations | |
| enum | Prediction { LEFT = 1, GRADIENT, MEDIAN, LEFT = 1, GRADIENT, MEDIAN } |
Functions | |
| static void | left_predict (MagicYUVContext *s, const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int width, int height) |
| static void | gradient_predict (MagicYUVContext *s, const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int width, int height) |
| static void | median_predict (MagicYUVContext *s, const uint8_t *src, uint8_t *dst, ptrdiff_t stride, int width, int height) |
| static av_cold int | magy_encode_init (AVCodecContext *avctx) |
| static void | calculate_codes (HuffEntry *he, uint16_t codes_count[33]) |
| static void | count_usage (const uint8_t *src, int width, int height, PTable *counts) |
| static int | compare_by_prob (const void *a, const void *b) |
| static void | magy_huffman_compute_bits (PTable *prob_table, HuffEntry *distincts, uint16_t codes_counts[33], int size, int max_length) |
| static int | count_plane_slice (AVCodecContext *avctx, int n, int plane) |
| static int | encode_table (AVCodecContext *avctx, PutBitContext *pb, HuffEntry *he, int plane) |
| static int | encode_plane_slice_raw (const uint8_t *src, uint8_t *dst, unsigned dst_size, int width, int height, int prediction) |
| static int | encode_plane_slice (const uint8_t *src, uint8_t *dst, unsigned dst_size, int width, int height, HuffEntry *he, int prediction) |
| static int | encode_slice (AVCodecContext *avctx, void *tdata, int n, int threadnr) |
| static int | predict_slice (AVCodecContext *avctx, void *tdata, int n, int threadnr) |
| static int | magy_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
| static av_cold int | magy_encode_close (AVCodecContext *avctx) |
Variables | |
| static const AVOption | options [] |
| static const AVClass | magicyuv_class |
| const FFCodec | ff_magicyuv_encoder |
| #define MAGICYUV_EXTRADATA_SIZE 32 |
Definition at line 38 of file magicyuvenc.c.
| #define OFFSET | ( | x | ) | offsetof(MagicYUVContext, x) |
Definition at line 657 of file magicyuvenc.c.
| #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 658 of file magicyuvenc.c.
| enum Prediction |
| Enumerator | |
|---|---|
| LEFT | |
| GRADIENT | |
| MEDIAN | |
| LEFT | |
| GRADIENT | |
| MEDIAN | |
Definition at line 40 of file magicyuvenc.c.
|
static |
Definition at line 83 of file magicyuvenc.c.
Referenced by magy_encode_init().
|
static |
Definition at line 107 of file magicyuvenc.c.
Referenced by magy_encode_init().
|
static |
Definition at line 135 of file magicyuvenc.c.
Referenced by magy_encode_init().
|
static |
Definition at line 156 of file magicyuvenc.c.
|
static |
Definition at line 272 of file magicyuvenc.c.
Referenced by encode_table().
Definition at line 286 of file magicyuvenc.c.
Referenced by count_plane_slice().
|
static |
Definition at line 303 of file magicyuvenc.c.
Referenced by magy_huffman_compute_bits().
|
static |
Definition at line 310 of file magicyuvenc.c.
Referenced by encode_table().
|
static |
Definition at line 372 of file magicyuvenc.c.
Referenced by predict_slice().
|
static |
Definition at line 387 of file magicyuvenc.c.
Referenced by magy_encode_frame().
|
static |
Definition at line 419 of file magicyuvenc.c.
Referenced by encode_plane_slice().
|
static |
Definition at line 436 of file magicyuvenc.c.
Referenced by encode_slice().
|
static |
Definition at line 470 of file magicyuvenc.c.
Referenced by magy_encode_frame().
|
static |
Definition at line 493 of file magicyuvenc.c.
Referenced by magy_encode_frame().
|
static |
Definition at line 552 of file magicyuvenc.c.
|
static |
Definition at line 641 of file magicyuvenc.c.
|
static |
Definition at line 659 of file magicyuvenc.c.
|
static |
Definition at line 667 of file magicyuvenc.c.
| const FFCodec ff_magicyuv_encoder |
Definition at line 674 of file magicyuvenc.c.
1.8.17