[FFmpeg-trac] #7456(avcodec:new): aomdec decodes video faster than libaom-av1 decoder in ffmpeg

FFmpeg trac at avcodec.org
Wed Sep 26 05:12:52 EEST 2018


#7456: aomdec decodes video faster than libaom-av1 decoder in ffmpeg
------------------------------------+-----------------------------------
             Reporter:  kagami      |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  normal      |                Component:  avcodec
              Version:  git-master  |               Resolution:
             Keywords:  libaom      |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+-----------------------------------

Comment (by tmatth):

 For comparison, perf output for aomdec:
 {{{
   Children      Self  Command          Shared Object        Symbol
 +   62.70%     0.00%  aom tile worker  libpthread-2.27.so   [.]
 start_thread
 +   62.70%     0.01%  aom tile worker  aomdec               [.]
 thread_loop
 +   62.67%     0.00%  aom tile worker  libc-2.27.so         [.]
 __GI___clone (inlined)
 +   41.88%     0.06%  aom tile worker  aomdec               [.]
 row_mt_worker_hook
 +   40.55%     0.76%  aom tile worker  aomdec               [.]
 decode_partition
 +   31.72%     0.69%  aom tile worker  aomdec               [.]
 decode_token_recon_block
 +   25.32%     0.32%  aom tile worker  aomdec               [.]
 predict_inter_block
 +   24.63%     1.04%  aom tile worker  aomdec               [.]
 dec_build_inter_predictors
 +   22.37%     0.22%  aom tile worker  aomdec               [.]
 av1_make_inter_predictor
 +   20.27%     0.00%  aomdec           aomdec               [.] main_loop
 +   17.83%     0.00%  aomdec           libc-2.27.so         [.]
 __libc_start_main
 +   17.83%     0.00%  aomdec           aomdec               [.] main
 +   17.79%     0.00%  aomdec           aomdec               [.] _start
 +   14.45%     0.03%  aom tile worker  aomdec               [.]
 loop_filter_row_worker
 +   14.37%     0.00%  aomdec           aomdec               [.]
 decoder_decode
 +   14.36%     0.00%  aomdec           aomdec               [.] execute
 +   14.35%     0.00%  aomdec           aomdec               [.]
 aom_decode_frame_from_obus
 +   14.35%     0.01%  aomdec           aomdec               [.]
 av1_receive_compressed_data
 +   14.34%     0.00%  aomdec           aomdec               [.]
 frame_worker_hook
 +   14.30%     0.00%  aomdec           aomdec               [.]
 aom_codec_decode
 +   13.42%    13.38%  aom tile worker  aomdec               [.]
 av1_highbd_jnt_convolve_2d_avx2
 +   11.74%     0.02%  aomdec           aomdec               [.]
 av1_decode_tg_tiles_and_wrapup
 +   10.97%     2.65%  aom tile worker  aomdec               [.]
 parse_decode_block
 +   10.57%     0.00%  aomdec           [unknown]            [.]
 0xffffffffffffffff
 +    8.91%     3.78%  aom tile worker  aomdec               [.]
 av1_filter_block_plane_vert
 +    7.61%     0.67%  aomdec           aomdec               [.]
 av1_cdef_frame
 +    7.37%     0.01%  aomdec           aomdec               [.]
 row_mt_worker_hook
 +    7.19%     0.13%  aomdec           aomdec               [.]
 decode_partition
 +    6.19%     0.01%  aom tile worker  aomdec               [.]
 loop_restoration_row_worker
 +    5.89%     5.87%  aom tile worker  libc-2.27.so         [.]
 __memmove_avx_unaligned_erms
 +    5.74%     0.40%  aomdec           aomdec               [.]
 cdef_filter_fb
 +    5.47%     2.61%  aom tile worker  aomdec               [.]
 av1_filter_block_plane_horz
 +    4.91%     0.13%  aomdec           aomdec               [.]
 decode_token_recon_block
 +    4.69%     0.26%  aom tile worker  aomdec               [.]
 av1_read_mode_info
 +    4.53%     0.00%  aom tile worker  aomdec               [.]
 av1_foreach_rest_unit_in_row
 +    4.40%     0.02%  aom tile worker  aomdec               [.]
 av1_loop_restoration_filter_unit
 +    4.39%     0.00%  aom tile worker  aomdec               [.]
 filter_frame_on_unit
 +    4.11%     4.08%  aomdec           aomdec               [.]
 aom_img_downshift
 +    4.08%     0.05%  aomdec           aomdec               [.]
 predict_inter_block
 +    3.98%     0.19%  aomdec           aomdec               [.]
 dec_build_inter_predictors
 +    3.91%     0.71%  aom tile worker  aomdec               [.]
 read_inter_block_mode_info
 }}}

 vs.

 {{{
 +   49.85%     0.00%  ffmpeg   ffmpeg                      [.]
 decode_receive_frame_internal
 +   49.85%     0.00%  ffmpeg   ffmpeg                      [.]
 decode_simple_receive_frame (inlined)
 +   49.85%     0.00%  ffmpeg   ffmpeg                      [.]
 decode_simple_internal (inlined)
 +   49.85%     8.42%  ffmpeg   ffmpeg                      [.] aom_decode
 +   49.84%     0.00%  ffmpeg   ffmpeg                      [.]
 avcodec_send_packet
 +   49.75%     0.01%  ffmpeg   ffmpeg                      [.] transcode
 +   49.69%     0.00%  ffmpeg   ffmpeg                      [.]
 transcode_step (inlined)
 +   49.66%     0.00%  ffmpeg   ffmpeg                      [.]
 process_input (inlined)
 +   49.62%     0.00%  ffmpeg   ffmpeg                      [.]
 process_input_packet
 +   49.62%     0.01%  ffmpeg   ffmpeg                      [.]
 decode_video
 +   49.60%     0.00%  ffmpeg   ffmpeg                      [.] decode
 (inlined)
 +   41.75%     0.00%  ffmpeg   ffmpeg                      [.] main
 +   41.66%     0.00%  ffmpeg   libc-2.27.so                [.]
 __libc_start_main
 +   41.37%     0.00%  ffmpeg   ffmpeg                      [.]
 aom_codec_decode
 +   41.37%     0.00%  ffmpeg   ffmpeg                      [.]
 decoder_decode
 +   41.36%     0.00%  ffmpeg   ffmpeg                      [.] decode_one
 (inlined)
 +   41.35%     0.00%  ffmpeg   ffmpeg                      [.] execute
 +   41.34%     0.00%  ffmpeg   ffmpeg                      [.]
 frame_worker_hook
 +   41.34%     0.01%  ffmpeg   ffmpeg                      [.]
 av1_receive_compressed_data
 +   41.32%     0.01%  ffmpeg   ffmpeg                      [.]
 aom_decode_frame_from_obus
 +   40.94%     0.00%  ffmpeg   ffmpeg                      [.] _start
 +   38.08%     0.00%  ffmpeg   ffmpeg                      [.]
 read_one_tile_group_obu (inlined)
 +   38.08%     0.02%  ffmpeg   ffmpeg                      [.]
 av1_decode_tg_tiles_and_wrapup
 +   25.70%     1.13%  ffmpeg   ffmpeg                      [.]
 dec_build_inter_predictors
 +   24.06%     0.33%  ffmpeg   ffmpeg                      [.]
 av1_make_inter_predictor
 +   23.14%     0.00%  ffmpeg   ffmpeg                      [.]
 highbd_inter_predictor (inlined)
 +   21.21%     0.00%  ffmpeg   ffmpeg                      [.]
 decode_tiles (inlined)
 +   21.21%     0.47%  ffmpeg   ffmpeg                      [.]
 decode_partition
 +   21.17%     0.00%  ffmpeg   ffmpeg                      [.] decode_tile
 (inlined)
 +   20.62%     0.73%  ffmpeg   ffmpeg                      [.]
 parse_decode_block
 +   19.63%     0.00%  ffmpeg   [unknown]                   [k]
 0xffffffffffffffff
 +   13.60%    13.56%  ffmpeg   ffmpeg                      [.]
 av1_highbd_jnt_convolve_2d_avx2
 +   13.29%     0.41%  ffmpeg   ffmpeg                      [.]
 decode_token_recon_block
 +   13.11%     0.01%  ffmpeg   ffmpeg                      [.]
 av1_loop_filter_frame
 +   13.11%     0.00%  ffmpeg   ffmpeg                      [.]
 loop_filter_rows (inlined)
 +   12.43%     0.00%  ffmpeg   ffmpeg                      [.]
 inv_txfm2d_add_facade (inlined)
 +   12.37%     0.00%  ffmpeg   ffmpeg                      [.]
 inv_txfm2d_add_c (inlined)
 +    9.72%     0.00%  ffmpeg   ffmpeg                      [.]
 _mm256_loadu_si256 (inlined)
 +    8.70%     3.67%  ffmpeg   ffmpeg                      [.]
 av1_filter_block_plane_vert
 +    8.45%     0.00%  ffmpeg   ffmpeg                      [.]
 image_copy_16_to_8 (inlined)
 +    8.38%     0.45%  ffmpeg   ffmpeg                      [.]
 av1_cdef_frame
 +    7.53%     0.00%  ffmpeg   ffmpeg                      [.]
 inverse_transform_block (inlined)
 +    7.42%     0.00%  ffmpeg   ffmpeg                      [.]
 decode_reconstruct_tx (inlined)
 +    7.38%     0.02%  ffmpeg   ffmpeg                      [.]
 av1_inverse_transform_block
 +    6.83%     0.00%  ffmpeg   ffmpeg                      [.]
 decode_mbmi_block (inlined)
 +    6.57%     0.58%  ffmpeg   ffmpeg                      [.]
 cdef_filter_fb
 +    6.18%     0.26%  ffmpeg   ffmpeg                      [.]
 av1_read_mode_info
 +    5.77%     0.00%  ffmpeg   ffmpeg                      [.]
 set_lpf_parameters (inlined)
 +    5.70%     0.00%  ffmpeg   ffmpeg                      [.]
 read_inter_frame_mode_info (inlined)
 +    5.24%     0.83%  ffmpeg   ffmpeg                      [.]
 read_inter_block_mode_info
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7456#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list