Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Dolby Vision support to HandBrake #346

Merged
merged 14 commits into from
Nov 23, 2024

Conversation

Church13
Copy link
Contributor

@Church13 Church13 commented Nov 14, 2024

The version of HandBrake built for ARM does not include Dolby Vision support. This PR implements build-deps and adds the necessary compiler configuration flag to support Dolby Vision through the libdovi library.

Dolby Vision is becoming an increasingly common HDR format for 4K/UHD Blu-Ray content, and ARM should support retaining Dolby Vision HDR metadata. Currently, without HandBrake built for Dolby Vision support, transcoding falls back to HDR10+ or HDR.

HandBrake requires rustup, cargoc and associated dependencies to be able to use the --enable-libdovi build flag, enabling Dolby Vision support with the x265 encoder when using 10-bit.

@Church13 Church13 marked this pull request as draft November 14, 2024 22:11
@Church13 Church13 marked this pull request as ready for review November 15, 2024 06:43
@microtechno9000
Copy link
Collaborator

Can you load a build log showing it all built and passing

@Church13
Copy link
Contributor Author

https://github.com/Church13/arm-dependencies-libdovi/actions/runs/11984526487

Here's the build log from the PR merge on my fork. Ended up doing a refactor and putting everything in the install_handbrake.sh file, as installing the rust and cargoc build dependencies in the install_mkv_hb_deps.sh ended up retaining ~1.6 extra GB of unneeded rust libs/build tools in that container layer. You should also be able to approve the workflow for this PR which will allow you to double-blind verify the build prior to merge.

Since I had to go back and forth with changes in these commits I'd recommend a squashed merge to flatten it down in the git history.

And here's a log of the container successfully running HandBrakeCLI in the built image on a file with Dolby Vision!

[05:23:30] Compile-time hardening features are enabled
Cannot load libnvidia-encode.so.1
[05:23:30] vcn: not available on this system
[05:23:30] qsv: not available on this system
[05:23:30] hb_init: starting libhb thread
[05:23:30] thread 7f8597aa4640 started ("libhb")
HandBrake 1.8.2 (2024112300) - Linux x86_64 - https://handbrake.fr
24 CPUs detected
Opening /opt/arm/DVDemo.mkv...
[05:23:30] CPU: Intel(R) Xeon(R) CPU E5-2697 v4 @ 2.30GHz
[05:23:30]  - Intel microarchitecture Broadwell
[05:23:30]  - logical processor count: 24
[05:23:30] Intel Quick Sync Video support: no
[05:23:30] hb_scan: path=/opt/arm/DVDemo.mkv, title_index=1
[05:23:30] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[05:23:30] hb_ts_stream_find_pids - end of file
Input #0, mpegts, from '/opt/arm/DVDemo.mkv':
  Duration: 00:01:15.46, start: 3.944678, bitrate: 32672 kb/s
  Program 2 
  Stream #0:0[0x21]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn
      Side data:
        DOVI configuration record: version: 1.0, profile: 4, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 0
  Stream #0:1[0x23]: Audio: eac3 (EAC3 / 0x33434145), 48000 Hz, 5.1(side), fltp, 768 kb/s
[05:23:30] scan: decoding previews for title 1
[05:23:30] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[05:23:30] hb_ts_stream_find_pids - end of file
[05:23:30] scan: audio 0x1: eac3, rate=48000Hz, bitrate=768000 Unknown (E-AC3, 5.1 ch, 768 kbps)
Scanning title 1 of 1, preview 10, 100.00 %[05:23:38] using bitstream PAR 1:1
[05:23:38] scan: 10 previews, 3840x2160, 23.976 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1, color profile: 1-1-1, chroma location: left
[05:23:38] scan: dolby vision configuration record: version: 1.0, profile: 4, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 0
[05:23:38] libhb: scan thread found 1 valid title(s)
+ Using preset: Fast 2160p60 4K HEVC
+ title 1:
  + stream: /opt/arm/DVDemo.mkv
  + duration: 00:01:15
  + size: 3840x2160, pixel aspect: 1/1, display aspect: 1.78, 23.976 fps
  + autocrop: 0/0/0/0
  + chapters:
    + 1: duration 00:01:15
  + audio tracks:
    + 1, Unknown (E-AC3, 5.1 ch, 768 kbps) (iso639-2: und)
  + subtitle tracks:
[05:23:38] Starting work at: Sat Nov 23 05:23:38 2024

