- edited description
Few proposals
-
Limit [--log2-max-poc-lsb]. The encoder should not accept a value like 1000000. My tests show that 30 is the highest without breaking the bitstream. [a8dc149]
-
When [--aud] is used, the encoder should raise a warning and close the gop because it doesn't work with the gop opened anyway.
-
If [--slices] value is higher than row count then raise a warning and reset it to equal to the row count or be reset to 1 instead of forcefully breaking out of the program because the user may want to use the maximum value. [Just a thought] [1ed3848]
-
Reveal slices information like mp4box's import results. # I # P # B - # SEI - # IDR
-
x265 [info] should include bias x265 [info]: Keyframe min / max / scenecut / bias [e8324bc]
-
Improve scenecut detection
-
I found a source when encoded at different resolutions, the scenecuts detected aren't the same.
-
When the picture has hardcoded text on it, the encoder cannot detect any scenecuts and only place a keyframe at the max keyint.
https://www.dropbox.com/s/n5yq2oaahynaoek/archive.zip?dl=0
I've also added a link of the files needed to examine the scenecut issue with some more information about it.
Comments (16)
-
reporter -
reporter - edited description
-
reporter [--bias-for-scenecut 4] fixes a part of the first issue I found with the incorrect frame detected as a scenecut. The number of scenecuts detected at the default and at 4 for [--bias-for-scenecut] remain the same at 1280x560 [81] but at low-res 720x320, it dropped by 1 [78 --> 77]. These tests were for the first scenecut issue only.
As for the second, changing [--bias-for-scenecut] to any value within the recommended range and out, still doesn't detect any scenecuts. This was tested on 1 of 4 of the examples I added to the archive.zip file.
[--bias-for-scenecut] param was a great idea though. :)
-
reporter - edited description
-
reporter - edited description
-
Account Deactivated Thanks for the feedback from testing --bias-for-scenecut. We tried different bias values on different videos and found that the default bias that we used wasn't always ideal; that is why we decided to even expose it out. It is possible that for some videos, the difference in cost between inter- and intra-modes are so high that even with changing bias values, the scene-cut isn't detected (scenecut is flagged if inter-cost >= (1-bias)*intra-cost). We will pour our your videos to see if this is indeed the case in your clips.
-
reporter Thank you for looking into it. I also have a lot of test clips but those are mainly music videos because of the way in which the editors put them together. They try to use as many angles as possible and I think those are the best sources to test scenecut detection.
If you need more clips to try this then feel free to ask and I'll upload them and send the link. I always build and test the encoder every time new commits get pushed to see if the problems I encountered were fixed or not.
-
reporter I tried my best to reconstruct one of the previews to see where the problem lies and my assumption was correct, the hardcoded text disrupts scenecut detection. The timing of mine may differ a little but the scenecuts are the same.
-
reporter - edited description
-
reporter I've found a few problems with the new info
-
input-res: The correct res is 1920x804 and the info shows it as 1920x808
-
level-idc: I get why it's 0 but should be equal to what the encoder chose or auto if not specified
-
high-tier: [--high-tier] is not used yet it's equal to 1
-
-
Account Deactivated -
assigned issue to
-
assigned issue to
-
Account Deactivated Thanks for the info. We will look into your suggestions.
-
Input-res has the padded width and height. So, fixed this issue with this patch: https://mailman.videolan.org/pipermail/x265-devel/2016-November/010805.html . Please test after applying this patch. level-idc=0 implies auto-detection. high-tier is enabled by default. But the encoder will first attempt to encode at the specified level, main tier first, turning on high tier only if necessary and available at that level.
-
reporter The patch worked.
Thank you for clearing it up, although, if the encoder selects high-tier, the line that reads "Format profile: Main@L4@Main" should be "Main@L4@High", that's what I'm concerned about but I'm not sure if that's a MediaInfo or x265 issue because when I use [--high-tier] and specify a level, it's "Main@L[level-idc]@ High". Further clarification on that would be very helpful.
-
Even though high-tier is enabled, it will be used only if it is necessary at that level. If not, it will use main tier so only you are getting Main@L4@Main. You can also refer https://x265.readthedocs.io/en/default/cli.html
-
reporter The words "only if necessary" and "Default: enabled" seemed to escape my eyes for a second. xD
Point taken.
Thank you again for clearing that up.
- Log in to comment