Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: wxEDID | Distribution: openSUSE Tumbleweed |
Version: 0.0.31 | Vendor: openSUSE |
Release: 1.1 | Build date: Sun Mar 17 18:49:08 2024 |
Group: Hardware/Other | Build host: reproducible |
Size: 450079 | Source RPM: wxEDID-0.0.31-1.1.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://sourceforge.net/projects/wxedid/ | |
Summary: Extended Display Identification Data editor |
wxEDID is a wxWidgets - based EDID (Extended Display Identification Data) editor. This is an early stage of development, allowing to modify the base EDID v1.3+ structure and CEA-861 (as first extension block). Besides normal editor functionality, the app has been equipped with a DTD constructor, which aims to ease timings selection/editing. It's also possible to export and import EDID data to/from text files (hex ASCII format) and also to save the structures as a human-readable text.
GPL-3.0-only
* Sun Mar 17 2024 Mia Herkt <mia@0x0.st> - Update to v0.0.31 Fixed: * (BUG) wxEDID_Frame::evt_ntbook_page() was invoked during frame construction with uninitialized wxEDID_Frame::flags & wxEDID_Frame::edigrp_sel, what could lead to a segfault. * Tue Jan 09 2024 Mia Herkt <mia@0x0.st> - Update to v0.0.30 Added: * Support for Dark Mode in Block Data grid. NOTE: wxGrid does not fully support dynamic theme switching in wxWidgets v3.2.x, so the application has to be restarted to use new theme. Fixed: * DTD panel: fixed alignment of "X11 mode line". * Option "Assemble EDID" now updates also the CHD::DTD_offset field in Block Data grid. NOTE: The value is computed by EDID_cl::CEA_Set_DTD_Offset(). * wxEDID_Frame::AssembleEDID_main(): the EDID.BASE.BED could be refreshed twice if the CEA extension is not present. * Auto-select the BED block also after "Reparse EDID buffer" is executed: wxEDID_Frame::Reparse()->AutoSelectBED() * mrl_cl::fields: misleading field description: GTF J, GTF C: "xxx value, multiplied by 2: 0...255 -> 0...127.5" changed to: "xxx value, multiplied by 2: 0...127.5 -> 0...255" * MRL::resvd field should have the EF_HEX flag. * BED: fields ProdYr and ProdWk should not have the EF_BND flag set. * BED: ProdWk: added information that week==0 means that the field is not used. Changed: * EF_NI "NI" flag is no longer displayed in BlockData::"Flags" column. * rcode v3.0: structure changed: RCD_UNIT_MAX=65535, RCD_LINE_MAX=16383 * Tue May 23 2023 Mia Herkt <mia@0x0.st> - Update to v0.0.29 Changed: * BED: dynamic name: displays only MFC and product ID (removed prod. year and week) * VDB::SVD: append "[Native]" if native resolution flag is set. Fixed: * (BUG::regression) EDID_cl::getVidDesc(): missing space between aspect ratio and screen resolution: incorrect SVD description in text output mode (Save_As_Text). * Using global strings where possible: cheaper, faster. xxx::getGrpName() -> global EDID_cl::gp_name wxEDID_Frame::SaveRep_SubGrps(), WriteField(), GetFullGroupName() -> wxEDID_Frame::sval EDID_cl::getStrUint() -> EDID_cl::tmps2 * Sun May 21 2023 Mia Herkt <mia@0x0.st> - Update to v0.0.28 Changed: * Change: Default colors for all controls: allows to work with different window themes: wxWidgets 3.0.x: not working for wxAUI windows, wxTreeCtrl and wxGrid wxWidgets 3.2.x: not working for wxGrid Added: * Automatic selection of BED block after the EDID file is loaded/imported. * BDD: display image size as dynamic block name. * BED: display MFC code, year, week, prod ID as dynamic block name. * DTD and VDB::SVD: use screen resolution as dynamic block name. * MND: display monitor name as dynamic block name. * STI: use screen resolution as dynamic block name or set "not used" if both bytes are 0x1. * VID: display input type as dynamic block name. * config option: blk_dynamic_names. * edi_grp_cl::getGrpName(): support for dynamic block names. Fixed: * DTD panel: sct_pixclk control: value range should be 0..65535 (655.35MHz), not 0..655350 * DTD panel: sct_vsoffs, sct_vswidth controls: value range should be 0..63, not 0..1023 * Thu Sep 29 2022 Mia Herkt <mia@0x0.st> - Update to v0.0.27 Changed * ExportEDID_hex(): do not append wxEDID version and the source file name at the end of output file: this causes errors when the file needs to be imported back (unless ignoring errors is enabled). * VFPD: Video Format Preference Data Block is now root group for array of SVRs * CEA-EXT::VFPD:SVR: added vmap: CEA_vidm_map, same as for SVD: this allows to show meaning of SVR values when the EDID structure is saved as text. * wxEDID_Frame::OpenEDID(), ImportEDID_hex(): always try to Reparse() faulty EDID structure when "Ignore EDID errors" is enabled. wxEDID_Frame::Reparse() is now returning fault even when ignoring errors is enabled. Added * wxEDID_Frame::SaveRep_SubGrps(): decoding of VFPD:SVR values. Fixed * The checksum values showed in BLockData grid for EDID.BASE.BED or EDID.CEA.CHD were not refreshed after AssembleEDID/Save/Export. To refresh those cells, it was necessary to Reparse() the EDID buffer. Now the checksums are automatically updated in wxEDID_Frame::AssembleEDID_main(), invoked from wxEDID_Frame::SaveEDID(), ExportEDID_hex(), SaveReport() and evt_assemble_edid(). * (BUG::leak) wxEDID_Frame::ImportEDID_hex(): memory leak possible when the hex->bin conversion fails. * (BUG::wxWidgets3.x ::wxAUI) AUI managed panel gets refreshed even when it's invisible, what can cause horrible flickering during window resizing. wxEDID_Frame::evt_ntbook_page(): disable the EvtHandler in AUI Manager when the panel is invisible. * (BUG: Regression in v0.0.23) The functions EDID_cl::MfcId(), ProdSN(), ProdWk(), ProdYr() were not updated to work with local data buffers: the respective fields in EDID.BASE.BED could not be changed. * wxEDID_Frame::SaveRep_SubGrps(): Video Data Block: VIC values were not really decoded, so for SVD values > 127 the desriptions were incorrect. * (BUG::old::mislooked) wxEDID_Frame::SaveRep_SubGrps() uses value descriptions from vmap_t->vname_map_t, but reserved values were not included in some cases -> incorrect (shifted) descriptions in the output file. Now all the reserved values are included with value description set to NULL. edi_grp_cl::create_selector() ignores values with NULL name ptr. wxEDID_Frame::SaveRep_SubGrps() prints "<reserved>" for NULL name ptr. * Thu Dec 23 2021 Mia Herkt <mia@0x0.st> - Update to v0.0.26 Fixed * CEA::VSD incorrect bit offset for DVI_Dual field. * reparsing of CEA-header group should not be possible (returned uninitialized rcode). * Tue Apr 20 2021 Mia Herkt <mia@0x0.st> - Update to v0.0.25 Changed * default size for all spin controls on DTD_Constructor panel. Looks ugly, but works with wxWidgets compiled against GTK3. Fixed * <various functions> :: in case of error, always return error message, not just the rcode. Some function were returning the message only if "Ignore Errors" mode was enabled. * Build fails with Clang: unlike GCC, Clang does not support static initialization of flexible arrays in C++ mode: removed flex arrays from all field groups descriptors. - Changes in v0.0.24 Added * VID: Video Input Descriptor: support for field definitions introduced in EDID v1.4 * wxEDID_Frame::ImportEDID_hex(): report source file byte offset if conversion fails. Changed * EDID base block: UNK: Unknown Descriptor, unk_cl::init(): insert unknown byte fields instead of single byte string (easier to view and edit). * EDID_class.h: CEA-specific classes moved to dedicated headers: CEA_class.h, CEA_EXT_class.h * EDID_class.h: shared declarations moved to EDID_shared.h Fixed * (BUG::regression) wxEDID_Frame::UpdateBlockTree(): the BlockTree was not expanded automatically when opened file contains only the base EDID block (no extensions). * (BUG::regression): edi_grp_cl::init_fields(): a call to FieldsAr.Empty() is necessary for ForcedGroupRefresh() functions. * (old mislooked BUG): STI: Standard Timing Information: NU flag was not set for unused fields. * Menu "Options": "Reparse EDID buffer" and "AssembleEDID" options are disabled until EDID data is loaded/imported. * wxEDID_Frame::UpdateDataGrid(): missing auto-resizing of row labels width: BlkDataGrid->SetRowLabelSize(wxGRID_AUTOSIZE). * Sun Mar 14 2021 Mia Herkt <mia@0x0.st> - Drop wxedid-no-implicit-string-conversion.patch - Update to v0.0.23 Fixed * (BUG in GCC v8.3.0): broken array bounds checking with optimizations enabled, f.e: "src/CEA_EXT_class.cpp:1512:13: warning: ‘void* memcpy(void*, const void*, size_t)’ forming offset [49, 560] is out of the bounds [0, 48] of object ‘slocd_cl::SLOCD_subg’ with type ‘const subgrp_dsc_t’ {aka ‘const subgrp_dsc_s’} [-Warray-bounds]" Disabled diagnostic for [-Warray-bounds] in CEA_EXT_class.cpp * (BUG) EDID_cl::ParseEDID_CEA(): checking of padding bytes after last DTD did not allow to ignore errors (bad rcode on exit). * (BUG) IFDB::VSIFD: incorrect offset for ieee_id field. * (BUG) RMCD: several bugs in field offsets, incorrect max values * (BUG) SAB: Speaker Allocation Block: used ID_VSD as typeID, instead of (missing) ID_SAB. * (BUG) SLOCD fields: incorrect offset for channel index byte. * (BUG) VSD: Vendor Specific Data Block: cea_vsd_cl::init() display unspecified payload data as unknown bytes (previously ignored). * (BUG::LEAK): GroupAr_cl: Delete()/Paste(): call Detach() then delete the object: RemoveAt() only removes the pointer. * (BUG::typo) HDRD: HDR Dynamic Metadata Data Block: incorrect pointer used to read HDRD metadata lenght: base DBC pointer (inst) used instead of p_mtd. * (partially): VSD: dynamic data layout, depending on block length (currently only 00-0C-03 ID is supported) * BlkDataGrid: don't use fixed Row/Column sizes: problems on HDPI (thanks to Jat). * BlockTree menu: show group free space if no subgroups are present. * BlockTree menu: show info about free space even if there's no source block available. * CEA header: corrected description of dtd_offs field. * Calc. relative offsets of top level data groups (relative to the begin of EDID blocks) * HDRD: fixed field descriptions, fixed min/max values for mtd_ver and resvd47. * InsertInto() could insert 32th DBC byte: blk_len overflow. CanInsInto(): missing checking of sub-group free space * VID: Video Input Descriptor fields were referencing EDID buffer instead local instance data. * Y24C: incorrect total data length: missing DBC header * groups which have subgroups must call subgroups.CalcDataSZ() on init(). * removed ForceRefresh (EF_FGR) flag from unknown byte. Changed * All T_EDID_FIXED data groups are now operating on local data buffers. Reparse() restores the loaded EDID state, reverting all the changes - unless AssembleEDID() or Save/Export is executed. From this point Reparse() restores the saved/assembled state. * Base EDID block: movable blocks are now using edi_grp_cl::CopyInstData() to create local data instances. * BlockTree: blocked auto-repeating of all keys except up/down arrows. * CEA_BlkHdr_fields[]: removed EF_FGR flags: dedicated handlers are used. * CEA_class.cpp: all blocks (excluding the CEA_header) are now using edi_grp_cl::CopyInstData() to create local data instances * DTD panel: increased H-size of pix_clk and V-refresh controls - big values didn't fit. txc_hfreq: reduced fractional part accuracy to 2 digits, to fit the control size. * EDID_cl::ParseEDID_CEA(): search DTDs after DBC end, not at declared DTD offset * Menu Options->"Recalc Checksum" changed to "Assemble EDID" * Remapped group IDs, so subgroups IDs can be individually masked * UpdateEDID_Tree(): only main EDID blocks are automatically expanded (data sub-groups are not). * Y42C: removed cea_y42c_cl::gen_data_layout(): no longer needed. * edi_grp_cl::base_clone() return also the rcode for reporting errors. Non-critical errors can be now ignored. * wxEDID_App::CmdLineArgs(): now uses wxCmdLineParser. * wxEDID_Frame::ClearAll(): clear BlockTree, so if Re-OpenEDID() fails, the tree stays empty. * wxEDID_Frame::DTD_Ctor_WriteInt() and WriteField(): log old field values. Added * Auto-reparse DBC group on Tag Code/Extended Tag Code change. * Basic copy/paste functionality for blocks of the same type. * Block type ID: T_EDID_FIXED: fixed, single instance block. Instance data held in EDID buffer. Blocks without the flag set will keep instance data in local buffers. * BlockTree context menu: "Insert Into": insert subgroup @idx == 0. * BlockTree context menu: "Reparse Group": reparse single group (root groups only). This allows to re-interpret the group f.e. after manual editing of "unknown" bytes. * BlockTree context menu: display additional details in a sub-menu: abs/relative offsets and block/group free space. * BlockTree key bindings for Copy/Paste/Cut/Move(Up/Down) * CEA-DBC header: (Extended) Tag Code selector menus. * CanPaste/CanInsert: checking parent block free space. * Checking free space after manual editing of DBC block length. * Clone() method for all data classes which can be copied. * DBC_GrpAr_cl: array of DBC sub-groups. * DBC_GrpAr_cl: paste/insert/move methods specialized for DBC. * Data Grid: option for showing field details: base offset, shift and size. Added: menu "Options"->"Block Data: show field details" Added: config.b_dta_grid_details * Dynamic data layout support for groups: ADB, VDB, VSD, SAB. * EDID_cl::AssembleEDID()->CEA_Set_DTD_Offset(): check & update DTD offset in CEA block. * EDID_cl::AssembleEDID(): copy local data from movable blocks back to the main EDID buffer. * EDID_cl::AssembleEDID(): update block length in DBC headers. This means that manual changes to the block length are ignored -> only insert/delete/cut operations can change the block size. * GroupAr_cl: specialized derived classes: EDID_GrpAr_cl and CEA_GrpAr_cl: block-specific implementations of paste/insert/move methods. * IFDB: edi_grp_cl::IFDB_Init_SubGrp(): shared init function for sub-groups. * Log operations: Copy/Paste/Delete/Cut/Insert(Up/Down)Move(Up/Down) * New array class for holding EDID groups: GroupAr_cl: implements the copy/paste/move operations. * New data group cea_unkdat_cl: UNK-DAT Unknown Data bytes, used as a subgroup for representing undefined bytes. * New field flag: EF_INIT: forced re-initialization of the group. Flag name is "FR", same as for Forced Group Refresh. * Saving/restoring AUI layout, window position and size. NOTE: changed token delimiters, old cfg files have to be re-created. * Sub-group type ID: T_DBC_FIXED: fixed within DBC, instance data held in local buffer. * Subgroups have the same type ID as parent groups + T_DBC_SUBGRP flag. * Support for manual editing of DBC block length and Tag Codes: SAB, VDTC, VSD, UNK-TC, VCDB, HDRS, CLDB, VSVD, VSAD, VFPD, Editing group trees: ADB, VDB, RMCD * Support for manual editing of DBC block length and Tag Codes: SLDB, VDDD, IFDB, HDRD (+ metadata length) * Y42C, SLOCD: support for handling invalid block lengths. * cea_sad_cl::byte2_afc2_8: EDID_cl::SAD_BitRate(): handling values of bitrate in 8kHz units. * edi_grp_cl::CodeName: code name is now separated from GroupName * edi_grp_cl::base_DBC_Init_FlatGrp(): update field offsets if TG_FLEX_OFFS flag is set in group descriptor. * edi_grp_cl::parent_grp: parent group pointer: needed to update group data size after inserting/deleting of sub-groups. * wxEDID_App::CmdLineArgs() new cmd line switches: - e --ignore-errors, -w --all-writeable. * wxEDID_Frame::BlkTreeUpdateGrp() try to restore sub-group selection. * wxEDID_Frame::ClearAll(): clear edigrp_src ptr and change mnu_BlkTree info item to miInfoNOK. * wxEDID_Frame::evt_blktree_rmb(): handler for RMB actions. * wxEDID_Frame::mnu_BlkTree: RMB menu for selecting block actions Updated * Update: manpage: added new cmd line options. * Update: rcd_autogen v2.3 * Fri Jan 08 2021 Mia Herkt <mia@0x0.st> - Update to v0.0.22 Fixed * (BUG) (Thanks to Matthew Evanson): EDID_cl::ParseEDID_CEA(): the number of included DTDs can be greater than the number of mandatory *native* DTDs specified in cea_hdr_t.info_blk.num_dtd. Those additional DTDs were silently ignored in previous wxEDID versions. Additionally, the padding area after last DTD is now checked (all bytes have to be zeroed). * Desription of cea_hdr_t.info_blk.num_dtd field: it should be explicitly stated, that this is a number of *native* DTDs, and not the total number of DTDs in the CEA block. * wxEDID_App::CmdLineArgs(): using wxLogStderr for printing messages to stderr. * EDID_cl::ParseDetDtor(): error msg needs EDID block number, passed by the caller. * all references to GPLv3 replaced with GPLv3+, to match the declarations in COPYING. * makefile.am: strict control of what goes to the 'dist' target. * don't distribute src/config.h -> this requires a workaround in wxEDID_Main.h, i.e. defining dummy VERSION symbol when rcd_autogen is running. * (BUG) EDID_cl::VSD_ltncy(): unsupported IEEE-OUI codes: don't overflow if the latency value is zero: mark the field as unused. Added EF_FGR flags: editing the latency value removes "unused" flag. * (BUG) cea_vsd_cl::fields[] max latency value is 500ms, not 251=(500/2)+1. Changed * wxEDID_Frame::SaveRep_SubGrps(): export offset values in both decimal and hex format. * single top-level makefile.am * cea_vsd_cl::fields[]: Latency: Added info about 2ms granularity of values. * cea_vsd_cl: Updated group description (new IEEE-OUI codes). Added * man/wxedid.1 manpage written by Felix Lechner. Updated * rcode.h v1.1.0, rcd_autogen v2.1 * Tue Jul 14 2020 Mia Herkt <mia@0x0.st> - Update to v0.0.21 Fixed * (BUG): BlockTree: root node was not showing EDID file name if the file path was provided as an cmd line argument (both binary and --text). * (BUG) cea_hdrs_cl::init(): Incorrect min size for "HDR Static Metadata Data Block" (TagCode=7, ExtTagCode=6): the min. block size is 3, not 6 bytes. Fields for bytes 4..6 are marked as unused, depending on the block size. * (BUG) cea_hdrs_cl: incorrect bitfield definitions for reserved fields: "ET6-7" & "SM1-7" * Wrong evt ID for importing HEX-text EDID from cmd line arg: should be id_mnu_imphex, not id_mnu_exphex. * (Regression) if config file doen't exist, the config.b_dtd_keep_aspect is set to OFF, but by default it should be set to ON.
/usr/bin/wxedid /usr/share/doc/packages/wxEDID /usr/share/doc/packages/wxEDID/AUTHORS /usr/share/doc/packages/wxEDID/ChangeLog /usr/share/licenses/wxEDID /usr/share/licenses/wxEDID/COPYING
Generated by rpm2html 1.8.1
Fabrice Bellet, Mon Jun 3 23:43:19 2024