pub struct EntryBasedOffsetProcessor { /* private fields */ }
Expand description
Entry-based offset processor for manufacturers like Panasonic ExifTool: PanasonicRaw.pm uses IFD entry values as offsets to actual data This is different from fixed-offset processors used by simpler formats
Implementations§
Source§impl EntryBasedOffsetProcessor
impl EntryBasedOffsetProcessor
Sourcepub fn new(offset_rules: HashMap<u16, OffsetExtractionRule>) -> Self
pub fn new(offset_rules: HashMap<u16, OffsetExtractionRule>) -> Self
Create new entry-based offset processor ExifTool: Initialize with manufacturer-specific rules
Sourcepub fn get_rule(&self, tag_id: u16) -> Option<&OffsetExtractionRule>
pub fn get_rule(&self, tag_id: u16) -> Option<&OffsetExtractionRule>
Get offset extraction rule for a tag ExifTool: Look up how to process this tag’s offset
Sourcepub fn calculate_offset(
&self,
entry: &IfdEntry,
rule: &OffsetExtractionRule,
context: &OffsetContext,
) -> Result<u64>
pub fn calculate_offset( &self, entry: &IfdEntry, rule: &OffsetExtractionRule, context: &OffsetContext, ) -> Result<u64>
Calculate actual offset from IFD entry and rule ExifTool: Apply manufacturer-specific offset calculation
Sourcepub fn add_rule(&mut self, rule: OffsetExtractionRule)
pub fn add_rule(&mut self, rule: OffsetExtractionRule)
Add new offset extraction rule ExifTool: Extend processor with additional rules
Sourcepub fn remove_rule(&mut self, tag_id: u16) -> Option<OffsetExtractionRule>
pub fn remove_rule(&mut self, tag_id: u16) -> Option<OffsetExtractionRule>
Remove offset extraction rule ExifTool: Remove rule for specific tag
Get all configured tag IDs ExifTool: List all tags that have offset rules
Auto Trait Implementations§
impl Freeze for EntryBasedOffsetProcessor
impl RefUnwindSafe for EntryBasedOffsetProcessor
impl Send for EntryBasedOffsetProcessor
impl Sync for EntryBasedOffsetProcessor
impl Unpin for EntryBasedOffsetProcessor
impl UnwindSafe for EntryBasedOffsetProcessor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more