Projects
home:enzokiel
avidemux3
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 7
View file
avidemux3.changes
Changed
@@ -1,5 +1,5 @@ ------------------------------------------------------------------- -Tue Apr 07 13:45:31 UTC 2026 - enzokiel@kabelmail.de +Wed Apr 08 09:11:41 UTC 2026 - enzokiel@kabelmail.de - Update to version 2.8.2.git20260407 - No changelog available
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux/qt4/ADM_commonUI/DIA_prefs.cpp
Changed
@@ -15,6 +15,7 @@ #include "ADM_default.h" #include "config.h" #include "prefs.h" +#include "ADM_Video.h" #include "ADM_pp.h" #include "ADM_qtx.h" @@ -45,6 +46,9 @@ #define HW_ACCELERATED_DECODING #endif +static uint32_t idxSettingsToFlags(uint32_t set, uint32_t off); +static uint32_t flagsToIdxSettings(uint32_t flag, uint32_t off); + uint8_t DIA_Preferences(void); #define NOT_WAYLAND(call, var) \ bool var; \ @@ -201,6 +205,24 @@ } ADM_info("Avisynth port: %d\n", defaultPortAvisynth); + // Indexing +//#define INDEXING_PREFS_VERBOSE + uint32_t indexingFlags = ADM_IDX_FLAGS_DEFAULT; + if (!prefs->get(INDEXING_INDEXING_FLAGS, &indexingFlags)) + { + indexingFlags = ADM_IDX_FLAGS_DEFAULT; + } +#if 0 + uint32_t idxPsFiles = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MPEGPS); + uint32_t idxTsFiles = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MPEGTS); +#endif + uint32_t idxMkvFiles = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MATROSKA); + uint32_t idxMp4Files = flagsToIdxSettings(indexingFlags, ADM_IDX_FLAGS_OFFSET_MP4); +#ifdef INDEXING_PREFS_VERBOSE + ADM_info("Indexing flags: %" PRIu32" -> MPEG-PS: %" PRIu32" MPEG-TS: %" PRIu32" Matroska: %" PRIu32" MP4: %" PRIu32"\n", + indexingFlags, idxPsFiles, idxTsFiles, idxMkvFiles, idxMp4Files); +#endif + // HDR if (!prefs->get(HDR_TONEMAPPING, &toneMappingHDR)) toneMappingHDR = 1; @@ -465,6 +487,30 @@ frameAvisynth.swallow(&togAskAvisynthPort); frameAvisynth.swallow(&uintDefaultPortAvisynth); + // Indexing + diaElemFrame frameIndexing(QT_TRANSLATE_NOOP("adm","Writing index to disk")); +#define IDX_FORCE_MEM 0 +#define IDX_USE_SAVED 1 +#define IDX_WRITE_TO_DISK 2 + diaMenuEntry indexingEntries = { + {IDX_FORCE_MEM, QT_TRANSLATE_NOOP("adm","Disabled"), NULL }, + {IDX_USE_SAVED, QT_TRANSLATE_NOOP("adm","Read-only"), NULL }, + {IDX_WRITE_TO_DISK, QT_TRANSLATE_NOOP("adm","Enabled"), NULL } + }; +#if 0 + diaElemMenu menuIndexingPs(&idxPsFiles, QT_TRANSLATE_NOOP("adm","MPEG-PS files:"), NB_ITEMS(indexingEntries), indexingEntries); + diaElemMenu menuIndexingTs(&idxTsFiles, QT_TRANSLATE_NOOP("adm","MPEG-TS files:"), NB_ITEMS(indexingEntries), indexingEntries); +#endif + diaElemMenu menuIndexingMkv(&idxMkvFiles, QT_TRANSLATE_NOOP("adm","Matroska files:"), NB_ITEMS(indexingEntries), indexingEntries); + diaElemMenu menuIndexingMp4(&idxMp4Files, QT_TRANSLATE_NOOP("adm","MP4 files:"), NB_ITEMS(indexingEntries), indexingEntries); + +#if 0 + frameIndexing.swallow(&menuIndexingPs); + frameIndexing.swallow(&menuIndexingTs); +#endif + frameIndexing.swallow(&menuIndexingMkv); + frameIndexing.swallow(&menuIndexingMp4); + // Editor cache diaElemFrame frameCache(QT_TRANSLATE_NOOP("adm", "Caching of decoded pictures")); diaElemUInteger cacheSize(&editor_cache_size, QT_TRANSLATE_NOOP("adm", "_Cache size:"), 8, 16); @@ -609,7 +655,7 @@ /* Automation */ /* Import */ - diaElem *diaImport = {&frameMultiLoad, &framePics, &frameAvisynth}; + diaElem *diaImport = {&frameMultiLoad, &framePics, &frameAvisynth, &frameIndexing}; diaElemTabs tabImport(QT_TRANSLATE_NOOP("adm", "Import"), NB_ELEM(diaImport), diaImport); /* Output */ @@ -955,6 +1001,19 @@ prefs->set(AVISYNTH_AVISYNTH_DEFAULTPORT, defaultPortAvisynth); prefs->set(AVISYNTH_AVISYNTH_ALWAYS_ASK, askPortAvisynth); + // Indexing + indexingFlags = 0; +#if 0 + indexingFlags += idxSettingsToFlags(idxPsFiles, ADM_IDX_FLAGS_OFFSET_MPEGPS); + indexingFlags += idxSettingsToFlags(idxTsFiles, ADM_IDX_FLAGS_OFFSET_MPEGTS); +#endif + indexingFlags += idxSettingsToFlags(idxMkvFiles, ADM_IDX_FLAGS_OFFSET_MATROSKA); + indexingFlags += idxSettingsToFlags(idxMp4Files, ADM_IDX_FLAGS_OFFSET_MP4); +#ifdef INDEXING_PREFS_VERBOSE + ADM_info("Setting indexing flags to %" PRIu32"\n", indexingFlags); +#endif + prefs->set(INDEXING_INDEXING_FLAGS, indexingFlags); + // HDR prefs->set(HDR_TONEMAPPING, toneMappingHDR); targetLumHDR = dTargetLumHDR; @@ -1000,4 +1059,52 @@ return dialogAccepted; } +// Indexing helper funcs +uint32_t idxSettingsToFlags(uint32_t val, uint32_t off) +{ + uint32_t flags = 0; + switch (off) + { + case ADM_IDX_FLAGS_OFFSET_MPEGPS: + case ADM_IDX_FLAGS_OFFSET_MPEGTS: + case ADM_IDX_FLAGS_OFFSET_MATROSKA: + case ADM_IDX_FLAGS_OFFSET_MP4: + break; + default: + return flags; + } + switch (val) + { + case IDX_FORCE_MEM: + flags |= ADM_IDX_FLAG_IGNORE_INDEX_FILE << off; + break; + case IDX_WRITE_TO_DISK: + flags |= ADM_IDX_FLAG_WRITE_INDEX_FILE << off; + case IDX_USE_SAVED: + default: + break; + } + return flags; +} + +uint32_t flagsToIdxSettings(uint32_t flags, uint32_t off) +{ + switch (off) + { + case ADM_IDX_FLAGS_OFFSET_MPEGPS: + case ADM_IDX_FLAGS_OFFSET_MPEGTS: + case ADM_IDX_FLAGS_OFFSET_MATROSKA: + case ADM_IDX_FLAGS_OFFSET_MP4: + break; + default: + return IDX_WRITE_TO_DISK; + } + flags >>= off; + if (flags & ADM_IDX_FLAG_WRITE_INDEX_FILE) + return IDX_WRITE_TO_DISK; + if (flags & ADM_IDX_FLAG_IGNORE_INDEX_FILE) + return IDX_FORCE_MEM; + + return IDX_USE_SAVED; +} // EOF
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreDemuxer/include/ADM_Video.h
Changed
@@ -38,6 +38,20 @@ #define ADM_COL_FLAG_MATRIX_COEFF_SET (1<<3) #define ADM_COL_FLAG_HDR_INFO_SET (1<<4) +#define ADM_IDX_FLAG_WRITE_INDEX_FILE 1 +#define ADM_IDX_FLAG_IGNORE_INDEX_FILE (1<<1) + +#define ADM_IDX_FLAGS_OFFSET_MPEGPS 0 +#define ADM_IDX_FLAGS_OFFSET_MPEGTS 4 +#define ADM_IDX_FLAGS_OFFSET_MATROSKA 8 +#define ADM_IDX_FLAGS_OFFSET_MP4 12 + +#define ADM_IDX_FLAGS_DEFAULT \ +((ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MPEGPS) + \ + (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MPEGTS) + \ + (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MATROSKA) + \ + (ADM_IDX_FLAG_WRITE_INDEX_FILE << ADM_IDX_FLAGS_OFFSET_MP4)) + typedef struct { uint32_t encoding; // Same as in wavheader
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreUtils/include/prefs2_list.h
Changed
@@ -73,3 +73,4 @@ HDR_TONEMAPPING, //uint32_t HDR_TARGET_LUMINANCE, //float HDR_OUT_OF_GAMUT_HANDLING, //uint32_t +INDEXING_INDEXING_FLAGS, //uint32_t
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreUtils/src/prefs2.conf
Changed
@@ -126,5 +126,9 @@ uint32_t:out_of_gamut_handling, 0, 0, 99 } # +indexing{ +uint32_t:indexing_flags, 0, 0, 4294967295 +} +# } #
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreUtils/src/prefs2.h
Changed
@@ -101,4 +101,7 @@ float target_luminance; uint32_t out_of_gamut_handling; }hdr; +struct { + uint32_t indexing_flags; +}indexing; }my_prefs_struct;
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreUtils/src/prefs2_desc.cpp
Changed
@@ -75,5 +75,6 @@ {"hdr.tonemapping",offsetof(my_prefs_struct,hdr.tonemapping),"uint32_t",ADM_param_uint32_t}, {"hdr.target_luminance",offsetof(my_prefs_struct,hdr.target_luminance),"float",ADM_param_float}, {"hdr.out_of_gamut_handling",offsetof(my_prefs_struct,hdr.out_of_gamut_handling),"uint32_t",ADM_param_uint32_t}, + {"indexing.indexing_flags",offsetof(my_prefs_struct,indexing.indexing_flags),"uint32_t",ADM_param_uint32_t}, {NULL,0,NULL} };
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreUtils/src/prefs2_json.cpp
Changed
@@ -104,6 +104,9 @@ json.addFloat("target_luminance",key->hdr.target_luminance); json.addUint32("out_of_gamut_handling",key->hdr.out_of_gamut_handling); json.endNode(); +json.addNode("indexing"); +json.addUint32("indexing_flags",key->indexing.indexing_flags); +json.endNode(); return json.dumpToFile(file); }; bool my_prefs_struct_jdeserialize(const char *file, const ADM_paramList *tmpl,my_prefs_struct *key){
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
Changed
@@ -86,5 +86,6 @@ { HDR_TONEMAPPING,"hdr.tonemapping" ,ADM_param_uint32_t ,"1", 0, 99}, { HDR_TARGET_LUMINANCE,"hdr.target_luminance" ,ADM_param_float ,"100.0", 0.0, 1000.0}, { HDR_OUT_OF_GAMUT_HANDLING,"hdr.out_of_gamut_handling" ,ADM_param_uint32_t ,"0", 0, 99}, +{ INDEXING_INDEXING_FLAGS,"indexing.indexing_flags" ,ADM_param_uint32_t ,"0", 0, 4294967295}, };
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp
Changed
@@ -26,6 +26,8 @@ #include "ADM_videoInfoExtractor.h" #include "ADM_vidMisc.h" #include "ADM_metaToFile.h" +#include "prefs.h" + #define VIDEO _tracks0 #if 0 @@ -763,15 +765,32 @@ uint64_t pos; uint8_t res=1; bool indexOnDisk = true; - bool indexAllowOverwrite = false; + bool indexAllowOverwrite = true; + bool memOnly = false; + + uint32_t indexingFlags = 0; + if (prefs->get(INDEXING_INDEXING_FLAGS, &indexingFlags)) + { + indexingFlags >>= ADM_IDX_FLAGS_OFFSET_MATROSKA; + if (!(indexingFlags & ADM_IDX_FLAG_WRITE_INDEX_FILE)) + { + indexOnDisk = false; + } + if (indexingFlags & ADM_IDX_FLAG_IGNORE_INDEX_FILE) + { + indexOnDisk = false; + memOnly = true; + ADM_info("Mem-only indexing.\n"); + } + } if (NULL != getenv("ADM_NOINDEX_MKV") && !strncmp(getenv("ADM_NOINDEX_MKV"), "1", 1)) indexOnDisk = false; - if (indexOnDisk) + if (!memOnly) { - if (NULL != getenv("ADM_MKV_INDEX_ALLOW_OVERWRITE") && !strncmp(getenv("ADM_MKV_INDEX_ALLOW_OVERWRITE"), "1", 1)) - indexAllowOverwrite = true; + if (NULL != getenv("ADM_MKV_INDEX_ALLOW_OVERWRITE") && !strncmp(getenv("ADM_MKV_INDEX_ALLOW_OVERWRITE"), "0", 1)) + indexAllowOverwrite = false; if (loadIndex(_idxName, parser->getFileSize())) { printf("MKV Video track indexing loaded from \"%s\"\n", _idxName.c_str());
View file
avidemux2-2.8.2.git20260407.tar.xz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp
Changed
@@ -74,6 +74,8 @@ #include "ADM_dcainfo.h" #include "ADM_audioXiphUtils.h" +#include "prefs.h" + #if 1 #define aprintf(...) {} #else @@ -383,15 +385,32 @@ _idxName = name; _idxName += ".idxb"; bool indexOnDisk = true; - bool indexAllowOverwrite = false; + bool indexAllowOverwrite = true; + bool memOnly = false; + + uint32_t indexingFlags = 0; + if (prefs->get(INDEXING_INDEXING_FLAGS, &indexingFlags)) + { + indexingFlags >>= ADM_IDX_FLAGS_OFFSET_MP4; + if (!(indexingFlags & ADM_IDX_FLAG_WRITE_INDEX_FILE)) + { + indexOnDisk = false; + } + if (indexingFlags & ADM_IDX_FLAG_IGNORE_INDEX_FILE) + { + indexOnDisk = false; + memOnly = true; + ADM_info("Mem-only indexing.\n"); + } + } if (NULL != getenv("ADM_NOINDEX_MP4") && !strncmp(getenv("ADM_NOINDEX_MP4"), "1", 1)) indexOnDisk = false; if (indexOnDisk) { - if (NULL != getenv("ADM_MP4_INDEX_ALLOW_OVERWRITE") && !strncmp(getenv("ADM_MP4_INDEX_ALLOW_OVERWRITE"), "1", 1)) - indexAllowOverwrite = true; + if (NULL != getenv("ADM_MP4_INDEX_ALLOW_OVERWRITE") && !strncmp(getenv("ADM_MP4_INDEX_ALLOW_OVERWRITE"), "0", 1)) + indexAllowOverwrite = false; } #define CLR(x) memset(& x,0,sizeof( x)); @@ -524,7 +543,7 @@ if(extractSPSInfo_mp4Header(VDEO.extraData,VDEO.extraDataSize,&info)) { bool indexLoadedFromDisk = false; - if (indexOnDisk) + if (!memOnly) { if (loadIndex(_idxName, fileSize)) { @@ -670,7 +689,7 @@ _video_bih.biHeight = _mainaviheader.dwHeight = info.height; } bool indexLoadedFromDisk = false; - if (indexOnDisk) + if (!memOnly) { if (loadIndex(_idxName, fileSize)) {
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.