mirror of
https://github.com/ittiam-systems/libhevc.git
synced 2026-10-18 06:46:01 +07:00
libhevcenc: deblk sao low res race condition
While encoding inputs for size 64 x ht for ht > 64, there is a possible race condition. Before performing deblocking/sao for current CTB, its top right CTB is checked for its deblocking/sao completion. This can be skipped for last CTB of a row, provided you have atleast 2 CTB's per row. The skip is happening for rows with single CTB as well. This is corrected. Test: hevcenc -c vid_enc_cfg.txt --src_width 64 --src_height 512 \ --input night_64x512.yuv --num_cores 4 Bug: 135516662 Change-Id: Ifed1ae25e5e460cb59d84533e5ad87730ebb3395
This commit is contained in:
parent
fbcad2ab1b
commit
50408aad50
1 changed files with 11 additions and 9 deletions
|
|
@ -2436,17 +2436,19 @@ void ihevce_enc_loop_process_row(
|
|||
|
||||
if(ps_ctxt->i4_deblk_pad_hpel_cur_pic)
|
||||
{
|
||||
/* Wait till top neighbour CTB has done it's deblocking*/
|
||||
if(ctb_ctr < (ctb_end)-1)
|
||||
/* for last ctb of a row check top instead of top right */
|
||||
if(((ctb_ctr + 1) == ctb_end) && (vert_ctr > 0))
|
||||
{
|
||||
ihevce_dmgr_chk_row_row_sync(
|
||||
pv_dep_mngr_enc_loop_dblk,
|
||||
ctb_ctr,
|
||||
dblk_offset,
|
||||
dblk_check_dep_pos,
|
||||
ps_ctxt->i4_tile_col_idx, /* Col Tile No. */
|
||||
ps_ctxt->thrd_id);
|
||||
dblk_offset = 1;
|
||||
}
|
||||
/* Wait till top neighbour CTB has done it's deblocking*/
|
||||
ihevce_dmgr_chk_row_row_sync(
|
||||
pv_dep_mngr_enc_loop_dblk,
|
||||
ctb_ctr,
|
||||
dblk_offset,
|
||||
dblk_check_dep_pos,
|
||||
ps_ctxt->i4_tile_col_idx, /* Col Tile No. */
|
||||
ps_ctxt->thrd_id);
|
||||
|
||||
if((0 == ps_ctxt->i4_deblock_type))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue