Skip to content

Commit

Permalink
Enhance PSNR Check for Luma (Y) Channel in VPP Sharpen Filter
Browse files Browse the repository at this point in the history
The current implementation of the PSNR check for the Luma (Y) channel raises exceptions for actual values exceeding reference values.
This behavior is not reflective of typical processing scenarios where higher actual values are expected.

Updated the `compare` function to only raise exceptions if the actual Luma (Y) value is lower than the reference value.

Signed-off-by: Wang Hangjie <[email protected]>
  • Loading branch information
Hangjie22Coder authored and FocusLuo committed Nov 19, 2024
1 parent b8c939c commit 25a0366
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/mixin/vpp.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,10 @@ def compare(k, ref, actual):
assert actual[-2] == 100, "Cb(U) should not be affected by SHARPEN filter"
assert actual[-1] == 100, "Cr(V) should not be affected by SHARPEN filter"
assert ref is not None, "Invalid reference value"
assert abs(ref[-3] - actual[-3]) < 0.25, "Luma (Y) out of baseline range"
# Only assert if actual Luma (Y) is lower than reference, using specified range condition
if actual[-3] < ref[-3]:
# Ensure the difference is within the acceptable range [0, 0.25)
assert 0 <= ref[-3] - actual[-3] < 0.25, f"Luma (Y) is lower than reference value: {actual[-3]} < {ref[-3]}"

metrics2.check(
metric = dict(type = "psnr"), compare = compare,
Expand Down

0 comments on commit 25a0366

Please sign in to comment.