pub struct EmbedReport {
pub pixels_modified: usize,
pub payload_bytes: usize,
pub effective_bpp: f32,
pub image_dimensions: (u32, u32),
}Expand description
What one embedding operation did to the container.
A measurement of the finished stego image, not a receipt the receiver needs: none of these numbers travels with the payload, and the extraction path recomputes everything it needs from the image itself.
Fields§
§pixels_modified: usizePositions whose carrier bit the trellis flipped, across both regions of the frame.
payload_bytes: usizeCiphertext bytes embedded, tag included.
The compressed and encrypted size, not the length of the message the caller handed in: the plaintext length is not something the container carries, and reporting it here would suggest otherwise.
effective_bpp: f32Bits embedded per pixel of the container, frame header included.
The figure the security of the scheme rests on. It is bounded by
crate::stego::stc::MAX_BPP on each region of the frame, so it can
never reach that ceiling over the image as a whole.
image_dimensions: (u32, u32)Dimensions of the container as (width, height), in pixels.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EmbedReport
impl RefUnwindSafe for EmbedReport
impl Send for EmbedReport
impl Sync for EmbedReport
impl Unpin for EmbedReport
impl UnsafeUnpin for EmbedReport
impl UnwindSafe for EmbedReport
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more