您的位置:首页 > 其它

ffmpeg 继续学习 -- ARM优化-- AArch64

2016-06-15 11:34 1306 查看

1、FFmpeg发布3.0系列

最近ffmpeg的版本更新加快,目前出现 3.0.2 release版本。名称是“爱因斯坦” 


FFmpeg 3.0.2 "Einstein"

3.0.2 was released on 2016-04-28. It is the latest stable FFmpeg release from the 3.0 release branch, which was cut from master on 2016-02-14.

It includes the following library versions:

2、tools下面有个调整moov atom次序的工具

 * This utility rearranges a Quicktime file such that the moov atom

 * is in front of the data, thus facilitating network streaming.

3、libavcodec下有个aarch64的文件夹

h264dsp_init_aarch64.c文件中定义基于ARM 64位架构指令集的汇编优化加速

目前没有看到HEVC的加速代码

av_cold void ff_h264dsp_init_aarch64(H264DSPContext *c, const int bit_depth,
const int chroma_format_idc)
{
int cpu_flags = av_get_cpu_flags();

if (have_neon(cpu_flags) && bit_depth == 8) {
c->h264_v_loop_filter_luma   = ff_h264_v_loop_filter_luma_neon;
c->h264_h_loop_filter_luma   = ff_h264_h_loop_filter_luma_neon;
c->h264_v_loop_filter_chroma = ff_h264_v_loop_filter_chroma_neon;
if (chroma_format_idc <= 1)
c->h264_h_loop_filter_chroma = ff_h264_h_loop_filter_chroma_neon;

c->weight_h264_pixels_tab[0] = ff_weight_h264_pixels_16_neon;
c->weight_h264_pixels_tab[1] = ff_weight_h264_pixels_8_neon;
c->weight_h264_pixels_tab[2] = ff_weight_h264_pixels_4_neon;

c->biweight_h264_pixels_tab[0] = ff_biweight_h264_pixels_16_neon;
c->biweight_h264_pixels_tab[1] = ff_biweight_h264_pixels_8_neon;
c->biweight_h264_pixels_tab[2] = ff_biweight_h264_pixels_4_neon;

c->h264_idct_add        = ff_h264_idct_add_neon;
c->h264_idct_dc_add     = ff_h264_idct_dc_add_neon;
c->h264_idct_add16      = ff_h264_idct_add16_neon;
c->h264_idct_add16intra = ff_h264_idct_add16intra_neon;
if (chroma_format_idc <= 1)
c->h264_idct_add8   = ff_h264_idct_add8_neon;
c->h264_idct8_add       = ff_h264_idct8_add_neon;
c->h264_idct8_dc_add    = ff_h264_idct8_dc_add_neon;
c->h264_idct8_add4      = ff_h264_idct8_add4_neon;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: