Log in

View Full Version : Cannot find the derivation process of ref_idx_lX.


asdf013cv
22nd August 2016, 07:00
I am reading the H.265 standard.

In 8.5.3.2, if merge_flag[ xPb ][ yPb ] is not equal to 1, and if inter_pred_idc[ xPb ][ yPb ] is equal to PRED_LX or PRED_BI,
refIdxLX is set to ref_idx_lX[ xPb ][ yPb ].

However, I cannot find derivation process of ref_idx_lX after searching the keyword ref_idx_lX or ref_idx_l0.
How does the ref_idx_lX come from? :confused:

By the way, another question, will merge_flag[ xPb ][ yPb ] set to 1 when the 8.5.3.2.1 is invoked at the first time in the whole encoding process? (Because 8.5.3.2.3 requires MvLX, which is defined after the process 8.5.3.2. If merge_flag[ xPb ][ yPb ] is equal to 1, it seems that MvLX is not available.)

nevcairiel
22nd August 2016, 19:27
ref_idx_l0 and ref_idx_l1 are coded as part of the prediction unit, see 7.3.8.6/7.4.9.6

asdf013cv
23rd August 2016, 07:12
ref_idx_l0 and ref_idx_l1 are coded as part of the prediction unit, see 7.3.8.6/7.4.9.6

But in 7.3.8.6, it only gives ref_idx_l0[ x0 ][ y0 ].
In 7.4.9.6, the description of ref_idx_l0 is "ref_idx_l0[ x0 ][ y0 ] specifies the list 0 reference picture index for the current prediction unit."
This is difficult to understand for me.

For example, the description of num_tile_columns_minus1 is
"num_tile_columns_minus1 plus 1 specifies the number of tile columns partitioning the picture. num_tile_columns_minus1 shall be in the range of 0 to PicWidthInCtbsY − 1, inclusive."
And to know what CtbAddrRsToTs[ ctbAddrRs ] exactly is, the standard gives the code (in 6.5.1).
All of them are clearly defined.

However, I cannot find what value is assigned to ref_idx_l0 and how to get the value.

FancyMouse
24th August 2016, 22:13
But in 7.3.8.6, it only gives ref_idx_l0[ x0 ][ y0 ].

l1 is a few lines below, in PU as well.

asdf013cv
25th August 2016, 06:01
l1 is a few lines below, in PU as well.

uh

...
if( num_ref_idx_l0_active_minus1 > 0 )
ref_idx_l0[ x0 ][ y0 ]
...
if( num_ref_idx_l1_active_minus1 > 0 )
ref_idx_l1[ x0 ][ y0 ]
...

What is the value of ref_idx_l0 and ref_idx_l1 exactly???