return "Bit-depth of current image does not match SPS";
case DE265_WARNING_REFERENCE_IMAGE_CHROMA_FORMAT_DOES_NOT_MATCH:
return "Chroma format of reference image does not match current image";
+ case DE265_WARNING_INVALID_SLICE_HEADER_INDEX_ACCESS:
+ return "Access with invalid slice header index";
default: return "unknown error";
}
DE265_WARNING_REFERENCE_IMAGE_SIZE_DOES_NOT_MATCH_SPS=1029,
DE265_WARNING_CHROMA_OF_CURRENT_IMAGE_DOES_NOT_MATCH_SPS=1030,
DE265_WARNING_BIT_DEPTH_OF_CURRENT_IMAGE_DOES_NOT_MATCH_SPS=1031,
- DE265_WARNING_REFERENCE_IMAGE_CHROMA_FORMAT_DOES_NOT_MATCH=1032
+ DE265_WARNING_REFERENCE_IMAGE_CHROMA_FORMAT_DOES_NOT_MATCH=1032,
+ DE265_WARNING_INVALID_SLICE_HEADER_INDEX_ACCESS=1033
} de265_error;
LIBDE265_API const char* de265_get_error_text(de265_error err);
+ int slice_hdr_idx = colImg->get_SliceHeaderIndex(xColPb,yColPb);
+ if (slice_hdr_idx >= colImg->slices.size()) {
+ ctx->add_warning(DE265_WARNING_INVALID_SLICE_HEADER_INDEX_ACCESS, false);
+
+ *out_availableFlagLXCol = 0;
+ out_mvLXCol->x = 0;
+ out_mvLXCol->y = 0;
+ return;
+ }
+
const slice_segment_header* colShdr = colImg->slices[ colImg->get_SliceHeaderIndex(xColPb,yColPb) ];
if (shdr->LongTermRefPic[X][refIdxLX] !=