View Bug Details

IDProjectCategoryView StatusLast Update
0001477DCP-o-maticFeaturespublic2022-01-15 23:40
ReporterCarsten Assigned Tocarl  
Status resolvedResolutionfixed 
PlatformMacOSOS XOS Version10.12
Product Version2.12.x 
Target Version2.18.0 
Summary0001477: Introduce Autocrop/Letter/Pillarbox detection

I think there have been feature suggestions towards this before, however, as I now have better ideas on how to do it, I'll file a new one ;-)

Many people have trouble finding proper scaling and cropping parameters for letter- or pillarboxed content. While the preview allows to set cropping visually, the preview window is usually downscaled and not pixel accurate. So it would be good if DCP-o-matic could detect active pixels automatically. We know that automatic aspect ratio detection can sometimes fail, because there is too much black content in the active image area. Also, some (few) movies change aspect ratio during runtime. However, I think a good way to do is is to do a one-time active pixel detection based on the current preview image selection. Then adjust cropping/scaling based on that image. From then on, the user should be allowed to use all common controls to adjust, reset, improve the cropping and scaling. So to say, the automatic crop would just result into a cropping and scaling 'suggestion'. I guess that would suit most peoples expectations.

A few things to consider:

  • anamorphic content needs to be taken into account, e.g. Scope DVDs in 16:9
  • not all content has letterbox/pillarboxes at 'pure' black levels. Some blacks may be noisy. The detection still needs to be able to find these bars
  • many codecs add 'smeared' edges around active image area (see attached image). These smeared edges should be added to the active image area. So, some sort of a dynamic threshold detection should be there.
  • some content has misleading leaders - I know e.g. one popular studio logo which looks like scope, but is wider. If users do not understand this, the autocrop will fail if applied to the beginning of the movie. Maybe check plausibility of the crop by looking into later parts of the movie? Maybe take multiple samples at least from the beginning of the movie? Having weird stuff around the beginning (opening credits) is pretty common. Maybe just skip over the first minutes, show the chosen preview image, display the chosen crop frame (e.g. in green), before the crop is accepted - so, some sort of an automatic, yet interactive process? A simple 'Yes/No' confirmation box to apply cropping/scaling?

The function to detect letter/pillarboxing could either go to the scale to/aspect ratio list, or, into the 'Content' main drop down menu below 'scale to fit width/height'.

I understand that ffmpeg has some sort of letterbox detection ('cropdetect'). Maybe it can be used for this.

  • Carsten
Tagsbranch, workflow
Estimated weeks required
Estimated work requiredMedium



2019-02-28 10:18



2022-01-15 23:40

administrator   ~0004763

A first cut of this is in 7b66e9c9de6df12f49b358d9496a9e64b68db550

Bug History

Date Modified Username Field Change
2019-02-28 10:14 Carsten New Bug
2019-02-28 10:14 Carsten Status new => assigned
2019-02-28 10:14 Carsten Assigned To => carl
2019-02-28 10:14 Carsten File Added: image.png.228791f0ed7e7a7c31e53a67d683ca90.png
2019-02-28 10:16 Carsten File Deleted: image.png.228791f0ed7e7a7c31e53a67d683ca90.png
2019-02-28 10:18 Carsten File Added: Bildschirmfoto 2019-02-28 um 11.17.35.png
2019-02-28 10:18 Carsten Description Updated
2019-02-28 10:20 Carsten Description Updated
2019-02-28 10:21 Carsten Description Updated
2019-02-28 10:23 Carsten Description Updated
2019-02-28 10:28 Carsten Description Updated
2019-02-28 10:29 Carsten Description Updated
2019-02-28 10:31 Carsten Description Updated
2019-05-01 10:54 carl Priority normal => low
2019-05-01 10:54 carl Estimated work required Unknown => Major
2019-10-24 22:58 carl Estimated work required Major => Medium
2019-11-27 21:30 carl Target Version 2.16.0 => 2.18.0
2019-11-27 21:32 carl Tag Attached: workflow
2021-12-25 23:17 carl Branch => 1477-autocrop
2021-12-25 23:17 carl Tag Attached: branch
2021-12-25 23:17 carl Priority low => normal
2022-01-04 23:27 carl Tag Attached: current
2022-01-15 23:40 carl Tag Detached: current
2022-01-15 23:40 carl Status assigned => resolved
2022-01-15 23:40 carl Resolution open => fixed
2022-01-15 23:40 carl Note Added: 0004763