Commit 939a4db2 authored by Xu Guangxin's avatar Xu Guangxin Committed by Linjie Fu

lavc/hevc: Add poc_msb_present filed in LongTermRPS

delta_poc_msb_present_flag is needed in find_ref_idx() to
indicate whether MSB of POC should be taken into account.

Details in 8.3.2.
Signed-off-by: 's avatarXu Guangxin <guangxin.xu@intel.com>
Signed-off-by: 's avatarLinjie Fu <linjie.fu@intel.com>
parent d5f87f85
...@@ -41,6 +41,7 @@ typedef struct ShortTermRPS { ...@@ -41,6 +41,7 @@ typedef struct ShortTermRPS {
typedef struct LongTermRPS { typedef struct LongTermRPS {
int poc[32]; int poc[32];
uint8_t poc_msb_present[32];
uint8_t used[32]; uint8_t used[32];
uint8_t nb_refs; uint8_t nb_refs;
} LongTermRPS; } LongTermRPS;
......
...@@ -280,7 +280,6 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb) ...@@ -280,7 +280,6 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb)
rps->nb_refs = nb_sh + nb_sps; rps->nb_refs = nb_sh + nb_sps;
for (i = 0; i < rps->nb_refs; i++) { for (i = 0; i < rps->nb_refs; i++) {
uint8_t delta_poc_msb_present;
if (i < nb_sps) { if (i < nb_sps) {
uint8_t lt_idx_sps = 0; uint8_t lt_idx_sps = 0;
...@@ -295,8 +294,8 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb) ...@@ -295,8 +294,8 @@ static int decode_lt_rps(HEVCContext *s, LongTermRPS *rps, GetBitContext *gb)
rps->used[i] = get_bits1(gb); rps->used[i] = get_bits1(gb);
} }
delta_poc_msb_present = get_bits1(gb); rps->poc_msb_present[i] = get_bits1(gb);
if (delta_poc_msb_present) { if (rps->poc_msb_present[i]) {
int64_t delta = get_ue_golomb_long(gb); int64_t delta = get_ue_golomb_long(gb);
int64_t poc; int64_t poc;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment