|
FFmpeg
|
#include <string.h>#include "libavutil/avassert.h"#include "libavutil/common.h"#include "libavutil/internal.h"#include "libavutil/intreadwrite.h"#include "libavutil/lfg.h"#include "libavutil/opt.h"#include "avcodec.h"#include "codec_internal.h"#include "elbg.h"#include "encode.h"Go to the source code of this file.
Data Structures | |
| struct | mb_info |
| struct | strip_info |
| struct | CinepakEncContext |
Macros | |
| #define | CVID_HEADER_SIZE 10 |
| #define | STRIP_HEADER_SIZE 12 |
| #define | CHUNK_HEADER_SIZE 4 |
| #define | MB_SIZE 4 |
| #define | MB_AREA (MB_SIZE * MB_SIZE) |
| #define | VECTOR_MAX 6 |
| #define | CODEBOOK_MAX 256 |
| #define | MAX_STRIPS 32 |
| #define | MIN_STRIPS 1 |
| #define | OFFSET(x) offsetof(CinepakEncContext, x) |
| #define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
| #define | CERTAIN(x) ((x) != ENC_UNCERTAIN) |
| #define | SMALLEST_CODEBOOK 1 |
Enumerations | |
| enum | CinepakMode { MODE_V1_ONLY = 0, MODE_V1_V4, MODE_MC, MODE_COUNT } |
| enum | mb_encoding { ENC_V1, ENC_V4, ENC_SKIP, ENC_UNCERTAIN } |
Functions | |
| static av_cold int | cinepak_encode_init (AVCodecContext *avctx) |
| static int64_t | calculate_mode_score (CinepakEncContext *s, int h, strip_info *info, int report, int *training_set_v1_shrunk, int *training_set_v4_shrunk) |
| static int | write_chunk_header (unsigned char *buf, int chunk_type, int chunk_size) |
| static int | encode_codebook (CinepakEncContext *s, int *codebook, int size, int chunk_type_yuv, int chunk_type_gray, unsigned char *buf) |
| static void | get_sub_picture (CinepakEncContext *s, int x, int y, uint8_t *in_data[4], int in_linesize[4], uint8_t *out_data[4], int out_linesize[4]) |
| static void | decode_v1_vector (CinepakEncContext *s, uint8_t *data[4], int linesize[4], int v1_vector, strip_info *info) |
| static void | decode_v4_vector (CinepakEncContext *s, uint8_t *data[4], int linesize[4], int *v4_vector, strip_info *info) |
| static void | copy_mb (CinepakEncContext *s, uint8_t *a_data[4], int a_linesize[4], uint8_t *b_data[4], int b_linesize[4]) |
| static int | encode_mode (CinepakEncContext *s, int h, uint8_t *scratch_data[4], int scratch_linesize[4], uint8_t *last_data[4], int last_linesize[4], strip_info *info, unsigned char *buf) |
| static int | compute_mb_distortion (CinepakEncContext *s, uint8_t *a_data[4], int a_linesize[4], uint8_t *b_data[4], int b_linesize[4]) |
| static int | quantize (CinepakEncContext *s, int h, uint8_t *data[4], int linesize[4], int v1mode, strip_info *info, mb_encoding encoding) |
| static void | calculate_skip_errors (CinepakEncContext *s, int h, uint8_t *last_data[4], int last_linesize[4], uint8_t *data[4], int linesize[4], strip_info *info) |
| static void | write_strip_keyframe (unsigned char *buf, int keyframe) |
| static void | write_strip_header (CinepakEncContext *s, int y, int h, int keyframe, unsigned char *buf, int strip_size) |
| static int | rd_strip (CinepakEncContext *s, int y, int h, int keyframe, uint8_t *last_data[4], int last_linesize[4], uint8_t *data[4], int linesize[4], uint8_t *scratch_data[4], int scratch_linesize[4], unsigned char *buf, int64_t *best_score, int *no_skip) |
| static int | write_cvid_header (CinepakEncContext *s, unsigned char *buf, int num_strips, int data_size, int isakeyframe) |
| static int | rd_frame (CinepakEncContext *s, const AVFrame *frame, int isakeyframe, unsigned char *buf, int buf_size, int *got_keyframe) |
| static int | cinepak_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
| static av_cold int | cinepak_encode_end (AVCodecContext *avctx) |
Variables | |
| static const AVOption | options [] |
| static const AVClass | cinepak_class |
| const FFCodec | ff_cinepak_encoder |
| #define CVID_HEADER_SIZE 10 |
Definition at line 51 of file cinepakenc.c.
| #define STRIP_HEADER_SIZE 12 |
Definition at line 52 of file cinepakenc.c.
| #define CHUNK_HEADER_SIZE 4 |
Definition at line 53 of file cinepakenc.c.
| #define MB_SIZE 4 |
Definition at line 55 of file cinepakenc.c.
Definition at line 56 of file cinepakenc.c.
| #define VECTOR_MAX 6 |
Definition at line 58 of file cinepakenc.c.
| #define CODEBOOK_MAX 256 |
Definition at line 59 of file cinepakenc.c.
| #define MAX_STRIPS 32 |
Definition at line 61 of file cinepakenc.c.
| #define MIN_STRIPS 1 |
Definition at line 62 of file cinepakenc.c.
| #define OFFSET | ( | x | ) | offsetof(CinepakEncContext, x) |
Definition at line 133 of file cinepakenc.c.
| #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 134 of file cinepakenc.c.
| #define CERTAIN | ( | x | ) | ((x) != ENC_UNCERTAIN) |
Definition at line 698 of file cinepakenc.c.
| #define SMALLEST_CODEBOOK 1 |
| enum CinepakMode |
| Enumerator | |
|---|---|
| MODE_V1_ONLY | |
| MODE_V1_V4 | |
| MODE_MC | |
| MODE_COUNT | |
Definition at line 72 of file cinepakenc.c.
| enum mb_encoding |
| Enumerator | |
|---|---|
| ENC_V1 | |
| ENC_V4 | |
| ENC_SKIP | |
| ENC_UNCERTAIN | |
Definition at line 80 of file cinepakenc.c.
|
static |
Definition at line 156 of file cinepakenc.c.
|
static |
Definition at line 258 of file cinepakenc.c.
Referenced by rd_strip().
Definition at line 376 of file cinepakenc.c.
Referenced by encode_codebook(), and encode_mode().
|
static |
Definition at line 383 of file cinepakenc.c.
Referenced by encode_mode().
|
static |
Definition at line 431 of file cinepakenc.c.
Referenced by calculate_skip_errors(), encode_mode(), quantize(), and rd_frame().
|
static |
Definition at line 448 of file cinepakenc.c.
Referenced by encode_mode(), and quantize().
|
static |
Definition at line 487 of file cinepakenc.c.
Referenced by encode_mode(), and quantize().
|
static |
Definition at line 507 of file cinepakenc.c.
Referenced by encode_mode(), and mjpeg_decode_scan().
|
static |
Definition at line 526 of file cinepakenc.c.
Referenced by rd_strip().
|
static |
Definition at line 672 of file cinepakenc.c.
Referenced by calculate_skip_errors(), and quantize().
|
static |
Definition at line 699 of file cinepakenc.c.
Referenced by aptx_quantize_difference(), and rd_strip().
|
static |
Definition at line 814 of file cinepakenc.c.
Referenced by rd_strip().
|
static |
Definition at line 837 of file cinepakenc.c.
Referenced by rd_frame(), and write_strip_header().
|
static |
Definition at line 847 of file cinepakenc.c.
Referenced by rd_strip().
|
static |
Definition at line 860 of file cinepakenc.c.
Referenced by rd_frame().
|
static |
Definition at line 996 of file cinepakenc.c.
Referenced by rd_frame().
|
static |
Definition at line 1008 of file cinepakenc.c.
Referenced by cinepak_encode_frame().
|
static |
Definition at line 1168 of file cinepakenc.c.
|
static |
Definition at line 1194 of file cinepakenc.c.
|
static |
Definition at line 135 of file cinepakenc.c.
|
static |
Definition at line 149 of file cinepakenc.c.
| const FFCodec ff_cinepak_encoder |
Definition at line 1217 of file cinepakenc.c.
1.8.17