Place non-static function prototypes in a header file.
Change-Id: I7cd21b9f1e69f4e0b3338bfe27b3c67e4b47de58
This commit is contained in:
parent
06f3e51da6
commit
3c4f47e843
@ -12,6 +12,7 @@
|
||||
#include "vpx_ports/config.h"
|
||||
#include "vpx_scale/yv12config.h"
|
||||
#include "postproc.h"
|
||||
#include "vp9/common/textblit.h"
|
||||
#include "vpx_scale/vpxscale.h"
|
||||
#include "systemdependent.h"
|
||||
|
||||
@ -126,10 +127,6 @@ const short vp9_rv[] = {
|
||||
};
|
||||
|
||||
|
||||
extern void vp9_blit_text(const char *msg, unsigned char *address,
|
||||
const int pitch);
|
||||
extern void vp9_blit_line(int x0, int x1, int y0, int y1,
|
||||
unsigned char *image, const int pitch);
|
||||
/****************************************************************************
|
||||
*/
|
||||
void vp9_post_proc_down_and_across_c(unsigned char *src_ptr,
|
||||
|
@ -13,6 +13,6 @@
|
||||
|
||||
#include "blockd.h"
|
||||
|
||||
extern void init_intra_left_above_pixels(MACROBLOCKD *xd);
|
||||
extern void vp9_recon_intra_mbuv(MACROBLOCKD *xd);
|
||||
|
||||
#endif // __INC_RECONINTRA_H
|
||||
|
@ -55,6 +55,12 @@ specialize vp9_dequant_idct_add_uv_block_8x8
|
||||
prototype void vp9_dequant_idct_add_16x16 "short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride"
|
||||
specialize vp9_dequant_idct_add_16x16
|
||||
|
||||
prototype void vp9_dequant_idct_add_8x8 "short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride"
|
||||
specialize vp9_dequant_idct_add_8x8
|
||||
|
||||
prototype void vp9_dequant_dc_idct_add_8x8 "short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride, int Dc"
|
||||
specialize vp9_dequant_dc_idct_add_8x8
|
||||
|
||||
prototype void vp9_dequant_idct_add "short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride"
|
||||
specialize vp9_dequant_idct_add
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "vp9/common/textblit.h"
|
||||
|
||||
void vp9_blit_text(const char *msg, unsigned char *address, const int pitch) {
|
||||
int letter_bitmap;
|
||||
|
19
vp9/common/textblit.h
Normal file
19
vp9/common/textblit.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef __INC_TEXTBLIT_H
|
||||
#define __INC_TEXTBLIT_H
|
||||
|
||||
extern void vp9_blit_text(const char *msg, unsigned char *address,
|
||||
const int pitch);
|
||||
extern void vp9_blit_line(int x0, int x1, int y0, int y1,
|
||||
unsigned char *image, const int pitch);
|
||||
|
||||
#endif // __INC_TEXTBLIT_H
|
@ -14,6 +14,7 @@
|
||||
#include "vp9/common/reconintra.h"
|
||||
#include "vp9/common/reconintra4x4.h"
|
||||
#include "vp9/common/reconinter.h"
|
||||
#include "vp9/decoder/decodframe.h"
|
||||
#include "detokenize.h"
|
||||
#include "vp9/common/invtrans.h"
|
||||
#include "vp9/common/alloccommon.h"
|
||||
|
19
vp9/decoder/decodframe.h
Normal file
19
vp9/decoder/decodframe.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __INC_DECODFRAME_H
|
||||
#define __INC_DECODFRAME_H
|
||||
|
||||
struct VP9Decompressor;
|
||||
|
||||
extern void vp9_init_de_quantizer(struct VP9Decompressor *pbi);
|
||||
|
||||
#endif // __INC_DECODFRAME_H
|
@ -9,24 +9,12 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "vpx_ports/config.h"
|
||||
#include "vpx_rtcd.h"
|
||||
#include "dequantize.h"
|
||||
#include "vp9/common/idct.h"
|
||||
#include "vpx_mem/vpx_mem.h"
|
||||
#include "onyxd_int.h"
|
||||
|
||||
extern void vp9_short_idct4x4llm_c(short *input, short *output, int pitch);
|
||||
extern void vp9_short_idct4x4llm_1_c(short *input, short *output, int pitch);
|
||||
extern void vp9_short_idct8x8_c(short *input, short *output, int pitch);
|
||||
extern void vp9_short_idct8x8_1_c(short *input, short *output, int pitch);
|
||||
|
||||
#if CONFIG_LOSSLESS
|
||||
extern void vp9_short_inv_walsh4x4_x8_c(short *input, short *output,
|
||||
int pitch);
|
||||
extern void vp9_short_inv_walsh4x4_1_x8_c(short *input, short *output,
|
||||
int pitch);
|
||||
#endif
|
||||
|
||||
#ifdef DEC_DEBUG
|
||||
extern int dec_debug;
|
||||
#endif
|
||||
|
@ -8,25 +8,8 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "vpx_ports/config.h"
|
||||
#include "vpx_rtcd.h"
|
||||
#include "vp9/common/idct.h"
|
||||
#include "dequantize.h"
|
||||
|
||||
void vp9_dequant_dc_idct_add_c(short *input, short *dq, unsigned char *pred,
|
||||
unsigned char *dest, int pitch, int stride,
|
||||
int Dc);
|
||||
void vp9_dequant_idct_add_c(short *input, short *dq, unsigned char *pred,
|
||||
unsigned char *dest, int pitch, int stride);
|
||||
void vp9_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr,
|
||||
unsigned char *dst_ptr, int pitch, int stride);
|
||||
#if CONFIG_LOSSLESS
|
||||
void vp9_dequant_idct_add_lossless_c(short *input, short *dq,
|
||||
unsigned char *pred, unsigned char *dest,
|
||||
int pitch, int stride);
|
||||
void vp9_dc_only_idct_add_lossless_c(short input_dc, unsigned char *pred_ptr,
|
||||
unsigned char *dst_ptr,
|
||||
int pitch, int stride);
|
||||
#endif
|
||||
|
||||
void vp9_dequant_dc_idct_add_y_block_c(short *q, short *dq,
|
||||
unsigned char *pre,
|
||||
|
@ -26,12 +26,12 @@
|
||||
#include "vpx_scale/vpxscale.h"
|
||||
#include "vp9/common/systemdependent.h"
|
||||
#include "vpx_ports/vpx_timer.h"
|
||||
#include "vp9/decoder/decodframe.h"
|
||||
#include "detokenize.h"
|
||||
#if ARCH_ARM
|
||||
#include "vpx_ports/arm.h"
|
||||
#endif
|
||||
|
||||
extern void vp9_init_de_quantizer(VP9D_COMP *pbi);
|
||||
static int get_free_fb(VP9_COMMON *cm);
|
||||
static void ref_cnt_fb(int *buf, int *idx, int new_idx);
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
|
||||
#include "vpx_ports/config.h"
|
||||
#include "vp9/encoder/encodeframe.h"
|
||||
#include "encodemb.h"
|
||||
#include "encodemv.h"
|
||||
#include "vp9/common/common.h"
|
||||
@ -27,6 +28,7 @@
|
||||
#include "vp9/common/findnearmv.h"
|
||||
#include "vp9/common/reconintra.h"
|
||||
#include "vp9/common/seg_common.h"
|
||||
#include "vp9/encoder/tokenize.h"
|
||||
#include "vpx_rtcd.h"
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
@ -54,35 +56,19 @@ int enc_debug = 0;
|
||||
int mb_row_debug, mb_col_debug;
|
||||
#endif
|
||||
|
||||
extern void vp9_initialize_me_consts(VP9_COMP *cpi, int QIndex);
|
||||
static void encode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int recon_yoffset,
|
||||
int recon_uvoffset, int output_enabled);
|
||||
|
||||
extern void vp9_auto_select_speed(VP9_COMP *cpi);
|
||||
static void encode_inter_superblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int recon_yoffset,
|
||||
int recon_uvoffset, int mb_col, int mb_row);
|
||||
|
||||
int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int *returnrate, int *returndistortion);
|
||||
static void encode_intra_macro_block(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int output_enabled);
|
||||
|
||||
extern void vp9_pick_mode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset,
|
||||
int recon_uvoffset, int *r, int *d);
|
||||
|
||||
void vp9_build_block_offsets(MACROBLOCK *x);
|
||||
|
||||
void vp9_setup_block_ptrs(MACROBLOCK *x);
|
||||
|
||||
void vp9_encode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int output_enabled);
|
||||
|
||||
void vp9_encode_inter_superblock(VP9_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int mb_col, int mb_row);
|
||||
|
||||
void vp9_encode_intra_macro_block(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int output_enabled);
|
||||
|
||||
void vp9_encode_intra_super_block(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int mb_col);
|
||||
static void encode_intra_super_block(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int mb_col);
|
||||
|
||||
static void adjust_act_zbin(VP9_COMP *cpi, MACROBLOCK *x);
|
||||
|
||||
@ -634,7 +620,7 @@ static void pick_mb_modes(VP9_COMP *cpi,
|
||||
*totaldist += d;
|
||||
|
||||
// Dummy encode, do not do the tokenization
|
||||
vp9_encode_intra_macro_block(cpi, x, tp, 0);
|
||||
encode_intra_macro_block(cpi, x, tp, 0);
|
||||
// Note the encoder may have changed the segment_id
|
||||
|
||||
// Save the coding context
|
||||
@ -661,8 +647,8 @@ static void pick_mb_modes(VP9_COMP *cpi,
|
||||
*totaldist += d;
|
||||
|
||||
// Dummy encode, do not do the tokenization
|
||||
vp9_encode_inter_macroblock(cpi, x, tp,
|
||||
recon_yoffset, recon_uvoffset, 0);
|
||||
encode_inter_macroblock(cpi, x, tp,
|
||||
recon_yoffset, recon_uvoffset, 0);
|
||||
|
||||
seg_id = mbmi->segment_id;
|
||||
if (cpi->mb.e_mbd.segmentation_enabled && seg_id == 0) {
|
||||
@ -992,10 +978,10 @@ static void encode_sb(VP9_COMP *cpi,
|
||||
if (cm->frame_type == KEY_FRAME) {
|
||||
#if CONFIG_SUPERBLOCKS
|
||||
if (xd->mode_info_context->mbmi.encoded_as_sb)
|
||||
vp9_encode_intra_super_block(cpi, x, tp, mb_col);
|
||||
encode_intra_super_block(cpi, x, tp, mb_col);
|
||||
else
|
||||
#endif
|
||||
vp9_encode_intra_macro_block(cpi, x, tp, 1);
|
||||
encode_intra_macro_block(cpi, x, tp, 1);
|
||||
// Note the encoder may have changed the segment_id
|
||||
|
||||
#ifdef MODE_STATS
|
||||
@ -1018,12 +1004,12 @@ static void encode_sb(VP9_COMP *cpi,
|
||||
|
||||
#if CONFIG_SUPERBLOCKS
|
||||
if (xd->mode_info_context->mbmi.encoded_as_sb)
|
||||
vp9_encode_inter_superblock(cpi, x, tp, recon_yoffset, recon_uvoffset,
|
||||
mb_col, mb_row);
|
||||
encode_inter_superblock(cpi, x, tp, recon_yoffset, recon_uvoffset,
|
||||
mb_col, mb_row);
|
||||
else
|
||||
#endif
|
||||
vp9_encode_inter_macroblock(cpi, x, tp,
|
||||
recon_yoffset, recon_uvoffset, 1);
|
||||
encode_inter_macroblock(cpi, x, tp,
|
||||
recon_yoffset, recon_uvoffset, 1);
|
||||
// Note the encoder may have changed the segment_id
|
||||
|
||||
#ifdef MODE_STATS
|
||||
@ -1851,10 +1837,8 @@ static void update_sb_skip_coeff_state(VP9_COMP *cpi,
|
||||
}
|
||||
}
|
||||
|
||||
void vp9_encode_intra_super_block(VP9_COMP *cpi,
|
||||
MACROBLOCK *x,
|
||||
TOKENEXTRA **t,
|
||||
int mb_col) {
|
||||
static void encode_intra_super_block(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int mb_col) {
|
||||
const int output_enabled = 1;
|
||||
int n;
|
||||
MACROBLOCKD *xd = &x->e_mbd;
|
||||
@ -1931,10 +1915,8 @@ void vp9_encode_intra_super_block(VP9_COMP *cpi,
|
||||
}
|
||||
#endif /* CONFIG_SUPERBLOCKS */
|
||||
|
||||
void vp9_encode_intra_macro_block(VP9_COMP *cpi,
|
||||
MACROBLOCK *x,
|
||||
TOKENEXTRA **t,
|
||||
int output_enabled) {
|
||||
static void encode_intra_macro_block(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int output_enabled) {
|
||||
MB_MODE_INFO * mbmi = &x->e_mbd.mode_info_context->mbmi;
|
||||
if ((cpi->oxcf.tuning == VP8_TUNE_SSIM) && output_enabled) {
|
||||
adjust_act_zbin(cpi, x);
|
||||
@ -1984,11 +1966,9 @@ void vp9_encode_intra_macro_block(VP9_COMP *cpi,
|
||||
#endif
|
||||
}
|
||||
|
||||
extern void vp9_fix_contexts(MACROBLOCKD *xd);
|
||||
|
||||
void vp9_encode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int recon_yoffset,
|
||||
int recon_uvoffset, int output_enabled) {
|
||||
static void encode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int recon_yoffset,
|
||||
int recon_uvoffset, int output_enabled) {
|
||||
VP9_COMMON *cm = &cpi->common;
|
||||
MACROBLOCKD *const xd = &x->e_mbd;
|
||||
MB_MODE_INFO * mbmi = &xd->mode_info_context->mbmi;
|
||||
@ -2172,9 +2152,10 @@ void vp9_encode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
}
|
||||
|
||||
#if CONFIG_SUPERBLOCKS
|
||||
void vp9_encode_inter_superblock(VP9_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int mb_col, int mb_row) {
|
||||
static void encode_inter_superblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
TOKENEXTRA **t, int recon_yoffset,
|
||||
int recon_uvoffset,
|
||||
int mb_col, int mb_row) {
|
||||
const int output_enabled = 1;
|
||||
VP9_COMMON *cm = &cpi->common;
|
||||
MACROBLOCKD *xd = &x->e_mbd;
|
||||
|
21
vp9/encoder/encodeframe.h
Normal file
21
vp9/encoder/encodeframe.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __INC_ENCODEFRAME_H
|
||||
#define __INC_ENCODEFRAME_H
|
||||
|
||||
struct macroblock;
|
||||
|
||||
extern void vp9_build_block_offsets(struct macroblock *x);
|
||||
|
||||
extern void vp9_setup_block_ptrs(struct macroblock *x);
|
||||
|
||||
#endif // __INC_ENCODEFRAME_H
|
@ -18,12 +18,14 @@
|
||||
#include "mcomp.h"
|
||||
#include "firstpass.h"
|
||||
#include "vpx_scale/vpxscale.h"
|
||||
#include "vp9/encoder/encodeframe.h"
|
||||
#include "encodemb.h"
|
||||
#include "vp9/common/extend.h"
|
||||
#include "vp9/common/systemdependent.h"
|
||||
#include "vpx_mem/vpx_mem.h"
|
||||
#include "vp9/common/swapyv12buffer.h"
|
||||
#include <stdio.h>
|
||||
#include "vp9/encoder/quantize.h"
|
||||
#include "rdopt.h"
|
||||
#include "ratectrl.h"
|
||||
#include "vp9/common/quant_common.h"
|
||||
@ -38,17 +40,6 @@
|
||||
#define IF_RTCD(x) NULL
|
||||
#endif
|
||||
|
||||
extern void vp9_build_block_offsets(MACROBLOCK *x);
|
||||
|
||||
extern void vp9_setup_block_ptrs(MACROBLOCK *x);
|
||||
|
||||
extern void vp9_frame_init_quantizer(VP9_COMP *cpi);
|
||||
|
||||
extern void vp9_set_mbmode_and_mvs(MACROBLOCK *x, MB_PREDICTION_MODE mb,
|
||||
int_mv *mv);
|
||||
|
||||
extern void vp9_alloc_compressor_data(VP9_COMP *cpi);
|
||||
|
||||
#define IIFACTOR 12.5
|
||||
#define IIKFACTOR1 12.5
|
||||
#define IIKFACTOR2 15.0
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "vp9/common/pred_common.h"
|
||||
#include "vp9/encoder/rdopt.h"
|
||||
#include "bitstream.h"
|
||||
#include "vp9/encoder/picklpf.h"
|
||||
#include "ratectrl.h"
|
||||
|
||||
#if CONFIG_NEWBESTREFMV
|
||||
@ -58,18 +59,8 @@
|
||||
#define RTCD(x) NULL
|
||||
#endif
|
||||
|
||||
extern void vp9_pick_filter_level_fast(YV12_BUFFER_CONFIG *sd, VP9_COMP *cpi);
|
||||
|
||||
extern void vp9_set_alt_lf_level(VP9_COMP *cpi, int filt_val);
|
||||
|
||||
extern void vp9_pick_filter_level(YV12_BUFFER_CONFIG *sd, VP9_COMP *cpi);
|
||||
|
||||
extern void vp9_cmachine_specific_config(VP9_COMP *cpi);
|
||||
|
||||
extern void vp9_deblock_frame(YV12_BUFFER_CONFIG *source,
|
||||
YV12_BUFFER_CONFIG *post,
|
||||
int filt_lvl, int low_var_thresh, int flag);
|
||||
|
||||
extern void print_tree_update_probs();
|
||||
|
||||
#if HAVE_ARMV7
|
||||
@ -80,10 +71,6 @@ extern void vp8_yv12_copy_src_frame_func_neon(YV12_BUFFER_CONFIG *src_ybc,
|
||||
YV12_BUFFER_CONFIG *dst_ybc);
|
||||
#endif
|
||||
|
||||
int vp9_calc_ss_err(YV12_BUFFER_CONFIG *source, YV12_BUFFER_CONFIG *dest);
|
||||
|
||||
extern void vp9_temporal_filter_prepare_c(VP9_COMP *cpi, int distance);
|
||||
|
||||
static void set_default_lf_deltas(VP9_COMP *cpi);
|
||||
|
||||
#define DEFAULT_INTERP_FILTER EIGHTTAP /* SWITCHABLE for better performance */
|
||||
|
@ -764,11 +764,13 @@ void vp9_pack_bitstream(VP9_COMP *cpi, unsigned char *dest,
|
||||
|
||||
void vp9_activity_masking(VP9_COMP *cpi, MACROBLOCK *x);
|
||||
|
||||
void vp9_tokenize_mb(VP9_COMP *, MACROBLOCKD *, TOKENEXTRA **, int dry_run);
|
||||
void vp9_stuff_mb(VP9_COMP *cpi, MACROBLOCKD *xd, TOKENEXTRA **t, int dry_run);
|
||||
|
||||
void vp9_set_speed_features(VP9_COMP *cpi);
|
||||
|
||||
extern int vp9_calc_ss_err(YV12_BUFFER_CONFIG *source,
|
||||
YV12_BUFFER_CONFIG *dest);
|
||||
|
||||
extern void vp9_alloc_compressor_data(VP9_COMP *cpi);
|
||||
|
||||
#if CONFIG_DEBUG
|
||||
#define CHECK_MEM_ERROR(lval,expr) do {\
|
||||
lval = (expr); \
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
#include "vp9/common/onyxc_int.h"
|
||||
#include "onyx_int.h"
|
||||
#include "vp9/encoder/picklpf.h"
|
||||
#include "quantize.h"
|
||||
#include "vpx_mem/vpx_mem.h"
|
||||
#include "vpx_scale/vpxscale.h"
|
||||
@ -20,8 +21,6 @@
|
||||
#include "vpx_ports/arm.h"
|
||||
#endif
|
||||
|
||||
extern int vp9_calc_ss_err(YV12_BUFFER_CONFIG *source,
|
||||
YV12_BUFFER_CONFIG *dest);
|
||||
#if HAVE_ARMV7
|
||||
extern void vp8_yv12_copy_frame_yonly_no_extend_frame_borders_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
|
||||
#endif
|
||||
|
26
vp9/encoder/picklpf.h
Normal file
26
vp9/encoder/picklpf.h
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (c) 2010 The WebM project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __INC_PICKLPF_H
|
||||
#define __INC_PICKLPF_H
|
||||
|
||||
struct yv12_buffer_config;
|
||||
struct VP9_COMP;
|
||||
|
||||
extern void vp9_pick_filter_level_fast(struct yv12_buffer_config *sd,
|
||||
struct VP9_COMP *cpi);
|
||||
|
||||
extern void vp9_set_alt_lf_level(struct VP9_COMP *cpi, int filt_val);
|
||||
|
||||
extern void vp9_pick_filter_level(struct yv12_buffer_config *sd,
|
||||
struct VP9_COMP *cpi);
|
||||
|
||||
#endif // __INC_PICKLPF_H
|
@ -51,9 +51,6 @@
|
||||
#define IF_RTCD(x) NULL
|
||||
#endif
|
||||
|
||||
extern void vp9_mb_init_quantizer(VP9_COMP *cpi, MACROBLOCK *x);
|
||||
extern void vp9_update_zbin_extra(VP9_COMP *cpi, MACROBLOCK *x);
|
||||
|
||||
#define MAXF(a,b) (((a) > (b)) ? (a) : (b))
|
||||
|
||||
#define INVALID_MV 0x80008000
|
||||
@ -391,59 +388,6 @@ void vp9_initialize_rd_consts(VP9_COMP *cpi, int QIndex) {
|
||||
}
|
||||
}
|
||||
|
||||
void vp9_auto_select_speed(VP9_COMP *cpi) {
|
||||
int milliseconds_for_compress = (int)(1000000 / cpi->oxcf.frame_rate);
|
||||
|
||||
milliseconds_for_compress = milliseconds_for_compress * (16 - cpi->oxcf.cpu_used) / 16;
|
||||
|
||||
/*
|
||||
// this is done during parameter valid check
|
||||
if( cpi->oxcf.cpu_used > 16)
|
||||
cpi->oxcf.cpu_used = 16;
|
||||
if( cpi->oxcf.cpu_used < -16)
|
||||
cpi->oxcf.cpu_used = -16;
|
||||
*/
|
||||
|
||||
if (cpi->avg_pick_mode_time < milliseconds_for_compress &&
|
||||
(cpi->avg_encode_time - cpi->avg_pick_mode_time) <
|
||||
milliseconds_for_compress) {
|
||||
if (cpi->avg_pick_mode_time == 0) {
|
||||
cpi->Speed = 4;
|
||||
} else {
|
||||
if (milliseconds_for_compress * 100 < cpi->avg_encode_time * 95) {
|
||||
cpi->Speed += 2;
|
||||
cpi->avg_pick_mode_time = 0;
|
||||
cpi->avg_encode_time = 0;
|
||||
|
||||
if (cpi->Speed > 16) {
|
||||
cpi->Speed = 16;
|
||||
}
|
||||
}
|
||||
|
||||
if (milliseconds_for_compress * 100 >
|
||||
cpi->avg_encode_time * auto_speed_thresh[cpi->Speed]) {
|
||||
cpi->Speed -= 1;
|
||||
cpi->avg_pick_mode_time = 0;
|
||||
cpi->avg_encode_time = 0;
|
||||
|
||||
// In real-time mode, cpi->speed is in [4, 16].
|
||||
if (cpi->Speed < 4) { // if ( cpi->Speed < 0 )
|
||||
cpi->Speed = 4; // cpi->Speed = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
cpi->Speed += 4;
|
||||
|
||||
if (cpi->Speed > 16)
|
||||
cpi->Speed = 16;
|
||||
|
||||
|
||||
cpi->avg_pick_mode_time = 0;
|
||||
cpi->avg_encode_time = 0;
|
||||
}
|
||||
}
|
||||
|
||||
int vp9_block_error_c(short *coeff, short *dqcoeff, int block_size) {
|
||||
int i, error = 0;
|
||||
|
||||
@ -3527,10 +3471,10 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
return this_rd; // if 0, this will be re-calculated by caller
|
||||
}
|
||||
|
||||
void vp9_rd_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int *returnrate, int *returndistortion,
|
||||
int64_t *returnintra) {
|
||||
static void rd_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int *returnrate, int *returndistortion,
|
||||
int64_t *returnintra) {
|
||||
VP9_COMMON *cm = &cpi->common;
|
||||
MACROBLOCKD *xd = &x->e_mbd;
|
||||
union b_mode_info best_bmodes[16];
|
||||
@ -4834,8 +4778,8 @@ void vp9_pick_mode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
{
|
||||
int zbin_mode_boost_enabled = cpi->zbin_mode_boost_enabled;
|
||||
|
||||
vp9_rd_pick_inter_mode(cpi, x, recon_yoffset, recon_uvoffset, &rate,
|
||||
&distortion, &intra_error);
|
||||
rd_pick_inter_mode(cpi, x, recon_yoffset, recon_uvoffset, &rate,
|
||||
&distortion, &intra_error);
|
||||
|
||||
/* restore cpi->zbin_mode_boost_enabled */
|
||||
cpi->zbin_mode_boost_enabled = zbin_mode_boost_enabled;
|
||||
|
@ -17,10 +17,7 @@
|
||||
|
||||
extern void vp9_initialize_rd_consts(VP9_COMP *cpi, int Qvalue);
|
||||
|
||||
extern void vp9_rd_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int *returnrate, int *returndistortion,
|
||||
int64_t *returnintra);
|
||||
extern void vp9_initialize_me_consts(VP9_COMP *cpi, int QIndex);
|
||||
|
||||
extern void vp9_rd_pick_intra_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int *r, int *d);
|
||||
@ -28,6 +25,14 @@ extern void vp9_rd_pick_intra_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
extern void vp9_rd_pick_intra_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int *r, int *d);
|
||||
|
||||
extern void vp9_pick_mode_inter_macroblock(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset,
|
||||
int recon_uvoffset, int *r, int *d);
|
||||
|
||||
extern int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int recon_yoffset, int recon_uvoffset,
|
||||
int *returnrate, int *returndist);
|
||||
|
||||
extern void vp9_mv_pred(VP9_COMP *cpi, MACROBLOCKD *xd,
|
||||
const MODE_INFO *here, int_mv *mvp,
|
||||
int refframe, int *ref_frame_sign_bias,
|
||||
|
@ -44,4 +44,8 @@ typedef struct {
|
||||
#define TEMPORAL_INVOKE(ctx,fn) vp9_temporal_filter_##fn
|
||||
#endif
|
||||
|
||||
struct VP9_COMP;
|
||||
|
||||
extern void vp9_temporal_filter_prepare_c(struct VP9_COMP *cpi, int distance);
|
||||
|
||||
#endif // __INC_TEMPORAL_FILTER_H
|
||||
|
@ -48,9 +48,6 @@ extern unsigned int hybrid_tree_update_hist_16x16[BLOCK_TYPES_16X16][COEF_BANDS]
|
||||
[PREV_COEF_CONTEXTS][ENTROPY_NODES] [2];
|
||||
#endif /* ENTROPY_STATS */
|
||||
|
||||
void vp9_stuff_mb(VP9_COMP *cpi, MACROBLOCKD *xd, TOKENEXTRA **t, int dry_run);
|
||||
void vp9_fix_contexts(MACROBLOCKD *xd);
|
||||
|
||||
static TOKENVALUE dct_value_tokens[DCT_MAX_VALUE * 2];
|
||||
const TOKENVALUE *vp9_dct_value_tokens_ptr;
|
||||
static int dct_value_cost[DCT_MAX_VALUE * 2];
|
||||
|
@ -29,14 +29,22 @@ typedef struct {
|
||||
unsigned char skip_eob_node;
|
||||
} TOKENEXTRA;
|
||||
|
||||
int rd_cost_mby(MACROBLOCKD *);
|
||||
|
||||
extern int vp9_mby_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block);
|
||||
extern int vp9_mbuv_is_skippable_4x4(MACROBLOCKD *xd);
|
||||
extern int vp9_mby_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block);
|
||||
extern int vp9_mbuv_is_skippable_8x8(MACROBLOCKD *xd);
|
||||
extern int vp9_mby_is_skippable_16x16(MACROBLOCKD *xd);
|
||||
|
||||
struct VP9_COMP;
|
||||
|
||||
extern void vp9_tokenize_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd,
|
||||
TOKENEXTRA **t, int dry_run);
|
||||
|
||||
extern void vp9_stuff_mb(struct VP9_COMP *cpi, MACROBLOCKD *xd,
|
||||
TOKENEXTRA **t, int dry_run);
|
||||
|
||||
extern void vp9_fix_contexts(MACROBLOCKD *xd);
|
||||
|
||||
#ifdef ENTROPY_STATS
|
||||
void init_context_counters();
|
||||
void print_context_counters();
|
||||
|
Loading…
x
Reference in New Issue
Block a user