This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[BUG] Interlace Store Method Changing Upon Conversion
#2
mkv supports, the following field orders:
  • 0: progressive
  • 1: interlaced with top field displayed first and top field stored first
  • 2: undetermined field order
  • 6: interlaced with bottom field displayed first and bottom field stored first
  • 9: interlaced with bottom field displayed first and top field stored first
  • 14: interlaced with top field displayed first and bottom field stored first
but Hybrid only supports using 0, 1, 6.

I never had a use case where I needed to save interlaced content as interleaved.
Interlaced content can be coded in different manners:
- Interleaved fields : line 0, 1, 2, 3 ... 476, 477, 478, 479 (in 1 block), similar to how progressive content is coded
- Separated fields: line 0, 2 ... 476, 478, 1, 3 ... 477, 479 (2 fields in 1 block or each field in its own block)
see: https://www.mir.com/DMG/interl.html
Nor have I ever encountered that anyone used it for formats that are newer than MPEG-2, which is why Hybrid doesn't use it.

If I wanted to add supporting the output to interleaved content:
  • I would need to know whether I can create such content using FFmpeg and MP4Box or does only mkvmerge support this? Which containers suppor this.
  • I would have to decide how to add this to the gui. Atm. the best way would be to add some 'store interlaced output' combobox with the options:
    • same as source (prefer separated): will use interleaved fields if the input used interleaved fields and otherwise separated fields.
    • same as source (prefer interleaced): will use separated fields if the input used separated fields and otherwise interleaved fields.
    • separated fields: interlaced output will always be saved with separated fields (default)
    • interleaved fields: interlaced output will always be saved with interleaved fields.
  • I would have to rewrite the analysis and muxing code in Hybrid to
    • detect (and remember) whether the input used interleaved or separated fields.
    • respect the 'store interlaced output' selection.

Main issue is the first point: I don't know how saving interlaced content with separated fields could be done with anything other than mkvmerge.
I do not plan to only add this as an advanced mkvmerge option.

I adjusted Hybrid to inform the user on interlaced input where the output also is interlaced that the store type will be changed to separated fields.
Quote:Notice: Input used interleaved fields to store interlacing while output uses separate fields.
Hybrid does not support saving interlaced content with interleaved fields.
will be added to the normal user log.

So atm. you probably either have to:
  • use a different tool,
  • or change the store type with mkvmerge by remuxing.
  • provide me with the info how to save interlaced content using ffmpeg and mp4box if you want me to support this in Hybrid.

Cu Selur

Ps.: the more I have to deal with interlaced output the more I think about dropping the whole thing since it seems to pointless. *gig*
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Messages In This Thread
RE: Interlace Store Method Changing Upon Conversion - by Selur - 06.08.2022, 09:16

Forum Jump:


Users browsing this thread: 1 Guest(s)