Skip to content
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

Migrate to v-frame types #67

Merged
merged 5 commits into from Feb 27, 2020
Merged

Migrate to v-frame types #67

merged 5 commits into from Feb 27, 2020

Conversation

vibhoothi
Copy link
Contributor

Hi,
This patchset migrates to v-frame types for av-metrics

av_metrics/Cargo.toml Outdated Show resolved Hide resolved
av_metrics/src/video/mod.rs Outdated Show resolved Hide resolved
@vibhoothi vibhoothi force-pushed the v_frame branch 4 times, most recently from f2d5a56 to bea7029 Compare February 26, 2020 15:10
Suppressing wrong_self_convention is present in rav1e and for
from_reciprocal function, we need to change to  different one
which would result in diverging av-metrics from rav1e.
This commit does
 - Uses Plane and replaces PlaneData instance with v_frame's
Plane
 - Introduces Trait PlaneCompare to compare before doing the
operation  based on PlaneConfig from v_frame
 - Uses ChromaSampling from v_frame
 - Introduces ChromaWeight trait to get calculate and return
the Chroma Weight.
 - Uses Pixel From v_frame
 - Update Assertion for PSNR_HVS to use stride and changing
Equation with >= in favour of more strict and removing Panics
when integrating with Encoder.
 - Uses PlaneConfig variables at multiple places for
calculations
This commit introduces various changes to y4m of av-metrics,
making it similar to rav1e. Introduction of new VideoDetails
struct, using Plane Struct and making PlaneData of av-metrics
obsolute.
@vibhoothi
Copy link
Contributor Author

Commit Notes:
(For Future Reference)

  • Introduce v_frame as a crate

  • lib: Use v_frame and Suppress wrong_self_convention

    Suppressing wrong_self_convention is present in rav1e and for
    from_reciprocal function, we need to change to a different one
    which would result in diverging av-metrics from rav1e.

  • video: Use v_frame for Pixel, ChromaSampling, Planes

    This commit does

    • Uses Plane and replaces PlaneData instance with v_frame's
      Plane
    • Introduces Trait PlaneCompare to compare before doing the
      operation based on PlaneConfig from v_frame
    • Uses ChromaSampling from v_frame
    • Introduces ChromaWeight trait to get calculate and return
      the Chroma Weight.
    • Uses Pixel From v_frame
    • Update Assertion for PSNR_HVS to use stride and changing
      Equation with >= in favour of more strict and removing Panics
      when integrating with Encoder.
  • Uses PlaneConfig variables at multiple places for
    calculations

  • benches: Unbreak benches

  • decode: Use v_frame for decoding

    This commit introduces various changes to y4m of av-metrics,
    making it similar to rav1e. Introduction of new VideoDetails
    struct, using Plane Struct and making PlaneData of av-metrics
    obsolete.

@vibhoothi vibhoothi merged commit a749057 into master Feb 27, 2020
@FreezyLemon FreezyLemon deleted the v_frame branch March 15, 2024 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants