Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > (HD) DVD, Blu-ray & (S)VCD > (HD) DVD & Blu-ray authoring

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th June 2019, 15:09   #61  |  Link
frank
Banned
 
Join Date: Oct 2001
Location: https://t.me/pump_upp
Posts: 811
I want to set the SEI frame-packing info
Code:
h264Modify mkv3d_3d.264 -frame_packing SBS film_3d.264
but h264Modify doesn't show that info.

Code:
NAL position 0x000158A0 (88224)
  nal_unit_type:  7 "Sequence parameter set"
  profile_idc       = 100 "High"
  constraint_flags  = 16 (0x10)
      constraint_set0_flag = 0
      constraint_set1_flag = 0
      constraint_set2_flag = 0
      constraint_set3_flag = 0
      constraint_set4_flag = 1
      constraint_set5_flag = 0
  level_idc         = 40
  time_scale / 2    = 24000
  num_units_in_tick = 1001
  fixed_frame_scale = 0
Nothing changed. I miss the frame-packing field.
3D encodings with ffmpeg / x264 and --frame-packing=3 also don't show the field. But it should be there.
The other infos can be changed.

Last edited by frank; 12th June 2019 at 15:23.
frank is offline   Reply With Quote
Old 17th June 2019, 20:07   #62  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 316
Quote:
Originally Posted by frank View Post
I want to set the SEI frame-packing info
Code:
h264Modify mkv3d_3d.264 -frame_packing SBS film_3d.264
but h264Modify doesn't show that info.

Code:
NAL position 0x000158A0 (88224)
  nal_unit_type:  7 "Sequence parameter set"
  profile_idc       = 100 "High"
  constraint_flags  = 16 (0x10)
      constraint_set0_flag = 0
      constraint_set1_flag = 0
      constraint_set2_flag = 0
      constraint_set3_flag = 0
      constraint_set4_flag = 1
      constraint_set5_flag = 0
  level_idc         = 40
  time_scale / 2    = 24000
  num_units_in_tick = 1001
  fixed_frame_scale = 0
Nothing changed. I miss the frame-packing field.
3D encodings with ffmpeg / x264 and --frame-packing=3 also don't show the field. But it should be there.
The other infos can be changed.
In fact, the frame_packing info is inserted as SEI message

Code:
nal_unit_type:  6 "SEI"
  nal_ref_idc: 0
  payload_type: 45 "frame_packing_arrangement"
  payload_size: 7
videofan3d is offline   Reply With Quote
Old 18th June 2019, 12:19   #63  |  Link
frank
Banned
 
Join Date: Oct 2001
Location: https://t.me/pump_upp
Posts: 811
Ok, thanks, it works, I verified it with H.264 Analyzer.

But how did you display this info?
h264Modify version 2.0 without options
Code:
h264Modify.exe film_3d.264
only shows nal_unit_type 7 but not nal_unit_type 6. This info is missing.
Please, correct the issue.

Why is h264Modify so important?
Today we can encode much faster using HW encoders - Intel qsv, NVIDIA nvenc. But this tools can't inject the SEI frame_packing info. E.g. for 3D in MP4 (Google Cardboard VR) this metadata is important.
frank is offline   Reply With Quote
Old 27th August 2019, 23:31   #64  |  Link
outgoing
Registered User
 
Join Date: Aug 2018
Posts: 58
Also, once done the conversion of a mpls to json, the information it gives is great, but if when you do the conversion again to .mpls no longer plays the movie, at least in my case, what good is it to change parameters if later the file is not valid. Sure I'm missing something, how to change some parameter in the json and convert it properly to mpls. Sorry, maybe these are obvious questions for some but not for me.

edited:
Sorry, editing with wordpad everything fine. Thanks!!

Last edited by outgoing; 30th August 2019 at 02:26.
outgoing is offline   Reply With Quote
Old 3rd November 2019, 11:35   #65  |  Link
pel9
Registered User
 
pel9's Avatar
 
Join Date: Oct 2019
Posts: 25
mpls parsing of Dolby Vision substream

I reversed some info about the Dolby Vision stream.
The next byte after the number_of_PiP_PG_textST_stream_entries_plus in the STN_table() is the number_of_DV_video_stream_entries*
The value could be 0 or 1.
If the value is 1 then at the end of STN_table() there is a stream_entry() and stream_attributes() structure.

