1. 17 Jun, 2018 1 commit
  2. 29 Mar, 2017 1 commit
  3. 04 Dec, 2015 1 commit
  4. 21 Oct, 2015 1 commit
  5. 15 Aug, 2014 1 commit
  6. 09 Jul, 2014 1 commit
    • Oliver Fromme's avatar
      avcodec/dvdsubenc: Add dvdsub workaround for some players · a32dcaaa
      Oliver Fromme authored
      The issue affects dvdsub subtitles (a.k.a. VOBSUB).
      
      Some players -- in particular hardware players -- cut off
      the lowest row of pixels if the number of rows in the subtitle
      is odd.
      
      The patch below implements a work-around for that.  If the
      number of rows is odd, it is simply rounded up to an even
      number, adding an invisible (i.e. fully transparent) row.
      The work-around can be enabled or disabled with a new
      option -even_rows_fix.  The default is disabled, so there
      is no change of behaviour for users who don't care about it.
      
      The overhead for the fix is low, and in many cases even zero:
      For subtitles with an odd number of rows (i.e. in 50% of
      cases on average), the size increases by two bytes because
      a fully transparent row is encoded as 0x00 0x00.  However,
      in the VOBSUB standard, all data packets are padded to 2KB
      anyway, so in most cases the additional bytes just use some
      part of the padding, so there is no overhead.  Only in the
      rare case that the 2KB boundary is hit (0.1% chance), a full
      2KB block is added.
      Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
      a32dcaaa
  7. 19 May, 2014 1 commit
  8. 24 Apr, 2014 1 commit
  9. 03 Oct, 2013 1 commit
  10. 12 Jan, 2013 1 commit
  11. 01 Jan, 2013 1 commit
    • Nicolas George's avatar
      lavc/dvdsubenc: improve color distance function. · 5ed5e90f
      Nicolas George authored
      Consider the color space as an hypercone with apex alpha=0
      and base alpha=1 instead of an hypercube.
      Make the encoder consider very transparent colors more similar
      even if the hue is very different.
      This corresponds roughly to using the alpha as a weight for the
      color difference.
      Only 4 bits of alpha are used, because this is what dvdsub uses,
      and it avoids overflows.
      
      Fix trac ticket #2005.
      5ed5e90f
  12. 30 Dec, 2012 2 commits
  13. 17 Sep, 2012 1 commit
  14. 24 Aug, 2012 1 commit
  15. 14 Aug, 2012 3 commits
    • Nicolas George's avatar
      dvdsubenc: reindent after recent commit. · 67a804b9
      Nicolas George authored
      67a804b9
    • Nicolas George's avatar
      dvdsubenc: set frame size in extradata. · 17e40236
      Nicolas George authored
      17e40236
    • Nicolas George's avatar
      dvdsubenc: make it usable for transcoding. · 2dedd8f4
      Nicolas George authored
      DVD subtitles packets can only encode a single rectangle:
      if there are several, copy them into a big transparent one.
      
      DVD subtitles rely on an external 16-colors palette:
      use a reasonable default one, stored in the private context,
      and encode it into the extradata, as specified by Matroska.
      TODO: allow to change the palette with an option.
      
      Each packet can use four colors out of the global palette.
      The old logic was to map transparent colors to the color 0
      and all other colors to 3, 2, 1, cyclically in descending
      frequency order, completely disregarding the original color.
      
      Select the "best" four colors from the global palette, according
      to heuristics based on frequency, opacity and brightness, and
      arrange them in standard DVD order: background, foreground,
      outline, other.
      TODO: select the alpha value more finely; see if CHG_COLCON can
      allow more than 4 colors per packet.
      
      Reference:
      http://dvd.sourceforge.net/dvdinfo/spu.html
      
      With these changes, dvdsubenc can be used to transcode DVB subtitles
      and get a very decent result.
      2dedd8f4
  16. 07 Aug, 2012 1 commit
  17. 27 Jul, 2012 1 commit
  18. 06 Apr, 2012 1 commit
  19. 02 Nov, 2011 1 commit
  20. 29 Jul, 2011 1 commit
  21. 19 Mar, 2011 1 commit
  22. 28 Jan, 2011 1 commit
  23. 26 Jan, 2011 1 commit
  24. 30 Mar, 2010 1 commit
  25. 19 Jan, 2009 1 commit
  26. 03 Jan, 2009 2 commits
  27. 12 Jun, 2008 1 commit
  28. 27 Apr, 2008 1 commit
  29. 25 Nov, 2007 1 commit
  30. 14 Nov, 2007 1 commit
  31. 23 May, 2007 1 commit
  32. 14 Oct, 2006 1 commit
  33. 07 Oct, 2006 1 commit
  34. 12 Jan, 2006 1 commit
  35. 17 Dec, 2005 1 commit
  36. 12 Dec, 2005 1 commit