avcodec/mips: Restore the initialization sequence of MSA and MMI in ff_h264chroma_init_mips.

The MSA optimization has been refined in commit 93218c2 and ce0a52e.
It is better than MMI version now.
Speed of decoding H264: 4.83x ==> 4.89x (tested on 3A4000).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/362/head
Shiyou Yin 4 years ago committed by Michael Niedermayer
parent eb390d7f9d
commit 56c57fe68a
  1. 19
      libavcodec/mips/h264chroma_init_mips.c

@ -29,7 +29,15 @@ av_cold void ff_h264chroma_init_mips(H264ChromaContext *c, int bit_depth)
int cpu_flags = av_get_cpu_flags(); int cpu_flags = av_get_cpu_flags();
int high_bit_depth = bit_depth > 8; int high_bit_depth = bit_depth > 8;
/* MMI apears to be faster than MSA here */ if (have_mmi(cpu_flags)) {
if (!high_bit_depth) {
c->put_h264_chroma_pixels_tab[0] = ff_put_h264_chroma_mc8_mmi;
c->avg_h264_chroma_pixels_tab[0] = ff_avg_h264_chroma_mc8_mmi;
c->put_h264_chroma_pixels_tab[1] = ff_put_h264_chroma_mc4_mmi;
c->avg_h264_chroma_pixels_tab[1] = ff_avg_h264_chroma_mc4_mmi;
}
}
if (have_msa(cpu_flags)) { if (have_msa(cpu_flags)) {
if (!high_bit_depth) { if (!high_bit_depth) {
c->put_h264_chroma_pixels_tab[0] = ff_put_h264_chroma_mc8_msa; c->put_h264_chroma_pixels_tab[0] = ff_put_h264_chroma_mc8_msa;
@ -41,13 +49,4 @@ av_cold void ff_h264chroma_init_mips(H264ChromaContext *c, int bit_depth)
c->avg_h264_chroma_pixels_tab[2] = ff_avg_h264_chroma_mc2_msa; c->avg_h264_chroma_pixels_tab[2] = ff_avg_h264_chroma_mc2_msa;
} }
} }
if (have_mmi(cpu_flags)) {
if (!high_bit_depth) {
c->put_h264_chroma_pixels_tab[0] = ff_put_h264_chroma_mc8_mmi;
c->avg_h264_chroma_pixels_tab[0] = ff_avg_h264_chroma_mc8_mmi;
c->put_h264_chroma_pixels_tab[1] = ff_put_h264_chroma_mc4_mmi;
c->avg_h264_chroma_pixels_tab[1] = ff_avg_h264_chroma_mc4_mmi;
}
}
} }

Loading…
Cancel
Save