The stream_entry() has a new stream_type (4) and the structure is:
length 8 bit (=9)
stream_type 8 bit (=4)
reserved 8 bit
ref_to_stream_PID_of_DVstream* 16 bit
reserved 40 bit

The stream_attributes() structure is similar to the main video stream

* These names are guessed by me

Also reversed some extension

Last edited by pel9; 5th November 2019 at 17:27.
pel9 is offline   Reply With Quote
Old 9th November 2019, 23:50   #66  |  Link
Emulgator
Big Bit Savings Now !
 
Emulgator's Avatar
 
Join Date: Feb 2007
Location: close to the wall
Posts: 1,401
Ah, welcome back and many thanks for your work !
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain)
"Data reduction ? Yep, Sir. We're working on that issue. Synce invntoin uf lingöage..."
Emulgator is offline   Reply With Quote
Old 2nd January 2020, 16:49   #67  |  Link
TitanFan
Registered User
 
Join Date: Oct 2011
Posts: 9
So, I'm looking at a playlist that references the same m2ts file multiple times with different in_time and out_time values. For example mplsdump on a playlist reports 45 clips, and each clip has an in_time and out_time value. When I convert the playlist to a json file, I can see the in_time and out_time values, but I'm not sure what the format is?

For example:

"Clip_Information_file_name": "00351",
"Clip_codec_identifier": "M2TS",
"ref_to_STC_id": 0,
"reserved01": 0,
"is_multi_angle": 0,
"connection_condition": 1,
"IN_time": 11042287,
"OUT_time": 16109850,

What is the in_time and out_time format? How can I convert this format to hh:mm:ss time format?
TitanFan is offline   Reply With Quote
Old 2nd January 2020, 16:54   #68  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Quote:
Originally Posted by TitanFan View Post
What is the in_time and out_time format? How can I convert this format to hh:mm:ss time format?
Divide by 45000 to get the total time in seconds. Then you can work out the hours, minutes, and seconds from that.
videoh is offline   Reply With Quote
Old 3rd January 2020, 04:37   #69  |  Link
TitanFan
Registered User
 
Join Date: Oct 2011
Posts: 9
Thanks - dividing by 45000 worked. I checked a BDedit playlist report and it has the same in_time/out_time as BDTools. For some reason these playlist times are always 10-15 seconds off when I check the video....I can play the playlist file and it selects the video parts correctly, so I'm not sure why these playlist reports are showing incorrect times. Good news is that the times are off by a consistent amount, so I can just subtract the 10-15 seconds off each time to correct the problem.
TitanFan is offline   Reply With Quote
Old 21st April 2020, 22:35   #70  |  Link
koka
Registered User
 
Join Date: Jun 2018
Posts: 14
Which "command" is true?
How in MPLS2JSON.exe:
{
"operation_code": 1212154624,
"operand_1": 10,
"operand_2": 65535,
"command": "Greater_or_Equal reg_10 65535"
}
or other::
{
"operation_code": 1212154624,
"operand_1": 10,
"operand_2": 65535,
"command": "Not_Equal reg_10 65535"
}
__________________
tsmuxerCLI
koka is offline   Reply With Quote
Old 21st April 2020, 23:00   #71  |  Link
koka
Registered User
 
