#include "common.h"#include "bitstream.h"#include "avcodec.h"#include "dsputil.h"#include "rangecoder.h"#include "golomb.h"

Go to the source code of this file.
Data Structures | |
| struct | VlcState |
| struct | PlaneContext |
| struct | FFV1Context |
Defines | |
| #define | MAX_PLANES 4 |
| #define | CONTEXT_SIZE 32 |
Functions | |
| static always_inline int | fold (int diff, int bits) |
| static int | predict (int_fast16_t *src, int_fast16_t *last) |
| static int | get_context (FFV1Context *f, int_fast16_t *src, int_fast16_t *last, int_fast16_t *last2) |
| static void | put_symbol (RangeCoder *c, uint8_t *state, int v, int is_signed) |
| static int | get_symbol (RangeCoder *c, uint8_t *state, int is_signed) |
| static void | update_vlc_state (VlcState *const state, const int v) |
| static void | put_vlc_symbol (PutBitContext *pb, VlcState *const state, int v, int bits) |
| static int | get_vlc_symbol (GetBitContext *gb, VlcState *const state, int bits) |
| static int | encode_line (FFV1Context *s, int w, int_fast16_t *sample[2], int plane_index, int bits) |
| static void | encode_plane (FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index) |
| static void | encode_rgb_frame (FFV1Context *s, uint32_t *src, int w, int h, int stride) |
| static void | write_quant_table (RangeCoder *c, int16_t *quant_table) |
| static void | write_header (FFV1Context *f) |
| static int | common_init (AVCodecContext *avctx) |
| static int | encode_init (AVCodecContext *avctx) |
| static void | clear_state (FFV1Context *f) |
| static int | encode_frame (AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data) |
| static void | common_end (FFV1Context *s) |
| static int | encode_end (AVCodecContext *avctx) |
| static void | decode_line (FFV1Context *s, int w, int_fast16_t *sample[2], int plane_index, int bits) |
| static void | decode_plane (FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index) |
| static void | decode_rgb_frame (FFV1Context *s, uint32_t *src, int w, int h, int stride) |
| static int | read_quant_table (RangeCoder *c, int16_t *quant_table, int scale) |
| static int | read_header (FFV1Context *f) |
| static int | decode_init (AVCodecContext *avctx) |
| static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) |
Variables | |
| static const int8_t | quant3 [256] |
| static const int8_t | quant5 [256] |
| static const int8_t | quant7 [256] |
| static const int8_t | quant9 [256] |
| static const int8_t | quant11 [256] |
| static const int8_t | quant13 [256] |
| static const uint8_t | log2_run [32] |
| AVCodec | ffv1_decoder |
Definition in file ffv1.c.
| #define CONTEXT_SIZE 32 |
Definition at line 35 of file ffv1.c.
Referenced by clear_state(), encode_init(), read_header(), read_quant_table(), write_header(), and write_quant_table().
| static void clear_state | ( | FFV1Context * | f | ) | [static] |
Definition at line 619 of file ffv1.c.
References FFV1Context::ac, VlcState::bias, PlaneContext::context_count, CONTEXT_SIZE, VlcState::count, VlcState::drift, VlcState::error_sum, PlaneContext::interlace_bit_state, FFV1Context::plane, FFV1Context::plane_count, PlaneContext::state, and PlaneContext::vlc_state.
Referenced by decode_frame(), and encode_frame().
| static void common_end | ( | FFV1Context * | s | ) | [static] |
Definition at line 697 of file ffv1.c.
References av_freep(), FFV1Context::plane, FFV1Context::plane_count, and PlaneContext::state.
Referenced by decode_end(), and encode_end().

| static int common_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 531 of file ffv1.c.
References FFV1Context::avctx, FFV1Context::dsp, dsputil_init(), AVCodecContext::flags, FFV1Context::flags, AVCodecContext::height, FFV1Context::height, height, AVCodecContext::priv_data, s, AVCodecContext::width, FFV1Context::width, and width.

