Transformed convert from 256 to cast 256 -> 128 and then convert from 128

This commit is contained in:
Reima Hyvönen 2018-08-09 15:35:54 +03:00
parent 4957555eb3
commit 4f1f80b2cb

View file

@ -813,8 +813,8 @@ static void inter_recon_bipred_no_mov_avx2(
case 8: case 8:
lcu->rec.u[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm256_cvtsi256_si32(temp_u_epi8); lcu->rec.u[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm_cvtsi128_si32(_mm256_castsi256_si128(temp_u_epi8));
lcu->rec.v[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm256_cvtsi256_si32(temp_v_epi8); lcu->rec.v[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm_cvtsi128_si32(_mm256_castsi256_si128(temp_v_epi8));
break; break;
@ -921,7 +921,7 @@ static void inter_recon_bipred_avx2(const int hi_prec_luma_rec0,
case 4: case 4:
temp_epi8 = _mm256_packus_epi16(temp_y_epi16, temp_y_epi16); temp_epi8 = _mm256_packus_epi16(temp_y_epi16, temp_y_epi16);
lcu->rec.y[(y_in_lcu)* LCU_WIDTH + x_in_lcu] = _mm256_cvtsi256_si32(temp_epi8); lcu->rec.y[(y_in_lcu)* LCU_WIDTH + x_in_lcu] = _mm_cvtsi128_si32(_mm256_castsi256_si128(temp_epi8));
break; break;
case 8: case 8:
@ -1009,10 +1009,10 @@ static void inter_recon_bipred_avx2(const int hi_prec_luma_rec0,
temp_epi8 = _mm256_packus_epi16(temp_u_epi16, temp_u_epi16); temp_epi8 = _mm256_packus_epi16(temp_u_epi16, temp_u_epi16);
lcu->rec.u[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm256_cvtsi256_si32(temp_epi8); lcu->rec.u[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm_cvtsi128_si32(_mm256_castsi256_si128(temp_epi8));
temp_epi8 = _mm256_packus_epi16(temp_v_epi16, temp_v_epi16); temp_epi8 = _mm256_packus_epi16(temp_v_epi16, temp_v_epi16);
lcu->rec.v[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm256_cvtsi256_si32(temp_epi8); lcu->rec.v[(y_in_lcu)* LCU_WIDTH_C + x_in_lcu] = _mm_cvtsi128_si32(_mm256_castsi256_si128(temp_epi8));
break; break;