• Shiyou Yin's avatar
    avcodec/la: add LSX optimization for h264 idct. · e1b6ecd2
    Shiyou Yin authored
    loongson_asm.S is LoongArch asm optimization helper.
    Add functions:
      ff_h264_idct_add_8_lsx
      ff_h264_idct8_add_8_lsx
      ff_h264_idct_dc_add_8_lsx
      ff_h264_idct8_dc_add_8_lsx
      ff_h264_idct_add16_8_lsx
      ff_h264_idct8_add4_8_lsx
      ff_h264_idct_add8_8_lsx
      ff_h264_idct_add8_422_8_lsx
      ff_h264_idct_add16_intra_8_lsx
      ff_h264_luma_dc_dequant_idct_8_lsx
    Replaced function(LSX is sufficient for these functions):
      ff_h264_idct_add_lasx
      ff_h264_idct4x4_addblk_dc_lasx
      ff_h264_idct_add16_lasx
      ff_h264_idct8_add4_lasx
      ff_h264_idct_add8_lasx
      ff_h264_idct_add8_422_lasx
      ff_h264_idct_add16_intra_lasx
      ff_h264_deq_idct_luma_dc_lasx
    Renamed functions:
      ff_h264_idct8_addblk_lasx ==> ff_h264_idct8_add_8_lasx
      ff_h264_idct8_dc_addblk_lasx ==> ff_h264_idct8_dc_add_8_lasx
    
    ./configure --disable-lasx
    ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -y /dev/null -an
    before: 155fps
    after:  161fps
    Reviewed-by: 's avatarShiyou Yin <yinshiyou-hf@loongson.cn>
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    e1b6ecd2
h264idct.S 22.8 KB