41 #define ASV2_LEVEL_VLC_BITS 10
106 for (i = 0; i < 11; i++) {
112 if (ccp < 0 || i >= 10) {
149 for (i = 1; i < count + 1; i++) {
174 for (i = 0; i < 6; i++) {
179 for (i = 0; i < 6; i++) {
208 void *
data,
int *got_frame,
213 int buf_size = avpkt->
size;
238 for (i = 0; i < buf_size; i++)
244 for (mb_y = 0; mb_y < a->
mb_height2; mb_y++) {
245 for (mb_x = 0; mb_x < a->
mb_width2; mb_x++) {
255 for (mb_y = 0; mb_y < a->
mb_height2; mb_y++) {
265 for (mb_x = 0; mb_x < a->
mb_width; mb_x++) {
307 for (i = 0; i < 64; i++) {
void * av_malloc(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
This structure describes decoded (raw) audio or video data.
int qstride
QP store stride.
const uint8_t ff_asv_ac_ccp_tab[16][2]
void(* release_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called to release buffers which were allocated with get_buffer.
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
memory handling functions
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
Allocate a buffer with padding, reusing the given one if large enough.
unsigned int bitstream_buffer_size
static int get_sbits(GetBitContext *s, int n)
Macro definitions for various function/variable attributes.
void av_freep(void *arg)
Free a memory block which has been allocated with av_malloc(z)() or av_realloc() and set the pointer ...
static int decode(MimicContext *ctx, int quality, int num_coeffs, int is_iframe)
const uint8_t ff_asv2_level_tab[63][2]
static av_cold int decode_init(AVCodecContext *avctx)
#define INIT_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, static_size)
uint8_t * bitstream_buffer
static VLC asv2_level_vlc
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
static int asv2_decode_block(ASV1Context *a, DCTELEM block[64])
const uint8_t ff_asv_ccp_tab[17][2]
static int asv2_get_level(GetBitContext *gb)
static int get_bits_count(const GetBitContext *s)
uint8_t idct_permutation[64]
idct input permutation.
const uint8_t ff_asv_dc_ccp_tab[8][2]
static int init(AVCodecParserContext *s)
const uint16_t ff_mpeg1_default_intra_matrix[64]
int reference
is this picture used as reference The values for this are the same as the MpegEncContext.picture_structure variable, that is 1->top field, 2->bottom field, 3->frame/both fields.
void(* bswap_buf)(uint32_t *dst, const uint32_t *src, int w)
void(* idct_put)(uint8_t *dest, int line_size, DCTELEM *block)
block -> idct -> clip to unsigned 8 bit -> dest.
av_cold void ff_asv_common_init(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void av_log(void *avcl, int level, const char *fmt,...)
const char * name
Name of the codec implementation.
#define ASV2_LEVEL_VLC_BITS
uint16_t intra_matrix[64]
ASUS V1/V2 encoder/decoder common data.
struct ASV1Context ASV1Context
static int asv2_get_bits(GetBitContext *gb, int n)
enum AVPictureType pict_type
Picture type of the frame, see ?_TYPE below.
int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame)
Get a buffer for a frame.
int quality
quality (between 1 (good) and FF_LAMBDA_MAX (bad))
static av_always_inline int get_vlc2(GetBitContext *s, VLC_TYPE(*table)[2], int bits, int max_depth)
Parse a vlc code.
static void idct_put(ASV1Context *a, int mb_x, int mb_y)
int linesize[AV_NUM_DATA_POINTERS]
Size, in bytes, of the data for each picture/channel plane.
main external API structure.
static void close(AVCodecParserContext *s)
static int asv1_decode_block(ASV1Context *a, DCTELEM block[64])
static int init_get_bits(GetBitContext *s, const uint8_t *buffer, int bit_size)
Initialize GetBitContext.
static const uint16_t scale[4]
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
int8_t * qscale_table
QP table.
void(* clear_blocks)(DCTELEM *blocks)
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
common internal api header.
#define AVERROR_INVALIDDATA
void ff_init_scantable(uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable)
VLC_TYPE(* table)[2]
code, bits
static av_cold void init_vlcs(ASV1Context *a)
int key_frame
1 -> keyframe, 0-> not
static int asv1_get_level(GetBitContext *gb)
static int decode_mb(ASV1Context *a, DCTELEM block[6][64])
const uint8_t ff_reverse[256]
const uint8_t ff_asv_scantab[64]
static av_cold int decode_end(AVCodecContext *avctx)
const uint8_t ff_asv_level_tab[7][2]
This structure stores compressed data.