FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Enumerations | Functions
asvenc.c File Reference
#include "config_components.h"
#include "libavutil/attributes.h"
#include "libavutil/mem.h"
#include "libavutil/mem_internal.h"
#include "aandcttab.h"
#include "asv.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
#include "fdctdsp.h"
#include "mpeg12data.h"
#include "pixblockdsp.h"
#include "put_bits.h"

Go to the source code of this file.

Data Structures

struct  ASVEncContext
 

Enumerations

enum  {
  ASV1_MAX_BLOCK_SIZE = 8 + 10 * FFMAX(2 , 5 + 4 * 11 ) + 5, ASV1_MAX_MB_SIZE = 6 * ASV1_MAX_BLOCK_SIZE, ASV2_MAX_BLOCK_SIZE = 4 + 8 + 16 * (6 + 4 * 13 ), ASV2_MAX_MB_SIZE = 6 * ASV2_MAX_BLOCK_SIZE,
  MAX_MB_SIZE = (FFMAX(ASV1_MAX_MB_SIZE, ASV2_MAX_MB_SIZE) + 7) / 8
}
 

Functions

static void asv1_put_level (PutBitContext *pb, int level)
 
static void asv2_put_level (ASVEncContext *a, PutBitContext *pb, int level)
 
static void asv1_encode_block (ASVEncContext *a, int16_t block[64])
 
static void asv2_encode_block (ASVEncContext *a, int16_t block[64])
 
static int encode_mb (ASVEncContext *a, int16_t block[6][64])
 
static void dct_get (ASVEncContext *a, const AVFrame *frame, int mb_x, int mb_y)
 
static int encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
 
static av_cold int encode_init (AVCodecContext *avctx)
 

Detailed Description

ASUS V1/V2 encoder.

Definition in file asvenc.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ASV1_MAX_BLOCK_SIZE 
ASV1_MAX_MB_SIZE 
ASV2_MAX_BLOCK_SIZE 
ASV2_MAX_MB_SIZE 
MAX_MB_SIZE 

Definition at line 53 of file asvenc.c.

Function Documentation

◆ asv1_put_level()

static void asv1_put_level ( PutBitContext pb,
int  level 
)
inlinestatic

Definition at line 61 of file asvenc.c.

Referenced by asv1_encode_block().

◆ asv2_put_level()

static void asv2_put_level ( ASVEncContext a,
PutBitContext pb,
int  level 
)
inlinestatic

Definition at line 73 of file asvenc.c.

Referenced by asv2_encode_block().

◆ asv1_encode_block()

static void asv1_encode_block ( ASVEncContext a,
int16_t  block[64] 
)
inlinestatic

Definition at line 89 of file asvenc.c.

Referenced by encode_mb().

◆ asv2_encode_block()

static void asv2_encode_block ( ASVEncContext a,
int16_t  block[64] 
)
inlinestatic

Definition at line 135 of file asvenc.c.

Referenced by encode_mb().

◆ encode_mb()

static int encode_mb ( ASVEncContext a,
int16_t  block[6][64] 
)
inlinestatic

Definition at line 188 of file asvenc.c.

Referenced by encode_frame().

◆ dct_get()

static void dct_get ( ASVEncContext a,
const AVFrame frame,
int  mb_x,
int  mb_y 
)
inlinestatic

Definition at line 205 of file asvenc.c.

Referenced by encode_frame().

◆ encode_frame()

static int encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame pict,
int *  got_packet 
)
static

Definition at line 231 of file asvenc.c.

◆ encode_init()

static av_cold int encode_init ( AVCodecContext avctx)
static

Definition at line 327 of file asvenc.c.