Opened 4 years ago

Last modified 14 months ago

#3247 open enhancement

Transparent subtitle outlines (IDX/SUB) upon conversion to XSUB become solid, and colors become b&w

Reported by: userid99 Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: xsub
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:

Transparent subtitle outlines (IDX/SUB) upon conversion to XSUB become solid, and colors become black and white.

How to reproduce:

ffmpeg -v 9 -loglevel 99 -report -i transpidx.avi -i t

ranspidx.idx -vcodec copy -an transpxsub.avi

Attachments (2)

transpidx.idx (1.3 KB) - added by userid99 4 years ago.
input idx file
transpidx.sub (12.0 KB) - added by userid99 4 years ago.
input sub file

Download all attachments as: .zip

Change History (7)

Changed 4 years ago by userid99

input idx file

Changed 4 years ago by userid99

input sub file

comment:1 follow-up: Changed 4 years ago by cehoyos

Is this a regression?

comment:2 in reply to: ↑ 1 Changed 4 years ago by userid99

Replying to cehoyos:

Is this a regression?

No

comment:3 Changed 4 years ago by cehoyos

  • Component changed from undetermined to avcodec
  • Keywords xsub added
  • Priority changed from important to normal
  • Reproduced by developer set

For future tickets:
Please always provide a command line that allows to reproduce the problem including its complete, uncut console output.
Please do not provide output files unless a developer is unable to reproduce and asks for the output file.
Please do not attach more input files than necessary, it imo only leads to confusion.

This is currently a bug because the intended warning in the code is not shown, this will be fixed soon.

$ ffmpeg -f lavfi -i testsrc -i transpidx.idx -scodec xsub -t 14 out.avi
ffmpeg version N-59400-g8335016 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec 28 2013 22:21:53 with gcc 4.3 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      52. 59.100 / 52. 59.100
  libavcodec     55. 46.100 / 55. 46.100
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Input #1, vobsub, from 'transpidx.idx':
  Duration: N/A, bitrate: N/A
    Stream #1:0[0x0](de): Subtitle: dvd_subtitle, 640x480 (default)
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf55.22.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0:1(de): Subtitle: xsub (DXSB / 0x42535844), 640x480 (default)
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> mpeg4)
  Stream #1:0 -> #0:1 (dvdsub -> xsub)
Press [q] to stop, [?] for help
[avi @ 0x91f31e0] Encoder did not produce proper pts, making some up.
frame=  350 fps=206 q=2.6 Lsize=     559kB time=00:00:14.00 bitrate= 326.9kbi

The following work as expected
$ ffmpeg -f lavfi -i testsrc -i transpidx.idx -scodec dvbsub -t 14 out.ts
$ ffmpeg -f lavfi -i testsrc -i transpidx.idx -scodec dvdsub -t 14 out.vob
although the last frames look different with ffplay indicating a possible problem.

Last edited 4 years ago by cehoyos (previous) (diff)

comment:4 Changed 4 years ago by cehoyos

  • Priority changed from normal to wish
  • Status changed from new to open
  • Type changed from defect to enhancement

A warning is now - since de40905f - shown (as originally intended) if the transparency gets messed up when encoding xsub.

comment:5 Changed 14 months ago by richardpl

xsub, with tag DXSB does not support alpha. It knows only about background which is always transparent and foreground which is not transparent.
DXSA on other hand have support for alpha, but xsub encoder does not support it.

Note: See TracTickets for help on using tickets.