summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/aviio.cpp
Commit message (Collapse)AuthorAgeFilesLines
* aviio.cpp: Use std::clamp AJR2023-09-171-3/+4
|
* aviio.cpp: Massive code cleanup AJR2023-09-171-755/+514
| | | | | | - Use multibyte.h functions and std::swap - Turn most macro constants into enums and move them down into classes - Change comments to C++ style
* Replaced most simple uses of sprintf with type-safe equivalents. (#10948) Erik2023-03-101-49/+32
|
* aviio.cpp, msdib.cpp: Use core inline functions as appropriate AJR2022-11-151-8/+2
|
* formats, osd, util: Started refactoring file I/O stuff. (#8456) Vas Crabb2021-08-221-43/+41
| | | | | | | | | Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter. unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename. Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums. Allow mounting TI-99 RPK from inside archives.
* Low-level #include overhaul AJR2021-01-021-2/+4
| | | | | | | - vecstream.h: Revert changes made in aa29519528cb3dbdbfac56819bea670ed8c56c5d. The std::string_view conversion has been made a non-member function (util::buf_to_string_view) and moved to coretmpl.h. - strformat.h: Remove the using declaration importing util::string_format into the global namespace. It has been moved to emucore.h and a few tool sources; other references have been qualified. - osdcore.h: Split out file, directory and path classes and methods to a new header (osdfile.h), Doxygenizing the documentation comments. - Disaggregate many #includes that were including other standard or custom headers. emu.h now includes basically the same things that it did, but other headers have been streamlined; for instance, emucore.h no longer stealth-includes osdcore.h several ways.
* Cleaned up bitmap API. Vas Crabb2020-09-271-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made const-qualified pixel accessors (pix, pixt, raw_pixptr) return const-qualified references/pointers to pixesl, and added non-const versions. This makes bitmap more like standard library containers where const protects the content as well as the dimensions. Made the templated pixt accessor protected - having it public makes it too easy to inadvertently get a pointer to the wrong location. Removed the pix(8|16|32|64) accessors from the specific bitmaps. You could only use the "correct" one anyway, and having the "incorrect" ones available prevented explicit instantiations of the class template because the static assertions would fail. You can still see the pixel type in the bitmap class names, and you can't assign the result of &pix(y, x) to the wrong kind of pointer without a cast. Added fill member functions to the specific bitmap template, and added a explicit instantiations. This allows the bitmap size check to be skipped on most bitmap fills, although the clipping check is still there. Also fixed a couple of places that were trying to fill an indexed 16-bit bitmap with rgb_t::black() exposed by this (replaced with zero to get the same net effect). The explicit template instantiations in the .cpp file mean the compiler can inline the function if necessary, but don't need to generate a local out-of-line body if it chooses not to. Extended the size of the fill value parameter in the base bitmap class to 64 bits so it works correctly for 64-bit bitmaps. Fixed places where IE15 and VGM visualiser weren't accounting for row bytes potentially being larger than width. Fixed an off-by-one in an HP-DIO card where it was treating the Topcat cursor right edge as exclusive. Updated everything to work with the API changes, reduced the scope of many variables, added more const, and replaced a few fill/copy loops with stuff from <algorithm>.
* Revert "fixed some modernize-use-equals-default clang-tidy warnings (… (#6360) Oliver Stöneberg2020-04-081-0/+10
| | | | | | | * Revert "fixed some modernize-use-equals-default clang-tidy warnings (nw)" This reverts commit 54486ab9 * fixed merge error
* fixed some modernize-use-auto clang-tidy warnings (nw) (#6238) Oliver Stöneberg2020-01-301-6/+6
|
* fixed some modernize-use-equals-default clang-tidy warnings (nw) (#6237) Oliver Stöneberg2020-01-301-10/+0
|
* Fix invalid std::vector<> lookup in aviio.cpp npwoods2019-11-041-1/+2
| | | | | | | | | | | | | This fixes a case where: * m_soundbuf_samples == processedsamples * processedsamples > 0 * processedsamples * stream->channels() == m_soundbuf.size() In this scenario, the std::memmove() would do nothing (moving zero bytes), but the operator[] on the second parameter to std::memmove() overflows the array. This can be benign in optimized builds (because the third parameter to std::memmove() is 0), but on debugging builds this can cause an assert.
* aviio: increase max size (nw) hap2019-10-051-1/+1
|
* aviio: dont crash on buffer overflow (nw) hap2019-10-041-0/+3
|
* -avivideo.cpp: Added an image device to provide looping uncompressed AVI ↵ mooglyguy2019-09-231-13/+13
| | | | | | frames as input. [Ryan Holtz] -vino.cpp: Adapted to support both avivideo_image_device and picture_image_device. [Ryan Holtz]
* srcclean (nw) Vas Crabb2019-07-281-3/+3
|
* -aviio: Added functionality to read RGB24 and YUV420p uncompressed video ↵ mooglyguy2019-07-211-14/+131
| | | | frames. [Ryan Holtz]
* fix building with clang 6.0.1 (nw) smf-2018-07-071-2/+0
|
* A round of spelling/typographical fixes to source comments (nw) Scott Stone2016-11-241-1/+1
|
* for bool type use true and false (nw) Miodrag Milanovic2016-07-311-1/+1
|
* made constexprs lower case and used constexpr for returning input value as ↵ Miodrag Milanovic2016-07-311-2/+2
| | | | well for rest of defines in osdcomm.h (nw)
* Cleanups and version bump Miodrag Milanovic2016-07-271-5/+5
|
* Fixed MT #6291 ImJezze2016-07-161-18/+12
| | | | | | | | * fixed copy of texture data to bitmap in BGFX * changed AVI dimension to a lowest integral multiple of 4 (2 was still to low for most video players, e.g. VLC) * added audio to AVI record in HLSL * HLSL AVI record now uses window dimension instead of snap dimension
* Added generic fix for #6286 ImJezze2016-07-161-2/+26
| | | | - this does not fix #6291
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-1/+1
|
* Fix 7z name match, fix VS2015 build Vas Crabb2016-03-151-1/+1
|
* Make osd_file a polymorphic class that's held with smart pointers Vas Crabb2016-03-141-1740/+1629
| | | | | | | | | | | | | | | Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures Make zip_file and _7z_file classes rather than having free functions everywhere Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache Don't dump as much crap in global namespace Add solaris PTY implementation Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax Rearrange stuff so the same things are in file module for all OSDs Move file stuff into its own module 7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access Directory functions still need to be moved to file module SDL OSD may not initialise WinSock on Windows
* fix compile (nw) Jeffrey Clark2016-02-151-1/+1
| | | | | | GCC 5.3.1 on Fedora 22 src/lib/util/aviio.cpp:1378:57: error: ‘offset’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
* macro removal INLINE -> static inline (nw) Miodrag Milanovic2015-12-121-26/+26
|
* clang-modernize part 1 (nw) Miodrag Milanovic2015-12-031-62/+62
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+3789