| static int decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 944 of file ffv1.c.
References FFV1Context::ac, av_log(), AV_LOG_ERROR, FFV1Context::avctx, RangeCoder::bytestream, RangeCoder::bytestream_start, FFV1Context::c, c, FFV1Context::chroma_h_shift, FFV1Context::chroma_v_shift, clear_state(), FFV1Context::colorspace, AVCodecContext::debug, decode_plane(), decode_rgb_frame(), emms_c, ff_build_rac_states(), FF_DEBUG_PICT_INFO, FF_I_TYPE, ff_init_range_decoder(), FFV1Context::gb, get_bits_count(), AVCodecContext::get_buffer, get_rac(), FFV1Context::height, height, init_get_bits(), LL, picture, FFV1Context::picture, FFV1Context::picture_number, AVCodecContext::priv_data, read_header(), AVCodecContext::release_buffer, FFV1Context::width, and width.

| static int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 935 of file ffv1.c.
References common_init().

| static void decode_line | ( | FFV1Context * | s, | |
| int | w, | |||
| int_fast16_t * | sample[2], | |||
| int | plane_index, | |||
| int | bits | |||
| ) | [inline, static] |
Definition at line 716 of file ffv1.c.
References FFV1Context::ac, FFV1Context::c, c, context, FFV1Context::gb, get_bits(), get_bits1(), get_context(), get_symbol(), get_vlc_symbol(), log2_run, FFV1Context::plane, predict(), FFV1Context::run_index, PlaneContext::state, and PlaneContext::vlc_state.
Referenced by decode_plane(), and decode_rgb_frame().

| static void decode_plane | ( | FFV1Context * | s, | |
| uint8_t * | src, | |||
| int | w, | |||
| int | h, | |||
| int | stride, | |||
| int | plane_index | |||
| ) | [static] |
Definition at line 773 of file ffv1.c.
References decode_line(), and FFV1Context::run_index.
Referenced by decode_frame().

| static void decode_rgb_frame | ( | FFV1Context * | s, | |
| uint32_t * | src, | |||
| int | w, | |||
| int | h, | |||
| int | stride | |||
| ) | [static] |
Definition at line 800 of file ffv1.c.
References b, decode_line(), r, and FFV1Context::run_index.
Referenced by decode_frame().

| static int encode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 707 of file ffv1.c.
References common_end(), AVCodecContext::priv_data, and s.

| static int encode_frame | ( | AVCodecContext * | avctx, | |
| unsigned char * | buf, | |||
| int | buf_size, | |||
| void * | data | |||
| ) | [static] |
Definition at line 641 of file ffv1.c.
References FFV1Context::ac, FFV1Context::c, c, FFV1Context::chroma_h_shift, FFV1Context::chroma_v_shift, clear_state(), FFV1Context::colorspace, emms_c, encode_plane(), encode_rgb_frame(), ff_build_rac_states(), FF_I_TYPE, ff_init_range_encoder(), ff_rac_terminate(), flush_put_bits(), AVCodecContext::gop_size, FFV1Context::height, height, init_put_bits(), LL, FFV1Context::pb, FFV1Context::picture, FFV1Context::picture_number, AVCodecContext::priv_data, put_bits_count(), put_rac(), FFV1Context::width, width, and write_header().

| static int encode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 548 of file ffv1.c.
References FFV1Context::ac, av_log(), AV_LOG_ERROR, av_malloc(), avcodec_get_chroma_sub_sample(), FFV1Context::chroma_h_shift, FFV1Context::chroma_v_shift, AVCodecContext::coded_frame, AVCodecContext::coder_type, FFV1Context::colorspace, common_init(), PlaneContext::context_count, AVCodecContext::context_model, CONTEXT_SIZE, FF_COMPLIANCE_EXPERIMENTAL, FFV1Context::picture, FFV1Context::picture_number, AVCodecContext::pix_fmt, PIX_FMT_RGBA32, PIX_FMT_YUV410P, PIX_FMT_YUV411P, PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_YUV444P, FFV1Context::plane, FFV1Context::plane_count, AVCodecContext::priv_data, quant11, quant5, FFV1Context::quant_table, s, PlaneContext::state, AVCodecContext::strict_std_compliance, FFV1Context::version, and PlaneContext::vlc_state.

