There are other offline tests like the Harding test that are run by the content creators (and why you see the epilepsy warnings at the start of shows)
FWIW, I'm not sure if this actually would benefit cats. I'm not up to speed on feline perception, but I know dogs see at a different frame rate than humans so things that won't trigger us might trigger them differently
VLC: Tools > Preferences > Show settings: All > Search: antiflicker
mpv --vf=deflicker,scale=960x540,pixscope 'https://github.com/apple/VideoFlashingReduction/blob/main/VideoFlashingReduction_Mathematica/Resources/movie.mp4?raw=true'
(generate test video): ffplay -f lavfi -i "color=777777[x],color=cccccc,
[x]framepack=frameseq,settb=AVTB,
setpts=N/TB/${flickerrate:-12},framerate=${interpolated:-24},
deflicker=size=5:mode=am,scale=640x480,pixscope"
antiflicker and deflicker are different implementationsdrawgraph is a useful bodge to convert metadata to frames. This enables silly things like mimicking the Apple demo, including graphs.
frames=5
sensitivity=1.5
dim_range=2
dim_intercept=-0.4
smoothing=10
smoothtype=am
persistence=0.9
min_contrast=0.0
min_brightness=0.0
min_saturation=0.0
ffplay -vf "split[original], crop=640:360:0:0,
split=5[i1][i2][i3][i4][i5];
[i1]photosensitivity=$frames :$sensitivity,
drawgraph='bg=black@0 :r=60 :s=1x1 :m1=lavfi.photosensitivity.factor
:fg1=0x010101*round(0xff*clip(VAL*$dim_range+$dim_intercept,0,1))',
split[sensedat], deflicker=$smoothing :$smoothtype,
negate, lagfun=$persistence, negate, split[mit1][mit2];
[mit1][i2]scale2ref[mask][i2]; [i2][mask]alphamerge[m];
[mit2]signalstats[mitdat];
[i3]eq=$min_contrast :$min_brightness :${min_saturation}[a];
[a][m]overlay, split[output1][output2];
[sensedat]drawgraph=lavfi.photosensitivity.badness :0xffff0000
:bg=white :r=60 :slide=scroll :size=512x256 :min=0 :max=7[bad];
[bad][i5]scale2ref[badout][reuse];
[badout]drawtext=fontcolor=2222dd:text='frame %{metadata\:lavfi.photosensitivity.frame-badness}'[badout];
[badout]drawtext=fontcolor=0000ff:y=1.2*lh:text='badness %{metadata\:lavfi.photosensitivity.badness}'[badout];
[badout]drawtext=fontcolor=777700:y=2.4*lh:text='factor %{metadata\:lavfi.photosensitivity.factor}'[badout];
[mitdat]drawgraph=lavfi.signalstats.YAVG :0xff00ccdd
:bg=00000000 :r=60 :slide=scroll :size=512x256 :min=0 :max=255, vflip[factor];
[factor][badout]scale2ref[factorout][badout];
[factorout]drawtext=fontcolor=999900:y=3.6*lh:text='smoothed %{metadata\:lavfi.signalstats.YAVG}'[factorout];
[badout][factorout]overlay[rplot];
[i4]signalstats, drawgraph=lavfi.signalstats.YAVG :0xffff0000
:bg=white :r=60 :slide=scroll :size=512x256 :min=0 :max=255[lum];
[lum][reuse]scale2ref[lumout][reuse];
[lumout]drawtext=fontcolor=ff0000:text='%{pts\:hms} %{pts} %{eif\:n\:d\:5}'[lumout];
[lumout]drawtext=fontcolor=0000ff:y=1.2*lh:text='avg luma %{metadata\:lavfi.signalstats.YAVG}'[lumout];
[output1]signalstats, drawgraph=lavfi.signalstats.YAVG :0xff00ccdd
:bg=00000000 :r=60 :slide=scroll :size=512x256 :min=0 :max=255[mlum];
[mlum][lumout]scale2ref[mlumout][lumout];
[mlumout]drawtext=fontcolor=999900:y=2.4*lh:text='mitigated %{metadata\:lavfi.signalstats.YAVG}'[mlumout];
[lumout][mlumout]overlay[lplot];
[reuse][output2][rplot][lplot]xstack=4 :0_0|w0+30_0|w0+30_h0+20|0_h0+20, [original]hstack" \
'https://developer.apple.com/accessibility/downloads/video-flashing-reduction-fig12.mp4'https://chrome.google.com/webstore/detail/seizafe-epilepsy-a...
I'm not epileptic.
Like most accessibility features, you don’t need to have a condition to find value in this one
I told them to do a Harding Test and get the company who made it to do the edits because WCAG doesn’t leave any wiggle room when it comes to potential seizures (rightfully so).
Glad to see Apple leading in this front. These features aren’t sexy but they make a real difference in people’s lives!
https://9to5mac.com/2023/03/27/apple-releases-tvos-16-4-with...
https://developer.apple.com/documentation/mediaaccessibility...
For epileptics like myself, this is a huge deal. It helps me deal with a lot of media that otherwise might cause me to suffer a seizure.