if( i_mb_type == I_PCM )
{
i_mb_pos_tex = x264_cabac_pos( cb );
- h->stat.frame.i_hdr_bits += i_mb_pos_tex - i_mb_pos_start;
+ h->stat.frame.i_mv_bits += i_mb_pos_tex - i_mb_pos_start;
memcpy( cb->p, h->mb.pic.p_fenc[0], 256 );
cb->p += 256;
h->mc.copy[PIXEL_8x8] ( h->mb.pic.p_fdec[1], FDEC_STRIDE, h->mb.pic.p_fenc[1], FENC_STRIDE, 8 );
h->mc.copy[PIXEL_8x8] ( h->mb.pic.p_fdec[2], FDEC_STRIDE, h->mb.pic.p_fenc[2], FENC_STRIDE, 8 );
- h->stat.frame.i_itex_bits += x264_cabac_pos( cb ) - i_mb_pos_tex;
+ h->stat.frame.i_tex_bits += x264_cabac_pos( cb ) - i_mb_pos_tex;
return;
}
#endif
#ifndef RDO_SKIP_BS
i_mb_pos_tex = x264_cabac_pos( cb );
- h->stat.frame.i_hdr_bits += i_mb_pos_tex - i_mb_pos_start;
+ h->stat.frame.i_mv_bits += i_mb_pos_tex - i_mb_pos_start;
#endif
if( i_mb_type != I_16x16 )
}
#ifndef RDO_SKIP_BS
- if( IS_INTRA( i_mb_type ) )
- h->stat.frame.i_itex_bits += x264_cabac_pos( cb ) - i_mb_pos_tex;
- else
- h->stat.frame.i_ptex_bits += x264_cabac_pos( cb ) - i_mb_pos_tex;
+ h->stat.frame.i_tex_bits += x264_cabac_pos( cb ) - i_mb_pos_tex;
#endif
}
{
bs_write_ue( s, i_mb_i_offset + 25 );
i_mb_pos_tex = bs_pos( s );
- h->stat.frame.i_hdr_bits += i_mb_pos_tex - i_mb_pos_start;
+ h->stat.frame.i_mv_bits += i_mb_pos_tex - i_mb_pos_start;
bs_align_0( s );
h->mc.copy[PIXEL_8x8] ( h->mb.pic.p_fdec[1], FDEC_STRIDE, h->mb.pic.p_fenc[1], FENC_STRIDE, 8 );
h->mc.copy[PIXEL_8x8] ( h->mb.pic.p_fdec[2], FDEC_STRIDE, h->mb.pic.p_fenc[2], FENC_STRIDE, 8 );
- h->stat.frame.i_itex_bits += bs_pos(s) - i_mb_pos_tex;
+ h->stat.frame.i_tex_bits += bs_pos(s) - i_mb_pos_tex;
return;
}
#endif
#ifndef RDO_SKIP_BS
i_mb_pos_tex = bs_pos( s );
- h->stat.frame.i_hdr_bits += i_mb_pos_tex - i_mb_pos_start;
+ h->stat.frame.i_mv_bits += i_mb_pos_tex - i_mb_pos_start;
#endif
/* Coded block patern */
}
#ifndef RDO_SKIP_BS
- if( IS_INTRA( i_mb_type ) )
- h->stat.frame.i_itex_bits += bs_pos(s) - i_mb_pos_tex;
- else
- h->stat.frame.i_ptex_bits += bs_pos(s) - i_mb_pos_tex;
+ h->stat.frame.i_tex_bits += bs_pos(s) - i_mb_pos_tex;
#endif
}
int kept_as_ref;
float qscale;
int mv_bits;
- int i_tex_bits;
- int p_tex_bits;
+ int tex_bits;
int misc_bits;
uint64_t expected_bits;
double expected_vbv;
{
if(qscale<0.1)
qscale = 0.1;
- return (rce->i_tex_bits + rce->p_tex_bits + .1) * pow( rce->qscale / qscale, 1.1 )
+ return (rce->tex_bits + .1) * pow( rce->qscale / qscale, 1.1 )
+ rce->mv_bits * pow( X264_MAX(rce->qscale, 1) / X264_MAX(qscale, 1), 0.5 )
+ rce->misc_bits;
}
rce = &rc->entry[frame_number];
rce->direct_mode = 0;
- e += sscanf(p, " in:%*d out:%*d type:%c q:%f itex:%d ptex:%d mv:%d misc:%d imb:%d pmb:%d smb:%d d:%c",
- &pict_type, &qp, &rce->i_tex_bits, &rce->p_tex_bits,
+ e += sscanf(p, " in:%*d out:%*d type:%c q:%f tex:%d mv:%d misc:%d imb:%d pmb:%d smb:%d d:%c",
+ &pict_type, &qp, &rce->tex_bits,
&rce->mv_bits, &rce->misc_bits, &rce->i_count, &rce->p_count,
&rce->s_count, &rce->direct_mode);
dir_avg>0 ? 's' : dir_avg<0 ? 't' : '-' )
: '-';
fprintf( rc->p_stat_file_out,
- "in:%d out:%d type:%c q:%.2f itex:%d ptex:%d mv:%d misc:%d imb:%d pmb:%d smb:%d d:%c;\n",
+ "in:%d out:%d type:%c q:%.2f tex:%d mv:%d misc:%d imb:%d pmb:%d smb:%d d:%c;\n",
h->fenc->i_frame, h->i_frame,
c_type, rc->qpa_rc,
- h->stat.frame.i_itex_bits, h->stat.frame.i_ptex_bits,
- h->stat.frame.i_hdr_bits, h->stat.frame.i_misc_bits,
+ h->stat.frame.i_tex_bits,
+ h->stat.frame.i_mv_bits,
+ h->stat.frame.i_misc_bits,
h->stat.frame.i_mb_count_i,
h->stat.frame.i_mb_count_p,
h->stat.frame.i_mb_count_skip,
q = pow( rce->blurred_complexity, 1 - h->param.rc.f_qcompress );
// avoid NaN's in the rc_eq
- if(!isfinite(q) || rce->i_tex_bits + rce->p_tex_bits + rce->mv_bits == 0)
+ if(!isfinite(q) || rce->tex_bits + rce->mv_bits == 0)
q = rcc->last_qscale;
else
{
}
else if( pict_type == SLICE_TYPE_P
&& rcc->last_non_b_pict_type == SLICE_TYPE_P
- && rce->i_tex_bits + rce->p_tex_bits == 0 )
+ && rce->tex_bits == 0 )
{
q = last_p_q;
}
rcc->short_term_cplxsum += rcc->last_satd;
rcc->short_term_cplxcount ++;
- rce.p_tex_bits = rcc->last_satd;
+ rce.tex_bits = rcc->last_satd;
rce.blurred_complexity = rcc->short_term_cplxsum / rcc->short_term_cplxcount;
- rce.i_tex_bits = 0;
rce.mv_bits = 0;
rce.p_count = rcc->nmb;
rce.i_count = 0;