[05:23:38] 1 job(s) to process
[05:23:38] json job:
{
    "Audio": {
        "AudioList": [
            {
                "Bitrate": 160,
                "CompressionLevel": -1.0,
                "DRC": 0.0,
                "DitherMethod": "auto",
                "Encoder": "av_aac",
                "Gain": 0.0,
                "Mixdown": "stereo",
                "NormalizeMixLevel": false,
                "PresetEncoder": "av_aac",
                "Quality": -3.0,
                "Samplerate": 0,
                "Track": 0
            }
        ],
        "CopyMask": [
            "copy:aac"
        ],
        "FallbackEncoder": "av_aac"
    },
    "Destination": {
        "AlignAVStart": true,
        "ChapterList": [
            {
                "Duration": {
                    "Hours": 0,
                    "Minutes": 1,
                    "Seconds": 15,
                    "Ticks": 6791040
                },
                "Name": ""
            }
        ],
        "ChapterMarkers": false,
        "File": "/opt/arm/DolbyTest.mkv",
        "InlineParameterSets": false,
        "Mux": "mkv",
        "Options": {
            "IpodAtom": false,
            "Optimize": false
        }
    },
    "Filters": {
        "FilterList": [
            {
                "ID": 4,
                "Settings": {
                    "block-height": "16",
                    "block-thresh": "40",
                    "block-width": "16",
                    "filter-mode": "2",
                    "mode": "3",
                    "motion-thresh": "1",
                    "spatial-metric": "2",
                    "spatial-thresh": "1"
                }
            },
            {
                "ID": 6,
                "Settings": {
                    "mode": "7"
                }
            },
            {
                "ID": 11,
                "Settings": {
                    "mode": 2,
                    "rate": "27000000/450000"
                }
            },
            {
                "ID": 20,
                "Settings": {
                    "crop-bottom": 0,
                    "crop-left": 0,
                    "crop-right": 0,
                    "crop-top": 0,
                    "height": 2160,
                    "width": 3840
                }
            }
        ]
    },
    "Metadata": {},
    "PAR": {
        "Den": 1,
        "Num": 1
    },
    "SequenceID": 0,
    "Source": {
        "Angle": 0,
        "HWDecode": 0,
        "Path": "/opt/arm/DVDemo.mkv",
        "Range": {
            "End": 1,
            "Start": 1,
            "Type": "chapter"
        },
        "Title": 1
    },
    "Subtitle": {
        "Search": {
            "Burn": true,
            "Default": false,
            "Enable": false,
            "Forced": false
        },
        "SubtitleList": []
    },
    "Video": {
        "ChromaLocation": 1,
        "ColorInputFormat": 0,
        "ColorMatrix": 1,
        "ColorOutputFormat": 0,
        "ColorPrimaries": 1,
        "ColorRange": 1,
        "ColorTransfer": 1,
        "DolbyVisionConfigurationRecord": {
            "BLPresentFlag": 1,
            "BLSignalCompatibilityId": 0,
            "DVLevel": 6,
            "DVProfile": 4,
            "DVVersionMajor": 1,
            "DVVersionMinor": 0,
            "ELPresentFlag": 1,
            "RPUPresentFlag": 1
        },
        "Encoder": "x265_10bit",
        "HardwareDecode": 0,
        "Level": "auto",
        "MultiPass": false,
        "Options": "strong-intra-smoothing=0:rect=0:aq-mode=1:rd=4:psy-rd=0.75:psy-rdoq=4.0:rdoq-level=1:rskip=2",
        "Preset": "faster",
        "Profile": "main10",
        "QSV": {
            "AdapterIndex": 0,
            "AsyncDepth": 0,
            "Decode": false
        },
        "Quality": 24.0,
        "Tune": "",
        "Turbo": false
    }
}
[05:23:38] Starting Task: Encoding Pass
[05:23:38] work: skipping crop/scale filter
[05:23:38] job configuration:
[05:23:38]  * source
[05:23:38]    + /opt/arm/DVDemo.mkv
[05:23:38]    + title 1, chapter(s) 1 to 1
[05:23:38]    + container: mpegts
[05:23:38]    + data rate: 32672 kbps
[05:23:38]  * destination
[05:23:38]    + /opt/arm/DolbyTest.mkv
[05:23:38]    + container: Matroska (libavformat)
[05:23:38]      + align initial A/V stream timestamps
[05:23:38]  * video track
[05:23:38]    + decoder: hevc 10-bit (yuv420p10le)
[05:23:38]    + filters
[05:23:38]      + Comb Detect (mode=3:spatial-metric=2:motion-thresh=1:spatial-thresh=1:filter-mode=2:block-thresh=40:block-width=16:block-height=16)
[05:23:38]      + Decomb (mode=39)
[05:23:38]      + Framerate Shaper (mode=2:rate=27000000/450000)
[05:23:38]        + frame rate: 23.976 fps -> peak rate limited to 60.000 fps
[05:23:38]    + Output geometry
[05:23:38]      + storage dimensions: 3840 x 2160
[05:23:38]      + pixel aspect ratio: 1 : 1
[05:23:38]      + display dimensions: 3840 x 2160
[05:23:38]    + encoder: H.265 10-bit (libx265)
[05:23:38]      + preset:  faster
[05:23:38]      + options: strong-intra-smoothing=0:rect=0:aq-mode=1:rd=4:psy-rd=0.75:psy-rdoq=4.0:rdoq-level=1:rskip=2
[05:23:38]      + profile: main10
[05:23:38]      + level:   auto
[05:23:38]      + quality: 24.00 (RF)
[05:23:38]      + color profile: 1-1-1
[05:23:38]      + color range: tv
[05:23:38]      + chroma location: left
[05:23:38]  * audio track 1
[05:23:38]    + decoder: Unknown (E-AC3, 5.1 ch, 768 kbps) (track 1, id 0x1)
[05:23:38]      + bitrate: 768 kbps, samplerate: 48000 Hz
[05:23:38]    + mixdown: Stereo
[05:23:38]    + encoder: AAC (libavcodec)
[05:23:38]      + bitrate: 160 kbps, samplerate: 48000 Hz
[05:23:38] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[05:23:38] hb_ts_stream_find_pids - end of file
[05:23:38] sync: expecting 1809 video frames
x265 [info]: HEVC encoder version 3.6+1-aa7f602f7
x265 [info]: build info [Linux][GCC 11.4.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main 10 profile, Level-5 (Main tier)
x265 [info]: Thread pool created using 24 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 4 / wpp(34 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 / bias  : 24 / 240 / 40 / 5.00 
x265 [info]: Lookahead / bframes / badapt        : 15 / 4 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 2 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-24.0 / 0.60
x265 [info]: tools: rd=4 psy-rd=0.75 rdoq=1 psy-rdoq=4.00 early-skip
x265 [info]: tools: rskip mode=2 rskip-edge-threshold=0.05 signhide tmvp
x265 [info]: tools: fast-intra lslices=8 deblock sao
[05:23:40] sync: first pts video is 0
[05:23:40] sync: first pts audio 0x1 is 0
[05:23:40] sync: Chapter 1 at frame 23 time 85369
[05:25:56] reader: done. 1 scr changes
[05:26:06] work: average encoding speed for job is 12.685004 fps
[05:26:06] comb detect: heavy 0 | light 0 | uncombed 1809 | total 1809
[05:26:06] decomb: deinterlaced 0 | blended 0 | unfiltered 1809 | total 1809
[05:26:06] vfr: 1809 frames output, 0 dropped and 0 duped for CFR/PFR
[05:26:06] vfr: lost time: 0 (0 frames)
[05:26:06] vfr: gained time: 0 (0 frames) (0 not accounted for)
[05:26:06] eac3-decoder done: 2359 frames, 0 decoder errors
[05:26:06] hevc-decoder done: 1787 frames, 0 decoder errors
[05:26:06] sync: got 1809 frames, 1809 expected
[05:26:06] sync: framerate min 13.760 fps, max 23.976 fps, avg 23.966 fps
x265 [info]: frame I:     15, Avg QP:22.08  kb/s: 37331.40
x265 [info]: frame P:    364, Avg QP:25.49  kb/s: 13110.20
x265 [info]: frame B:   1430, Avg QP:30.46  kb/s: 2390.57 
x265 [info]: Weighted P-Frames: Y:7.4% UV:6.3%

encoded 1809 frames in 148.32s (12.20 fps), 4837.26 kb/s, Avg QP:29.39
[05:26:06] mux: track 0, 1809 frames, 45628836 bytes, 4832.68 kbps, fifo 1024
[05:26:06] mux: track 1, 3539 frames, 1581887 bytes, 167.54 kbps, fifo 2048
[05:26:06] Finished work at: Sat Nov 23 05:26:06 2024

[05:26:06] libhb: work result = 0

Encode done!
HandBrake has exited.

@microtechno9000
Copy link
Collaborator

https://github.com/Church13/arm-dependencies-libdovi/actions/runs/11984526487

Here's the build log from the PR merge on my fork. Ended up doing a refactor and putting everything in the install_handbrake.sh file, as installing the rust and cargoc build dependencies in the install_mkv_hb_deps.sh ended up retaining ~1.6 extra GB of unneeded rust libs/build tools in that container layer. You should also be able to approve the workflow for this PR which will allow you to double-blind verify the build prior to merge.

Since I had to go back and forth with changes in these commits I'd recommend a squashed merge to flatten it down in the git history.

And here's a log of the container successfully running HandBrakeCLI in the built image on a file with Dolby Vision!

[05:23:30] Compile-time hardening features are enabled
Cannot load libnvidia-encode.so.1
[05:23:30] vcn: not available on this system
[05:23:30] qsv: not available on this system
[05:23:30] hb_init: starting libhb thread
[05:23:30] thread 7f8597aa4640 started ("libhb")
HandBrake 1.8.2 (2024112300) - Linux x86_64 - https://handbrake.fr
24 CPUs detected
Opening /opt/arm/DVDemo.mkv...
[05:23:30] CPU: Intel(R) Xeon(R) CPU E5-2697 v4 @ 2.30GHz
[05:23:30]  - Intel microarchitecture Broadwell
[05:23:30]  - logical processor count: 24
[05:23:30] Intel Quick Sync Video support: no
[05:23:30] hb_scan: path=/opt/arm/DVDemo.mkv, title_index=1
[05:23:30] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[05:23:30] hb_ts_stream_find_pids - end of file
Input #0, mpegts, from '/opt/arm/DVDemo.mkv':
  Duration: 00:01:15.46, start: 3.944678, bitrate: 32672 kb/s
  Program 2 
  Stream #0:0[0x21]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn
      Side data:
        DOVI configuration record: version: 1.0, profile: 4, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 0
  Stream #0:1[0x23]: Audio: eac3 (EAC3 / 0x33434145), 48000 Hz, 5.1(side), fltp, 768 kb/s
[05:23:30] scan: decoding previews for title 1
[05:23:30] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[05:23:30] hb_ts_stream_find_pids - end of file
[05:23:30] scan: audio 0x1: eac3, rate=48000Hz, bitrate=768000 Unknown (E-AC3, 5.1 ch, 768 kbps)
Scanning title 1 of 1, preview 10, 100.00 %[05:23:38] using bitstream PAR 1:1
[05:23:38] scan: 10 previews, 3840x2160, 23.976 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1, color profile: 1-1-1, chroma location: left
[05:23:38] scan: dolby vision configuration record: version: 1.0, profile: 4, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 0
[05:23:38] libhb: scan thread found 1 valid title(s)
+ Using preset: Fast 2160p60 4K HEVC
+ title 1:
  + stream: /opt/arm/DVDemo.mkv
  + duration: 00:01:15
  + size: 3840x2160, pixel aspect: 1/1, display aspect: 1.78, 23.976 fps
  + autocrop: 0/0/0/0
  + chapters:
    + 1: duration 00:01:15
  + audio tracks:
    + 1, Unknown (E-AC3, 5.1 ch, 768 kbps) (iso639-2: und)
  + subtitle tracks:
[05:23:38] Starting work at: Sat Nov 23 05:23:38 2024

[05:23:38] 1 job(s) to process
[05:23:38] json job:
{
    "Audio": {
        "AudioList": [
            {
                "Bitrate": 160,
                "CompressionLevel": -1.0,
                "DRC": 0.0,
                "DitherMethod": "auto",
                "Encoder": "av_aac",
                "Gain": 0.0,
                "Mixdown": "stereo",
                "NormalizeMixLevel": false,
                "PresetEncoder": "av_aac",
                "Quality": -3.0,
                "Samplerate": 0,
                "Track": 0
            }
        ],
        "CopyMask": [
            "copy:aac"
        ],
        "FallbackEncoder": "av_aac"
    },
    "Destination": {
        "AlignAVStart": true,
        "ChapterList": [
            {
                "Duration": {
                    "Hours": 0,
                    "Minutes": 1,
                    "Seconds": 15,
                    "Ticks": 6791040
                },
                "Name": ""
            }
        ],
        "ChapterMarkers": false,
        "File": "/opt/arm/DolbyTest.mkv",
        "InlineParameterSets": false,
        "Mux": "mkv",
        "Options": {
            "IpodAtom": false,
            "Optimize": false
        }
    },
    "Filters": {
        "FilterList": [
            {
                "ID": 4,
                "Settings": {
                    "block-height": "16",
                    "block-thresh": "40",
                    "block-width": "16",
                    "filter-mode": "2",
                    "mode": "3",
                    "motion-thresh": "1",
                    "spatial-metric": "2",
                    "spatial-thresh": "1"
                }
            },
            {
                "ID": 6,
                "Settings": {
                    "mode": "7"
                }
            },
            {
                "ID": 11,
                "Settings": {
                    "mode": 2,
                    "rate": "27000000/450000"
                }
            },
            {
                "ID": 20,
                "Settings": {
                    "crop-bottom": 0,
                    "crop-left": 0,
                    "crop-right": 0,
                    "crop-top": 0,
                    "height": 2160,
                    "width": 3840
                }
            }
        ]
    },
    "Metadata": {},
    "PAR": {
        "Den": 1,
        "Num": 1
    },
    "SequenceID": 0,
    "Source": {
        "Angle": 0,
        "HWDecode": 0,
        "Path": "/opt/arm/DVDemo.mkv",
        "Range": {
            "End": 1,
            "Start": 1,
            "Type": "chapter"
        },
        "Title": 1
    },
    "Subtitle": {
        "Search": {
            "Burn": true,
            "Default": false,
            "Enable": false,
            "Forced": false
        },
        "SubtitleList": []
    },
    "Video": {
        "ChromaLocation": 1,
        "ColorInputFormat": 0,
        "ColorMatrix": 1,
        "ColorOutputFormat": 0,
        "ColorPrimaries": 1,
        "ColorRange": 1,
        "ColorTransfer": 1,
        "DolbyVisionConfigurationRecord": {
            "BLPresentFlag": 1,
            "BLSignalCompatibilityId": 0,
            "DVLevel": 6,
            "DVProfile": 4,
            "DVVersionMajor": 1,
            "DVVersionMinor": 0,
            "ELPresentFlag": 1,
            "RPUPresentFlag": 1
        },
        "Encoder": "x265_10bit",
        "HardwareDecode": 0,
        "Level": "auto",
        "MultiPass": false,
        "Options": "strong-intra-smoothing=0:rect=0:aq-mode=1:rd=4:psy-rd=0.75:psy-rdoq=4.0:rdoq-level=1:rskip=2",
        "Preset": "faster",
        "Profile": "main10",
        "QSV": {
            "AdapterIndex": 0,
            "AsyncDepth": 0,
            "Decode": false
        },
        "Quality": 24.0,
        "Tune": "",
        "Turbo": false
    }
}
[05:23:38] Starting Task: Encoding Pass
[05:23:38] work: skipping crop/scale filter
[05:23:38] job configuration:
[05:23:38]  * source
[05:23:38]    + /opt/arm/DVDemo.mkv
[05:23:38]    + title 1, chapter(s) 1 to 1
[05:23:38]    + container: mpegts
[05:23:38]    + data rate: 32672 kbps
[05:23:38]  * destination
[05:23:38]    + /opt/arm/DolbyTest.mkv
[05:23:38]    + container: Matroska (libavformat)
[05:23:38]      + align initial A/V stream timestamps
[05:23:38]  * video track
[05:23:38]    + decoder: hevc 10-bit (yuv420p10le)
[05:23:38]    + filters
[05:23:38]      + Comb Detect (mode=3:spatial-metric=2:motion-thresh=1:spatial-thresh=1:filter-mode=2:block-thresh=40:block-width=16:block-height=16)
[05:23:38]      + Decomb (mode=39)
[05:23:38]      + Framerate Shaper (mode=2:rate=27000000/450000)
[05:23:38]        + frame rate: 23.976 fps -> peak rate limited to 60.000 fps
[05:23:38]    + Output geometry
[05:23:38]      + storage dimensions: 3840 x 2160
[05:23:38]      + pixel aspect ratio: 1 : 1
[05:23:38]      + display dimensions: 3840 x 2160
[05:23:38]    + encoder: H.265 10-bit (libx265)
[05:23:38]      + preset:  faster
[05:23:38]      + options: strong-intra-smoothing=0:rect=0:aq-mode=1:rd=4:psy-rd=0.75:psy-rdoq=4.0:rdoq-level=1:rskip=2
[05:23:38]      + profile: main10
[05:23:38]      + level:   auto
[05:23:38]      + quality: 24.00 (RF)
[05:23:38]      + color profile: 1-1-1
[05:23:38]      + color range: tv
[05:23:38]      + chroma location: left
[05:23:38]  * audio track 1
[05:23:38]    + decoder: Unknown (E-AC3, 5.1 ch, 768 kbps) (track 1, id 0x1)
[05:23:38]      + bitrate: 768 kbps, samplerate: 48000 Hz
[05:23:38]    + mixdown: Stereo
[05:23:38]    + encoder: AAC (libavcodec)
[05:23:38]      + bitrate: 160 kbps, samplerate: 48000 Hz
[05:23:38] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[05:23:38] hb_ts_stream_find_pids - end of file
[05:23:38] sync: expecting 1809 video frames
x265 [info]: HEVC encoder version 3.6+1-aa7f602f7
x265 [info]: build info [Linux][GCC 11.4.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main 10 profile, Level-5 (Main tier)
x265 [info]: Thread pool created using 24 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 4 / wpp(34 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 / bias  : 24 / 240 / 40 / 5.00 
x265 [info]: Lookahead / bframes / badapt        : 15 / 4 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 2 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-24.0 / 0.60
x265 [info]: tools: rd=4 psy-rd=0.75 rdoq=1 psy-rdoq=4.00 early-skip
x265 [info]: tools: rskip mode=2 rskip-edge-threshold=0.05 signhide tmvp
x265 [info]: tools: fast-intra lslices=8 deblock sao
[05:23:40] sync: first pts video is 0
[05:23:40] sync: first pts audio 0x1 is 0
[05:23:40] sync: Chapter 1 at frame 23 time 85369
[05:25:56] reader: done. 1 scr changes
[05:26:06] work: average encoding speed for job is 12.685004 fps
[05:26:06] comb detect: heavy 0 | light 0 | uncombed 1809 | total 1809
[05:26:06] decomb: deinterlaced 0 | blended 0 | unfiltered 1809 | total 1809
[05:26:06] vfr: 1809 frames output, 0 dropped and 0 duped for CFR/PFR
[05:26:06] vfr: lost time: 0 (0 frames)
[05:26:06] vfr: gained time: 0 (0 frames) (0 not accounted for)
[05:26:06] eac3-decoder done: 2359 frames, 0 decoder errors
[05:26:06] hevc-decoder done: 1787 frames, 0 decoder errors
[05:26:06] sync: got 1809 frames, 1809 expected
[05:26:06] sync: framerate min 13.760 fps, max 23.976 fps, avg 23.966 fps
x265 [info]: frame I:     15, Avg QP:22.08  kb/s: 37331.40
x265 [info]: frame P:    364, Avg QP:25.49  kb/s: 13110.20
x265 [info]: frame B:   1430, Avg QP:30.46  kb/s: 2390.57 
x265 [info]: Weighted P-Frames: Y:7.4% UV:6.3%

encoded 1809 frames in 148.32s (12.20 fps), 4837.26 kb/s, Avg QP:29.39
[05:26:06] mux: track 0, 1809 frames, 45628836 bytes, 4832.68 kbps, fifo 1024
[05:26:06] mux: track 1, 3539 frames, 1581887 bytes, 167.54 kbps, fifo 2048
[05:26:06] Finished work at: Sat Nov 23 05:26:06 2024

[05:26:06] libhb: work result = 0

Encode done!
HandBrake has exited.

Thanks for linking to your fork and logs

Didn't want to run the job if it hadn't passed on your machine or fork.

What size is the dependencies image now?

@microtechno9000
Copy link
Collaborator

Will merge this branch once the Docker Job passes

@Church13
Copy link
Contributor Author

It's now back to 2.62GB, same as the 1.2.0 version! Was up to 4.2GB before I caught that rustup hadn't been fully cleaned up.

@microtechno9000 microtechno9000 merged commit 30e213f into automatic-ripping-machine:main Nov 23, 2024
1 check passed
@Church13 Church13 deleted the build-libdovi branch December 1, 2024 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants