bavc/qctools

[PROPOSAL] Add filter for Action Safe & Title Safe areas

Closed this issue · 3 comments

The SMPTE has provided guidelines for action-safe and title safe areas. It would be helpful if QC Tools could include a mask for these areas so that a QC operator can see if there are any chyrons out of the recommended range. I use the following commands to QC in FFplay, but I believe that much like signalstats' broadcast range, these would be useful features for producers.

Here is some background info on Action Safe and Broadcast Safe areas https://extremereach.com/blog/understanding-the-safe-title-area-in-tv-production-and-why-its-important/. I will not attempt to attach SMPTE standards to the ticket since they are copyrighted (but are available online).

A QC Tools filter for Title & Action Safe areas would be a simple drawbox overlay providing:

SMPTE RP 8 (1961) / SMPTE RP 13 (1963)

  • Safe Title Area = 80% width/height
  • Safe Action Area = 90% width/height

SMPTE ST 2046-1 (2009)

  • Safe Action Area as 93% width/height
  • Safe Title Area 90% width/height

Here is the FFmpeg filter code to overlay the safe areas. Values of 80 | 90 | 93 and colors could be passed as values.

$ ffplay -hide_banner -f lavfi -i color=black:size=1920x1080,drawbox=color=yellow:x='iw*(((100-93)/2)/100)':y='ih*(((100-93)/2)/100)':width='iw*(93/100)':height='ih*(93/100)':thickness=1,drawbox=color=green:x='iw*(((100-90)/2)/100)':y='ih*(((100-90)/2)/100)':width='iw*(90/100)':height='ih*(90/100)':thickness=1

Likewise, center-line crosshairs could also be overlaid, using

$ ffplay -hide_banner -f lavfi -i color=black:size=1920x1080,drawgrid=color=gray:x='iw/2':y='ih/2':thickness=1

Other useful masks could be:

  • 4x3 within a 16x9 frame
  • 480 on a 486 vertical, allowing a user to distinguish what should be in the VBI vs front-porch. I know that Dave is a big fan of decoding line21 from the VBI, but it would be useful for an operator to be able to see which lines should be overscanned at display time.
  • 704 on a 720 horizontal, allowing a user to see the 8 pixels either side which would be dropped from the HBI in a true 10/11 sar 4:3 dar.
  • CinemaScope (2.35, 2.39, 2.40 within a 16x9 frame)
    These would allowing a user to identify the aspect ratio of pillar-boxed and letter-boxed content. However, the code for these would be a little more complex.

Another useful mask would be a g608 caption grid, using a 16 row, 32 column within the legacy 80% title-safe area, using FFmpeg's drawgrid on a 4:3 frame. This would allow a user to identify standards-spec caption placement, although until FFmpeg supports full EIA-608 rendering, this would only be relevant for burned-in captions from a 608 source. Here is the grid http://www.theneitherworld.com/mcpoodle/SCC_TOOLS/DOCS/cc_grid.gif. If this is of interest, I could work on a command.

I hope I have not blasted too many ideas, Dave. I'm a big fan of your many projects. Thanks for all your work on QC Tools.

Thx @bbgdzxng1, I added this in 9b1fb58 and basically copy/pasted your filterchain in. I appreciate that this was written in a size independent way can apply to any video rather than just 1920x1080. I added an acknowledgement in the (documentation)[https://github.com//pull/749/commits/9b1fb5878c0dc67da4f8c44a66134cf015501e6d#diff-fbb23a18ed7ad9e21a15ec69b36099805886d248bd75c016f0cd991c94f72769L81]. If you suggest any other wording please let me know.

resolved in #749

@dericed I'm so embarrassed that I missed that you had kindly added this feature over a year ago. I totally missed it. Thankyou, thankyou, thankyou sir.