return 1;
}
-void vp9_setup_version(VP9_COMMON *cm) {
- if (cm->version & 0x4) {
- if (!CONFIG_EXPERIMENTAL)
- vpx_internal_error(&cm->error, VPX_CODEC_UNSUP_BITSTREAM,
- "Bitstream was created by an experimental "
- "encoder");
- cm->experimental = 1;
- }
-
- switch (cm->version & 0x3) {
- case 0:
- cm->no_lpf = 0;
- cm->use_bilinear_mc_filter = 0;
- break;
- case 1:
- cm->no_lpf = 0;
- cm->use_bilinear_mc_filter = 1;
- break;
- case 2:
- case 3:
- cm->no_lpf = 1;
- cm->use_bilinear_mc_filter = 1;
- break;
- }
-}
void vp9_create_common(VP9_COMMON *oci) {
vp9_machine_specific_config(oci);
oci->txfm_mode = ONLY_4X4;
oci->comp_pred_mode = HYBRID_PREDICTION;
- oci->no_lpf = 0;
- oci->use_bilinear_mc_filter = 0;
oci->clr_type = REG_YUV;
// Initialize reference frame sign bias structure to defaults
int vp9_alloc_frame_buffers(VP9_COMMON *oci, int width, int height);
void vp9_free_frame_buffers(VP9_COMMON *oci);
-void vp9_setup_version(VP9_COMMON *oci);
void vp9_update_frame_size(VP9_COMMON *cm);
int mode_info_stride;
/* profile settings */
- int experimental;
TXFM_MODE txfm_mode;
- int no_lpf;
- int use_bilinear_mc_filter;
int base_qindex;
int last_kf_gf_q; /* Q used on the last GF or KF */
if (!pbi->decoded_key_frame && !keyframe)
return -1;
- vp9_setup_version(pc);
if (!read_is_valid(data, first_partition_size, data_end))
vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME,
"Truncated packet or corrupt partition 0 length");
cpi->goldfreq = 7;
cm->version = oxcf->version;
- vp9_setup_version(cm);
cm->width = oxcf->width;
cm->height = oxcf->height;
if (cm->version != oxcf->version) {
cm->version = oxcf->version;
- vp9_setup_version(cm);
}
cpi->oxcf = *oxcf;
cpi->cq_target_quality = cpi->oxcf.cq_level;
- cm->mcomp_filter_type = cm->use_bilinear_mc_filter ? BILINEAR
- : DEFAULT_INTERP_FILTER;
+ cm->mcomp_filter_type = DEFAULT_INTERP_FILTER;
cpi->target_bandwidth = cpi->oxcf.target_bandwidth;
}
static void loopfilter_frame(VP9_COMP *cpi, VP9_COMMON *cm) {
- if (cm->no_lpf || cpi->mb.e_mbd.lossless) {
+ if (cpi->mb.e_mbd.lossless) {
cm->filter_level = 0;
} else {
struct vpx_usec_timer timer;