Join Date: Jun 2018
Posts: 14
Quote:
Originally Posted by pel9 View Post
structure is:
length 8 bit (=9)
stream_type 8 bit (=4)
reserved 8 bit
ref_to_stream_PID_of_DVstream* 16 bit
reserved 40 bit
"STN_table": {
"stream": [
{
"type": 1,
"pid": 4113,
"stream_coding_type": "H.265",
"video_format": "2160p",
"frame_rate": "23_976",
"reserved_uhd": 18,
"reserved01": 16384
},
...
{
"type": 4,
"pid": 5376,
"stream_coding_type": "H.265",
"video_format": "1080p",
"frame_rate": "23_976",
"reserved_uhd": 34,
"reserved01": 0
}
where:
ru=st.get("reserved_uhd", 0)
if ru:
if ru==0x12: uhd|=0b10010 #HDR10plus and HDR10
elif ru==0x80: uhd|=0b10000 #HDR10plus
elif ru==0x22: uhd|=0b00100 #DV
__________________
tsmuxerCLI
koka is offline   Reply With Quote
Old 28th April 2020, 18:46   #72  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 316
Quote:
Originally Posted by koka View Post
Which "command" is true?
How in MPLS2JSON.exe:
{
"operation_code": 1212154624,
"operand_1": 10,
"operand_2": 65535,
"command": "Greater_or_Equal reg_10 65535"
}
or other::
{
"operation_code": 1212154624,
"operand_1": 10,
"operand_2": 65535,
"command": "Not_Equal reg_10 65535"
}
Not_Equal seems to be correct.

(there is one-bit-shift bug in MPLS2JSON.exe)
videofan3d is offline   Reply With Quote
Old 2nd March 2023, 00:31   #74  |  Link
karbre
Registered User
 
Join Date: May 2021
Posts: 6
What is the unit of timestamps in a JSON generated by mpls2json? E.g. "IN_time": 30990600
It doesn't seem to be ms, ns or anything similar.

edit: found the answer, it's x/45000 seconds

Last edited by karbre; 2nd March 2023 at 02:22.
karbre is offline   Reply With Quote
Old 26th March 2023, 14:04   #75  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,460
Quote:
Originally Posted by frank View Post
Code:
h264Modify.exe film_3d.264
only shows nal_unit_type 7 but not nal_unit_type 6. This info is missing.
Please, correct the issue.

Why is h264Modify so important?
Today we can encode much faster using HW encoders - Intel qsv, NVIDIA nvenc. But this tools can't inject the SEI frame_packing info. E.g. for 3D in MP4 (Google Cardboard VR) this metadata is important.
I second this request.

I have the intention to write a GUI (integrated in BD3D2MK3D) to automatically demux the AVC stream from a MKV (2D or 3D), use your valuable h264Modify tool to either insert the correct frame-packing or to delete it, and remux the patched MKV.

Due to a serious bug in the BigScreen software, many hardware players are unable to display the 3D images correctly when that SEI message is present, as you can see here. Hence the necessity for some users to remove it, even when it is correct. And of course, adding it in the too numerous 3D movies lacking it is obviously also important.

Of course, I would like to be able to show the current frame-packing mode in the GUI, or if it is not specified. It's important to avoid to demux, patch and remux the AVC stream without a good reason.

Can you add the information in the output (with also the current 3D mode please) ? Or an option to display only that information as soon as it is detected and exit immediately will be even better.

Thanks in advance.

[EDIT] If someone knows a free CLI tool able to display that information, please let me know.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV

Last edited by r0lZ; 26th March 2023 at 14:16.
r0lZ is offline   Reply With Quote
Old 28th March 2023, 12:21   #76  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,460
My GUI is on the way, but I have just noticed this strange problem with this h264Modify command:
Code:
"h264Modify.exe" "in.avc" "out.avc" -frame-packing SBS:LR
(Or with any other frame-packing value, including DELETE).

This message is issued (probably in stderr):
Code:
H.264 Stream Modifier - version 2.00 (build: Aug 24 2017)

WARNING: h264Modify.exe - unknown option --frame-packing specified, ignoring...
However, --frame-packing (with -- instead of a single -) is never present in my code.

Note that if I use --frame-packing in the command, the warning becomes "unknown option ---frame-packing" ! (Again, the command works correctly.)

Unfortunately, due to this strange message, I have no simple way to verify if the command has worked correctly from my GUI. (Actually, the command has worked perfectly, despite the strange warning.)

Can you fix that little problem, please ? Thanks.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV

Last edited by r0lZ; 28th March 2023 at 12:27.
r0lZ is offline   Reply With Quote
Old 3rd April 2023, 09:31   #77  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,460
I have finished the GUI, and I will release a new version of BD3D2MK3D soon.

But I have found another bug in h264 modify, and this one is very important. The frame-packing "Frame Alternation" is missing. It is available with the x264 option --frame-packing 5, but it is not possible to specify it in the command line of h264Modify. It's a pity, as it's probably the most necessary format after SBS and TAB. Videofan3D, can you add it ? Thanks !
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.