[x265] Adaptove GoP sizes - not sure if its working

Roshantha Mendis hrm506 at york.ac.uk
Sat Aug 22 06:31:49 CEST 2015


Okay I will try to find a video like that. If you have a good appropriate
test sequence for me to test, that will give that behaviour, please let me
know.  Thank you.

The strange thing is, the original vid clip was encoded in mp4 (downloaded
from YouTube) and when I used ffprobe to inspect it, the GOP sizes (I to I)
seemed to be different to the sizes generated by x265. Maybe it's to do
with the way frames are identified..

Thanks again
Rosh
On 22 Aug 2015 5:22 am, "Deepthi Nandakumar" <deepthi at multicorewareinc.com>
wrote:

> No problem.
>
> I would suggest you choose content with highly varying scenes - night to
> day changes, indoor to sunny fields etc. Now, with the default keyint (250)
> which is actually the max periodicity, the encoder will insert I frames at
> all the significant scene change frames, even if the last I frame was a few
> frames before.
>
>
>
>
> On Sat, Aug 22, 2015 at 9:30 AM, Roshantha Mendis <hrm506 at york.ac.uk>
> wrote:
>
>> Okay , but I want to be able to be able to see a distribution of
>> different GOP sizes in the encoded video. If they are roughly the same
>> size, it would mean the encoder has not adaptively set the size of a GOP.
>>
>> I want to be able to show, that for certain streams there are highly
>> varying , wide distribution of GOP sizes.
>>
>> Periodic , equal size GOPs is not what I'm after.
>>
>> Should I just treat multiple P's as an I frame ? And calculate the GOP
>> sizes likewise ?
>>
>> Sorry, for the trouble. The data is for a paper I'm writing.
>>
>> Many thanks
>> On 22 Aug 2015 4:54 am, "Deepthi Nandakumar" <
>> deepthi at multicorewareinc.com> wrote:
>>
>>> Hi,
>>>
>>> You can just set keyint to the rough periodicity of I frames you prefer.
>>> On Aug 22, 2015 9:12 AM, "Roshantha Mendis" <hrm506 at york.ac.uk> wrote:
>>>
>>>> Hi Deepthi,
>>>>
>>>> Thank you for replying.
>>>>
>>>> So , if I want to get the encoder to add an I-frame instead of multiple
>>>> p frames , do I have to set another param ? Scene-cut ? What's the upper
>>>> limit for scenecut ?
>>>>
>>>> Thank you
>>>> Rosh
>>>> On 22 Aug 2015 2:17 am, "Deepthi Nandakumar" <
>>>> deepthi at multicorewareinc.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> Without the keyint argument, the default keyframe interval reverts to
>>>>> 250, and the encoder will try to insert I-frames only closer to this value.
>>>>> With --keyint 50, the encoder will try to insert GOP frames closer to 50,
>>>>> and thats what the GOP size would roughly be.
>>>>>
>>>>> At the points where you expected a scene change / I frame, you might
>>>>> find that the P-frames are significantly larger, but it's likely the
>>>>> encoder didnt deem it necessary to insert an I-frame.
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Aug 22, 2015 at 4:51 AM, Roshantha Mendis <hrm506 at york.ac.uk>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am trying to investigate GoP size changes based on scene changes in
>>>>>> video.
>>>>>>
>>>>>> i've used x265 to encode a y4m (raw) file to hevc bitstream. A
>>>>>> standard action fight scene : high moving, fast paced, 2-3 mins). So I was
>>>>>> hoping to get highly varying scene changes. link :
>>>>>> https://www.youtube.com/watch?v=gQEfEeBR3-M
>>>>>>
>>>>>> I used this command:
>>>>>>
>>>>>> ./x265 --input ../../../../ffmpeg_work/vids/originals/FightScene.y4m
>>>>>> -F 0 -o FightScene_x265.bin --csv FightScene_x265.csv --csv-log-level 2
>>>>>>
>>>>>> // -- more info --
>>>>>>
>>>>>> y4m [info]: 312x176 fps 25/1 i420p8 frames 0 - 5104 of 5105
>>>>>> raw [info]: output file: FightScene_x265.bin
>>>>>> x265 [info]: HEVC encoder version 1.7+431-f63273fa3137
>>>>>> x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
>>>>>> x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
>>>>>> AVX2 FMA3 LZCNT BMI2
>>>>>> x265 [info]: Main profile, Level-2 (Main tier)
>>>>>> x265 [info]: Thread pool created using 4 threads
>>>>>> x265 [info]: frame threads / pool features : 2 / wpp(3 rows)
>>>>>> x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
>>>>>> x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1
>>>>>> intra
>>>>>> x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2
>>>>>> x265 [info]: Keyframe min / max / scenecut : 25 / 250 / 40
>>>>>> x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
>>>>>> x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
>>>>>> x265 [info]: References / ref-limit cu / depth : 3 / 0 / 0
>>>>>> x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
>>>>>> x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
>>>>>> x265 [info]: tools: rd=3 psy-rd=0.30 signhide tmvp
>>>>>> strong-intra-smoothing
>>>>>> x265 [info]: tools: deblock sao
>>>>>> x265 [info]: frame I: 2, Avg QP:27.50 kb/s: 919.70
>>>>>> x265 [info]: frame P: 82, Avg QP:29.56 kb/s: 170.33
>>>>>> x265 [info]: frame B: 195, Avg QP:35.66 kb/s: 27.40
>>>>>> x265 [info]: Weighted P-Frames: Y:1.2% UV:1.2%
>>>>>> x265 [info]: consecutive B-frames: 9.3% 18.6% 12.8% 44.2% 15.1%
>>>>>>
>>>>>>
>>>>>> // ---------
>>>>>>
>>>>>>
>>>>>> So very basic, using only the defaults.
>>>>>>
>>>>>> I then investgate the csv file, and check the I-SLICE to I-SLICE
>>>>>> frame gap (I assume I-Slice --> I-Slice is a GOP)
>>>>>>
>>>>>> They all seem around 246 to 252 frames per GoP. I was hoping to get
>>>>>> drastic GoP changes : e.g. GoP sizes 25, 36, 100 .. 250 etc.
>>>>>>
>>>>>> Any thoughts why the difference are so small ?
>>>>>>
>>>>>> I even tried setting the following flags to high values :
>>>>>>
>>>>>> --scenecut 100 --keyint 240 --min-keyint 2
>>>>>>
>>>>>> but the still the gop size remained around 238-242 .. not much
>>>>>> fluctuation.
>>>>>>
>>>>>>
>>>>>> Please can someone advice why ?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Many thanks
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Rosh Mendis
>>>>>> Research Student - EngD in LSCITS
>>>>>> Dept. of Computer Science
>>>>>> University of York
>>>>>>
>>>>>> Disclaimer: http://www.york.ac.uk/docs/disclaimer/email.htm
>>>>>>
>>>>>> _______________________________________________
>>>>>> x265-devel mailing list
>>>>>> x265-devel at videolan.org
>>>>>> https://mailman.videolan.org/listinfo/x265-devel
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> x265-devel mailing list
>>>>> x265-devel at videolan.org
>>>>> https://mailman.videolan.org/listinfo/x265-devel
>>>>>
>>>>>
>>>> _______________________________________________
>>>> x265-devel mailing list
>>>> x265-devel at videolan.org
>>>> https://mailman.videolan.org/listinfo/x265-devel
>>>>
>>>>
>>> _______________________________________________
>>> x265-devel mailing list
>>> x265-devel at videolan.org
>>> https://mailman.videolan.org/listinfo/x265-devel
>>>
>>>
>> _______________________________________________
>> x265-devel mailing list
>> x265-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x265-devel
>>
>>
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150822/f75ab3de/attachment-0001.html>


More information about the x265-devel mailing list