| static int encode_line | ( | FFV1Context * | s, | |
| int | w, | |||
| int_fast16_t * | sample[2], | |||
| int | plane_index, | |||
| int | bits | |||
| ) | [inline, static] |
Definition at line 357 of file ffv1.c.
References FFV1Context::ac, av_log(), AV_LOG_ERROR, FFV1Context::avctx, PutBitContext::buf, PutBitContext::buf_end, RangeCoder::bytestream, RangeCoder::bytestream_end, FFV1Context::c, c, context, fold(), get_context(), log2_run, FFV1Context::pb, FFV1Context::plane, predict(), put_bits(), put_bits_count(), put_symbol(), put_vlc_symbol(), FFV1Context::run_index, PlaneContext::state, and PlaneContext::vlc_state.
Referenced by encode_plane(), and encode_rgb_frame().

| static void encode_plane | ( | FFV1Context * | s, | |
| uint8_t * | src, | |||
| int | w, | |||
| int | h, | |||
| int | stride, | |||
| int | plane_index | |||
| ) | [static] |
Definition at line 435 of file ffv1.c.
References FFV1Context::avctx, AVCodecContext::context_model, encode_line(), and FFV1Context::run_index.
Referenced by encode_frame().

| static void encode_rgb_frame | ( | FFV1Context * | s, | |
| uint32_t * | src, | |||
| int | w, | |||
| int | h, | |||
| int | stride | |||
| ) | [static] |
Definition at line 458 of file ffv1.c.
References FFV1Context::avctx, b, AVCodecContext::context_model, encode_line(), r, and FFV1Context::run_index.
Referenced by encode_frame().

| static always_inline int fold | ( | int | diff, | |
| int | bits | |||
| ) | [static] |
Definition at line 187 of file ffv1.c.
Referenced by encode_line(), get_vlc_symbol(), and put_vlc_symbol().
| static int get_context | ( | FFV1Context * | f, | |
| int_fast16_t * | src, | |||
| int_fast16_t * | last, | |||
| int_fast16_t * | last2 | |||
| ) | [inline, static] |
Definition at line 207 of file ffv1.c.
References LL, FFV1Context::quant_table, and T.
Referenced by decode_line(), and encode_line().
| static int get_symbol | ( | RangeCoder * | c, | |
| uint8_t * | state, | |||
| int | is_signed | |||
| ) | [inline, static] |
Definition at line 248 of file ffv1.c.
References a, e, and get_rac().
Referenced by decode_header(), decode_line(), decode_q_branch(), read_header(), and read_quant_table().

| static int get_vlc_symbol | ( | GetBitContext * | gb, | |
| VlcState *const | state, | |||
| int | bits | |||
| ) | [inline, static] |
Definition at line 329 of file ffv1.c.
References VlcState::bias, VlcState::count, VlcState::drift, fold(), get_sr_golomb(), and update_vlc_state().
Referenced by decode_line().

| static int predict | ( | int_fast16_t * | src, | |
| int_fast16_t * | last | |||
| ) | [inline, static] |
| static void put_symbol | ( | RangeCoder * | c, | |
| uint8_t * | state, | |||
| int | v, | |||
| int | is_signed | |||
| ) | [inline, static] |
Definition at line 222 of file ffv1.c.
References a, ABS, e, and put_rac().
Referenced by encode_header(), encode_line(), encode_q_branch(), write_header(), and write_quant_table().

