@@ -1222,6 +1222,8 @@ fn skip_box_remain<T: Read>(src: &mut BMFFBox<T>) -> Result<()> {
1222
1222
/// Metadata is accumulated in the passed-through `AvifContext` struct,
1223
1223
/// which can be examined later.
1224
1224
pub fn read_avif < T : Read > ( f : & mut T , context : & mut AvifContext ) -> Result < ( ) > {
1225
+ let _ = env_logger:: try_init ( ) ;
1226
+
1225
1227
let mut f = OffsetReader :: new ( f) ;
1226
1228
1227
1229
let mut iter = BoxIter :: new ( & mut f) ;
@@ -1242,6 +1244,7 @@ pub fn read_avif<T: Read>(f: &mut T, context: &mut AvifContext) -> Result<()> {
1242
1244
let mut mdats = TryVec :: new ( ) ;
1243
1245
1244
1246
while let Some ( mut b) = iter. next_box ( ) ? {
1247
+ trace ! ( "read_avif parsing {:?} box" , b. head. name) ;
1245
1248
match b. head . name {
1246
1249
BoxType :: MetadataBox => {
1247
1250
if meta. is_some ( ) {
@@ -1359,6 +1362,7 @@ fn read_avif_meta<T: Read + Offset>(src: &mut BMFFBox<T>) -> Result<AvifMeta> {
1359
1362
1360
1363
let mut iter = src. box_iter ( ) ;
1361
1364
while let Some ( mut b) = iter. next_box ( ) ? {
1365
+ trace ! ( "read_avif_meta parsing {:?} box" , b. head. name) ;
1362
1366
match b. head . name {
1363
1367
BoxType :: ItemInfoBox => {
1364
1368
if item_infos. is_some ( ) {
@@ -1529,12 +1533,14 @@ fn read_iref<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<SingleItemTypeRefer
1529
1533
1530
1534
let mut iter = src. box_iter ( ) ;
1531
1535
while let Some ( mut b) = iter. next_box ( ) ? {
1536
+ trace ! ( "read_iref parsing {:?} referenceType" , b. head. name) ;
1532
1537
let from_item_id = if version == 0 {
1533
1538
be_u16 ( & mut b) ?. into ( )
1534
1539
} else {
1535
1540
be_u32 ( & mut b) ?
1536
1541
} ;
1537
1542
let reference_count = be_u16 ( & mut b) ?;
1543
+ item_references. reserve ( reference_count. to_usize ( ) ) ?;
1538
1544
for _ in 0 ..reference_count {
1539
1545
let to_item_id = if version == 0 {
1540
1546
be_u16 ( & mut b) ?. into ( )
0 commit comments