|
@@ -1343,7 +1343,7 @@ static inline void direct_dist_scale_factor(H264Context * const h){
|
|
|
h->dist_scale_factor[i] = 256;
|
|
|
}else{
|
|
|
int tb = clip(poc - poc0, -128, 127);
|
|
|
- int tx = (16384 + (ABS(td) >> 1)) / td;
|
|
|
+ int tx = (16384 + (FFABS(td) >> 1)) / td;
|
|
|
h->dist_scale_factor[i] = clip((tb*tx + 32) >> 6, -1024, 1023);
|
|
|
}
|
|
|
}
|
|
@@ -1474,8 +1474,8 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
|
|
|
fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1);
|
|
|
fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1);
|
|
|
if(!IS_INTRA(mb_type_col)
|
|
|
- && ( (l1ref0[0] == 0 && ABS(l1mv0[0][0]) <= 1 && ABS(l1mv0[0][1]) <= 1)
|
|
|
- || (l1ref0[0] < 0 && l1ref1[0] == 0 && ABS(l1mv1[0][0]) <= 1 && ABS(l1mv1[0][1]) <= 1
|
|
|
+ && ( (l1ref0[0] == 0 && FFABS(l1mv0[0][0]) <= 1 && FFABS(l1mv0[0][1]) <= 1)
|
|
|
+ || (l1ref0[0] < 0 && l1ref1[0] == 0 && FFABS(l1mv1[0][0]) <= 1 && FFABS(l1mv1[0][1]) <= 1
|
|
|
&& (h->x264_build>33 || !h->x264_build)))){
|
|
|
if(ref[0] > 0)
|
|
|
fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv[0][0],mv[0][1]), 4);
|
|
@@ -1510,7 +1510,7 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
|
|
|
const int16_t (*l1mv)[2]= l1ref0[x8 + y8*h->b8_stride] == 0 ? l1mv0 : l1mv1;
|
|
|
if(IS_SUB_8X8(sub_mb_type)){
|
|
|
const int16_t *mv_col = l1mv[x8*3 + y8*3*h->b_stride];
|
|
|
- if(ABS(mv_col[0]) <= 1 && ABS(mv_col[1]) <= 1){
|
|
|
+ if(FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1){
|
|
|
if(ref[0] == 0)
|
|
|
fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, 0, 4);
|
|
|
if(ref[1] == 0)
|
|
@@ -1519,7 +1519,7 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
|
|
|
}else
|
|
|
for(i4=0; i4<4; i4++){
|
|
|
const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*h->b_stride];
|
|
|
- if(ABS(mv_col[0]) <= 1 && ABS(mv_col[1]) <= 1){
|
|
|
+ if(FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1){
|
|
|
if(ref[0] == 0)
|
|
|
*(uint32_t*)h->mv_cache[0][scan8[i8*4+i4]] = 0;
|
|
|
if(ref[1] == 0)
|
|
@@ -4213,7 +4213,7 @@ static void implicit_weight_table(H264Context *h){
|
|
|
int td = clip(poc1 - poc0, -128, 127);
|
|
|
if(td){
|
|
|
int tb = clip(cur_poc - poc0, -128, 127);
|
|
|
- int tx = (16384 + (ABS(td) >> 1)) / td;
|
|
|
+ int tx = (16384 + (FFABS(td) >> 1)) / td;
|
|
|
int dist_scale_factor = clip((tb*tx + 32) >> 6, -1024, 1023) >> 2;
|
|
|
if(dist_scale_factor < -64 || dist_scale_factor > 128)
|
|
|
h->implicit_weight[ref0][ref1] = 32;
|
|
@@ -6733,12 +6733,12 @@ static void filter_mb_edgev( H264Context *h, uint8_t *pix, int stride, int16_t b
|
|
|
const int q1 = pix[1];
|
|
|
const int q2 = pix[2];
|
|
|
|
|
|
- if( ABS( p0 - q0 ) < alpha &&
|
|
|
- ABS( p1 - p0 ) < beta &&
|
|
|
- ABS( q1 - q0 ) < beta ) {
|
|
|
+ if( FFABS( p0 - q0 ) < alpha &&
|
|
|
+ FFABS( p1 - p0 ) < beta &&
|
|
|
+ FFABS( q1 - q0 ) < beta ) {
|
|
|
|
|
|
- if(ABS( p0 - q0 ) < (( alpha >> 2 ) + 2 )){
|
|
|
- if( ABS( p2 - p0 ) < beta)
|
|
|
+ if(FFABS( p0 - q0 ) < (( alpha >> 2 ) + 2 )){
|
|
|
+ if( FFABS( p2 - p0 ) < beta)
|
|
|
{
|
|
|
const int p3 = pix[-4];
|
|
|
/* p0', p1', p2' */
|
|
@@ -6749,7 +6749,7 @@ static void filter_mb_edgev( H264Context *h, uint8_t *pix, int stride, int16_t b
|
|
|
/* p0' */
|
|
|
pix[-1] = ( 2*p1 + p0 + q1 + 2 ) >> 2;
|
|
|
}
|
|
|
- if( ABS( q2 - q0 ) < beta)
|
|
|
+ if( FFABS( q2 - q0 ) < beta)
|
|
|
{
|
|
|
const int q3 = pix[3];
|
|
|
/* q0', q1', q2' */
|
|
@@ -6819,17 +6819,17 @@ static void filter_mb_mbaff_edgev( H264Context *h, uint8_t *pix, int stride, int
|
|
|
const int q1 = pix[1];
|
|
|
const int q2 = pix[2];
|
|
|
|
|
|
- if( ABS( p0 - q0 ) < alpha &&
|
|
|
- ABS( p1 - p0 ) < beta &&
|
|
|
- ABS( q1 - q0 ) < beta ) {
|
|
|
+ if( FFABS( p0 - q0 ) < alpha &&
|
|
|
+ FFABS( p1 - p0 ) < beta &&
|
|
|
+ FFABS( q1 - q0 ) < beta ) {
|
|
|
int tc = tc0;
|
|
|
int i_delta;
|
|
|
|
|
|
- if( ABS( p2 - p0 ) < beta ) {
|
|
|
+ if( FFABS( p2 - p0 ) < beta ) {
|
|
|
pix[-2] = p1 + clip( ( p2 + ( ( p0 + q0 + 1 ) >> 1 ) - ( p1 << 1 ) ) >> 1, -tc0, tc0 );
|
|
|
tc++;
|
|
|
}
|
|
|
- if( ABS( q2 - q0 ) < beta ) {
|
|
|
+ if( FFABS( q2 - q0 ) < beta ) {
|
|
|
pix[1] = q1 + clip( ( q2 + ( ( p0 + q0 + 1 ) >> 1 ) - ( q1 << 1 ) ) >> 1, -tc0, tc0 );
|
|
|
tc++;
|
|
|
}
|
|
@@ -6848,12 +6848,12 @@ static void filter_mb_mbaff_edgev( H264Context *h, uint8_t *pix, int stride, int
|
|
|
const int q1 = pix[1];
|
|
|
const int q2 = pix[2];
|
|
|
|
|
|
- if( ABS( p0 - q0 ) < alpha &&
|
|
|
- ABS( p1 - p0 ) < beta &&
|
|
|
- ABS( q1 - q0 ) < beta ) {
|
|
|
+ if( FFABS( p0 - q0 ) < alpha &&
|
|
|
+ FFABS( p1 - p0 ) < beta &&
|
|
|
+ FFABS( q1 - q0 ) < beta ) {
|
|
|
|
|
|
- if(ABS( p0 - q0 ) < (( alpha >> 2 ) + 2 )){
|
|
|
- if( ABS( p2 - p0 ) < beta)
|
|
|
+ if(FFABS( p0 - q0 ) < (( alpha >> 2 ) + 2 )){
|
|
|
+ if( FFABS( p2 - p0 ) < beta)
|
|
|
{
|
|
|
const int p3 = pix[-4];
|
|
|
/* p0', p1', p2' */
|
|
@@ -6864,7 +6864,7 @@ static void filter_mb_mbaff_edgev( H264Context *h, uint8_t *pix, int stride, int
|
|
|
/* p0' */
|
|
|
pix[-1] = ( 2*p1 + p0 + q1 + 2 ) >> 2;
|
|
|
}
|
|
|
- if( ABS( q2 - q0 ) < beta)
|
|
|
+ if( FFABS( q2 - q0 ) < beta)
|
|
|
{
|
|
|
const int q3 = pix[3];
|
|
|
/* q0', q1', q2' */
|
|
@@ -6911,9 +6911,9 @@ static void filter_mb_mbaff_edgecv( H264Context *h, uint8_t *pix, int stride, in
|
|
|
const int q0 = pix[0];
|
|
|
const int q1 = pix[1];
|
|
|
|
|
|
- if( ABS( p0 - q0 ) < alpha &&
|
|
|
- ABS( p1 - p0 ) < beta &&
|
|
|
- ABS( q1 - q0 ) < beta ) {
|
|
|
+ if( FFABS( p0 - q0 ) < alpha &&
|
|
|
+ FFABS( p1 - p0 ) < beta &&
|
|
|
+ FFABS( q1 - q0 ) < beta ) {
|
|
|
const int i_delta = clip( (((q0 - p0 ) << 2) + (p1 - q1) + 4) >> 3, -tc, tc );
|
|
|
|
|
|
pix[-1] = clip_uint8( p0 + i_delta ); /* p0' */
|
|
@@ -6926,9 +6926,9 @@ static void filter_mb_mbaff_edgecv( H264Context *h, uint8_t *pix, int stride, in
|
|
|
const int q0 = pix[0];
|
|
|
const int q1 = pix[1];
|
|
|
|
|
|
- if( ABS( p0 - q0 ) < alpha &&
|
|
|
- ABS( p1 - p0 ) < beta &&
|
|
|
- ABS( q1 - q0 ) < beta ) {
|
|
|
+ if( FFABS( p0 - q0 ) < alpha &&
|
|
|
+ FFABS( p1 - p0 ) < beta &&
|
|
|
+ FFABS( q1 - q0 ) < beta ) {
|
|
|
|
|
|
pix[-1] = ( 2*p1 + p0 + q1 + 2 ) >> 2; /* p0' */
|
|
|
pix[0] = ( 2*q1 + q0 + p1 + 2 ) >> 2; /* q0' */
|
|
@@ -6960,15 +6960,15 @@ static void filter_mb_edgeh( H264Context *h, uint8_t *pix, int stride, int16_t b
|
|
|
const int q1 = pix[1*pix_next];
|
|
|
const int q2 = pix[2*pix_next];
|
|
|
|
|
|
- if( ABS( p0 - q0 ) < alpha &&
|
|
|
- ABS( p1 - p0 ) < beta &&
|
|
|
- ABS( q1 - q0 ) < beta ) {
|
|
|
+ if( FFABS( p0 - q0 ) < alpha &&
|
|
|
+ FFABS( p1 - p0 ) < beta &&
|
|
|
+ FFABS( q1 - q0 ) < beta ) {
|
|
|
|
|
|
const int p3 = pix[-4*pix_next];
|
|
|
const int q3 = pix[ 3*pix_next];
|
|
|
|
|
|
- if(ABS( p0 - q0 ) < (( alpha >> 2 ) + 2 )){
|
|
|
- if( ABS( p2 - p0 ) < beta) {
|
|
|
+ if(FFABS( p0 - q0 ) < (( alpha >> 2 ) + 2 )){
|
|
|
+ if( FFABS( p2 - p0 ) < beta) {
|
|
|
/* p0', p1', p2' */
|
|
|
pix[-1*pix_next] = ( p2 + 2*p1 + 2*p0 + 2*q0 + q1 + 4 ) >> 3;
|
|
|
pix[-2*pix_next] = ( p2 + p1 + p0 + q0 + 2 ) >> 2;
|
|
@@ -6977,7 +6977,7 @@ static void filter_mb_edgeh( H264Context *h, uint8_t *pix, int stride, int16_t b
|
|
|
/* p0' */
|
|
|
pix[-1*pix_next] = ( 2*p1 + p0 + q1 + 2 ) >> 2;
|
|
|
}
|
|
|
- if( ABS( q2 - q0 ) < beta) {
|
|
|
+ if( FFABS( q2 - q0 ) < beta) {
|
|
|
/* q0', q1', q2' */
|
|
|
pix[0*pix_next] = ( p1 + 2*p0 + 2*q0 + 2*q1 + q2 + 4 ) >> 3;
|
|
|
pix[1*pix_next] = ( p0 + q0 + q1 + q2 + 2 ) >> 2;
|
|
@@ -7313,8 +7313,8 @@ static void filter_mb( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8
|
|
|
int v = 0;
|
|
|
for( l = 0; !v && l < 1 + (h->slice_type == B_TYPE); l++ ) {
|
|
|
v |= ref2frm[h->ref_cache[l][b_idx]+2] != ref2frm[h->ref_cache[l][bn_idx]+2] ||
|
|
|
- ABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 ||
|
|
|
- ABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit;
|
|
|
+ FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 ||
|
|
|
+ FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit;
|
|
|
}
|
|
|
bS[0] = bS[1] = bS[2] = bS[3] = v;
|
|
|
mv_done = 1;
|
|
@@ -7337,8 +7337,8 @@ static void filter_mb( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8
|
|
|
bS[i] = 0;
|
|
|
for( l = 0; l < 1 + (h->slice_type == B_TYPE); l++ ) {
|
|
|
if( ref2frm[h->ref_cache[l][b_idx]+2] != ref2frm[h->ref_cache[l][bn_idx]+2] ||
|
|
|
- ABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 ||
|
|
|
- ABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit ) {
|
|
|
+ FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 ||
|
|
|
+ FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit ) {
|
|
|
bS[i] = 1;
|
|
|
break;
|
|
|
}
|
|
@@ -8505,7 +8505,7 @@ int main(){
|
|
|
printf("\n");*/
|
|
|
|
|
|
for(j=0; j<16; j++){
|
|
|
- int diff= ABS(src[j] - ref[j]);
|
|
|
+ int diff= FFABS(src[j] - ref[j]);
|
|
|
|
|
|
error+= diff*diff;
|
|
|
max_error= FFMAX(max_error, diff);
|