| static void put_vlc_symbol | ( | PutBitContext * | pb, | |
| VlcState *const | state, | |||
| int | v, | |||
| int | bits | |||
| ) | [inline, static] |
Definition at line 302 of file ffv1.c.
References VlcState::bias, VlcState::count, VlcState::drift, fold(), set_sr_golomb(), and update_vlc_state().
Referenced by encode_line().

| static int read_header | ( | FFV1Context * | f | ) | [static] |
Definition at line 870 of file ffv1.c.
References FFV1Context::ac, av_log(), AV_LOG_ERROR, av_malloc(), FFV1Context::avctx, FFV1Context::c, c, FFV1Context::chroma_h_shift, FFV1Context::chroma_v_shift, AVCodecContext::coder_type, FFV1Context::colorspace, PlaneContext::context_count, CONTEXT_SIZE, get_rac(), get_symbol(), AVCodecContext::pix_fmt, PIX_FMT_RGBA32, PIX_FMT_YUV410P, PIX_FMT_YUV411P, PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_YUV444P, FFV1Context::plane, FFV1Context::plane_count, FFV1Context::quant_table, read_quant_table(), PlaneContext::state, FFV1Context::version, and PlaneContext::vlc_state.

| static int read_quant_table | ( | RangeCoder * | c, | |
| int16_t * | quant_table, | |||
| int | scale | |||
| ) | [static] |
Definition at line 842 of file ffv1.c.
References CONTEXT_SIZE, and get_symbol().
Referenced by read_header().

| static void update_vlc_state | ( | VlcState *const | state, | |
| const int | v | |||
| ) | [inline, static] |
Definition at line 271 of file ffv1.c.
References ABS, VlcState::bias, VlcState::count, VlcState::drift, and VlcState::error_sum.
Referenced by get_vlc_symbol(), and put_vlc_symbol().
| static void write_header | ( | FFV1Context * | f | ) | [static] |
Definition at line 512 of file ffv1.c.
References FFV1Context::avctx, FFV1Context::c, c, FFV1Context::chroma_h_shift, FFV1Context::chroma_v_shift, AVCodecContext::coder_type, FFV1Context::colorspace, CONTEXT_SIZE, put_rac(), put_symbol(), FFV1Context::quant_table, FFV1Context::version, and write_quant_table().
Referenced by encode_frame(), and toolame().

| static void write_quant_table | ( | RangeCoder * | c, | |
| int16_t * | quant_table | |||
| ) | [static] |
Definition at line 497 of file ffv1.c.
References CONTEXT_SIZE, and put_symbol().
Referenced by write_header().

Initial value:
{
"ffv1",
CODEC_TYPE_VIDEO,
CODEC_ID_FFV1,
sizeof(FFV1Context),
decode_init,
NULL,
NULL,
decode_frame,
CODEC_CAP_DR1 ,
NULL
}
Definition at line 1017 of file ffv1.c.
Referenced by avcodec_register_all().
const uint8_t log2_run[32] [static] |
Initial value:
{
0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
4, 4, 5, 5, 6, 6, 7, 7,
8, 9,10,11,12,13,14,15,
}
Definition at line 146 of file ffv1.c.
Referenced by decode_line(), and encode_line().
const int8_t quant11[256] [static] |
Initial value:
{
0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-1,
}
Definition at line 109 of file ffv1.c.
Referenced by encode_init().
const int8_t quant13[256] [static] |
Initial value:
{
0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,
-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,
-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,
-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,
-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-2,-2,-1,
}
const int8_t quant3[256] [static] |
Initial value:
{
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0,
}
const int8_t quant5[256] [static] |
Initial value:
{
0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,-1,
}
Definition at line 55 of file ffv1.c.
Referenced by encode_init().
const int8_t quant7[256] [static] |
Initial value:
{
0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,
}
const int8_t quant9[256] [static] |
Initial value:
{
0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,
-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,
-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-1,-1,
}
1.5.5