From 16cc03076330b23a0e8744ea125db61a5a2bd2e8 Mon Sep 17 00:00:00 2001 From: John Stebbins Date: Fri, 2 Jun 2017 08:51:21 -0700 Subject: sync: work-around players with broken edit list support This adds a preset key AlignAVStart that enables this work-around. When enabled, blank frames are inserted or frames are dropped to force alignment of the initial timestamp of every audio and video stream. Aligning the start times minimizes the impact of broken edit list support in players. Closes #763. Squashed: sync: improve alignment when passthru audio is present presets: enable AlignAVStart for General and Gmail presets LinGui: Improve AlignAVStart tooltip sync: avoid inserting a black frame < nominal frame duration sync: fix start alignment when doing p-to-p encoding sync: add comments --- libhb/preset_builtin.h | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'libhb/preset_builtin.h') diff --git a/libhb/preset_builtin.h b/libhb/preset_builtin.h index 594c67b18..e0939502f 100644 --- a/libhb/preset_builtin.h +++ b/libhb/preset_builtin.h @@ -4,6 +4,7 @@ const char hb_builtin_presets_json[] = " {\n" " \"ChildrenArray\": [\n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -104,6 +105,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -204,6 +206,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -304,6 +307,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -404,6 +408,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -504,6 +509,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -604,6 +610,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -704,6 +711,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -804,6 +812,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -918,6 +927,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1032,6 +1042,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1146,6 +1157,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1260,6 +1272,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1374,6 +1387,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1488,6 +1502,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1602,6 +1617,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -1723,6 +1739,7 @@ const char hb_builtin_presets_json[] = " {\n" " \"ChildrenArray\": [\n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -1823,6 +1840,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -1923,6 +1941,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -3528,6 +3547,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\", \n" @@ -3645,6 +3665,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\", \n" @@ -3762,6 +3783,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -3876,6 +3898,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\"\n" @@ -3990,6 +4013,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -4090,6 +4114,7 @@ const char hb_builtin_presets_json[] = " \"x264UseAdvancedOptions\": false\n" " }, \n" " {\n" +" \"AlignAVStart\": true, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\"\n" " ], \n" @@ -7277,6 +7302,7 @@ const char hb_builtin_presets_json[] = " ], \n" " \"PresetTemplate\": {\n" " \"Preset\": {\n" +" \"AlignAVStart\": false, \n" " \"AudioCopyMask\": [\n" " \"copy:aac\", \n" " \"copy:ac3\", \n" @@ -7385,7 +7411,7 @@ const char hb_builtin_presets_json[] = " \"x264Option\": \"\", \n" " \"x264UseAdvancedOptions\": false\n" " }, \n" -" \"VersionMajor\": 26, \n" +" \"VersionMajor\": 27, \n" " \"VersionMicro\": 0, \n" " \"VersionMinor\": 0\n" " }\n" -- cgit v1.2.3