-
Notifications
You must be signed in to change notification settings - Fork 630
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make frames decoder to build index without file decoding #5809
Conversation
!build |
7093bd2
to
522b1dd
Compare
CI MESSAGE: [23456338]: BUILD STARTED |
CI MESSAGE: [23456338]: BUILD PASSED |
// Further check if it's an IDR frame for H.265 | ||
if (packet->size >= 6) { // Ensure there's enough data to inspect | ||
// NAL unit type is in the sixth byte for H.265 | ||
uint8_t nal_unit_type = (packet->data[4] >> 1) & 0x3F; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment suggests that it should be:
uint8_t nal_unit_type = (packet->data[4] >> 1) & 0x3F; | |
uint8_t nal_unit_type = (packet->data[5] >> 1) & 0x3F; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good spot, I need to check if the source I get this from has a misleading comment or the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
index_->push_back(entry); | ||
} | ||
av_packet_unref(av_state_->packet_); | ||
index_->back().is_flush_frame = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have more flush frames? Possibly mapping to more packets?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, flush frame is the last one, so we now there it no more.
If you want to be cautious about whether this implementation is correct, I would migrate the old implementation to a baseline implementation in some test and compare whether both return the same index on our DALI_extra samples. |
dali/operators/reader/loader/video/frames_decoder_test.cc should cover this to some extend. My ask was rather about all those strange edge cases we don't have in DALI_Extra but real cameras can produce and people reports issues from time to time with DALI. |
8aad640
to
e44a9d1
Compare
!build |
CI MESSAGE: [23508831]: BUILD STARTED |
CI MESSAGE: [23508831]: BUILD PASSED |
!build |
1 similar comment
!build |
CI MESSAGE: [23539941]: BUILD STARTED |
CI MESSAGE: [23539941]: BUILD FAILED |
- use only data embedded into packets to build video file index in the frames decoder Signed-off-by: Janusz Lisiecki <[email protected]>
Signed-off-by: Janusz Lisiecki <[email protected]>
Signed-off-by: Janusz Lisiecki <[email protected]>
52b100c
to
4bc1f14
Compare
!build |
CI MESSAGE: [23604606]: BUILD STARTED |
CI MESSAGE: [23604606]: BUILD PASSED |
Category:
Other (e.g. Documentation, Tests, Configuration)
Description:
Additional information:
Affected modules and functionalities:
Key points relevant for the review:
Tests:
Checklist
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: N/A