Comments (10)
So it seems the blocks are not necessarily ordered in the RPU, but dovi_tool
reorders while parsing with mode 0:
| Extension block 3, Level 8, Length 10
| target_display_index 255
| trim_slope 2458
| trim_offset 2048
| trim_power 2208
| trim_chroma_weight 2048
| trim_saturation_gain 2048
| ms_weight 2048
| Extension block 4, Level 8, Length 10
| target_display_index 20
| trim_slope 2048
| trim_offset 2048
| trim_power 1900
| trim_chroma_weight 2048
| trim_saturation_gain 2048
| ms_weight 2048
Therefore, reordering affects the final CRC32.
from dovi_tool.
So this only happens with mode 0, correct?
And it also happens when using the editor? (as it simply parses the RPU without conversion)
from dovi_tool.
So this only happens with mode 0, correct?
And it also happens when using the editor? (as it simply parses the RPU without conversion)
Yes, however editing sets a modified
flag to true, which skips comparing the original CRC32 hash.
This will be in 1.4.1 soon.
from dovi_tool.
So this only happens with mode 0, correct?
And it also happens when using the editor? (as it simply parses the RPU without conversion)Yes, however editing sets a
modified
flag to true, which skips comparing the original CRC32 hash. This will be in 1.4.1 soon.
So with the editor there has never been any problem since a new CRC32 was always generated? Or was the editor affected too?
from dovi_tool.
This was only a bug in 1.4.0, so there's nothing to worry about with previous versions.
There's also no negative impact for the editor, because the RPU is almost always assumed edited (unless you run an edit with mode=0
for some reason).
There's no negative effect, but maybe Dolby expects both L8 and L10 blocks to be ordered the same.
Either way, when reordered, that is still the case.
I just made the issue because this would halt parsing when using mode 0, whether it's demuxing/extracting, etc.
from dovi_tool.
Ok, thanks for the explanation.
As a result of this, I have thought that perhaps it would be interesting to add a new command (verify
or validation
or something like that) that simply parses an RPU to check if it is valid or not. That is to say, that it checks the CRC32 in all the frames and other validations that you consider appropriate.
from dovi_tool.
That is to say, that it checks the CRC32 in all the frames and other validations that you consider appropriate.
This is already the case when writing RPUs, as long as they were parsed.
The info
command also performs validation by default, and it parses all the frames.
At this point I wonder if defaulting to mode 0 would make sense, instead of simply copying bytes.
from dovi_tool.
That is to say, that it checks the CRC32 in all the frames and other validations that you consider appropriate.
This is already the case when writing RPUs, as long as they were parsed. The
info
command also performs validation by default, and it parses all the frames.At this point I wonder if defaulting to mode 0 would make sense, instead of simply copying bytes.
Ah ok, I didn't know that the info
command already verified it.
And the info
command checks the full RPU? Or just the specified frame?
from dovi_tool.
It parses every frame while validating, then prints the info for the specified frame.
from dovi_tool.
It parses every frame while validating, then prints the info for the specified frame.
OK, thanks for answering.
I just saw that you edited the above message to specify that it parses all the frames. Sorry, I hadn't read it.
from dovi_tool.
Related Issues (20)
- libdovi: MMR coefficients always start with a zeroed array
- Missing Level3 in rpu extraction? HOT 2
- Profile 8.4
- Limit the plot L6 metadata list
- Update MakeMKV mux behaviour in README
- Seperate libdovi from dovi_tool for easier packaging HOT 5
- Cannot get info of RPU missing L1 metadata
- Allow different peak brightness sources for generation from HDR10+
- Improve RPU file loading to remove hard 250M file size limit HOT 4
- Improve active area edits in RPU Editor HOT 8
- Trouble installing v2.0.3 HOT 4
- RPU response in CoreELEC
- Improper extraction HOT 3
- [feature] Add remove command HOT 2
- Libdovi error with Vapoursynth HOT 2
- TSMuxer import or EL issue? HOT 1
- Failing test HOT 1
- [feature] add QSV support HOT 2
- Profile 8.2 Support HOT 7
- Skipping NAL unit 63
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dovi_tool.