Few proposals

Issue #300 new
Shaylen Reddy created an issue
  1. 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]

  2. When [--aud] is used, the encoder should raise a warning and close the gop because it doesn't work with the gop opened anyway.

  3. 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]

  4. Reveal slices information like mp4box's import results. # I # P # B - # SEI - # IDR

  5. x265 [info] should include bias x265 [info]: Keyframe min / max / scenecut / bias [e8324bc]

  6. 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)

  1. Shaylen Reddy 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. :)

  2. Pradeep Ramachandran 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.

  3. Shaylen Reddy 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.

  4. Shaylen Reddy 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.

    Here's the results

  5. Shaylen Reddy reporter

    I've found a few problems with the new infoUntitled.png

    1. input-res: The correct res is 1920x804 and the info shows it as 1920x808

    2. level-idc: I get why it's 0 but should be equal to what the encoder chose or auto if not specified

    3. high-tier: [--high-tier] is not used yet it's equal to 1

  6. Shaylen Reddy reporter

    x265 input-res fixed.png

    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.

  7. Shaylen Reddy 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.

  8. Log in to comment