summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/vbiparse.c
Commit message (Collapse)AuthorAgeFilesLines
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-161-31/+2
| | | | to new license tagged form.
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-14/+13
|
* Cleanups and version bump.mame0134u3 Aaron Giles2009-10-121-13/+13
|
* Assert copyright ownership of core library files, and relicense Aaron Giles2009-10-091-2/+30
| | | | under standard BSD license.
* Simplified core deinterlacing logic based on availability of pre- Aaron Giles2008-09-291-1/+2
| | | | | | decoded VBI data. Added plumbing for allowing for overall brightness/ contrast/gamma corrections on laserdisc video. Fixed bug when combining brightness values in the palette logic.
* Cleanups and version bump.mame0127u4 Aaron Giles2008-09-181-2/+2
|
* Changed requirements for laserdisc CHDs to require a new chunk of Aaron Giles2008-09-181-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | metadata with pre-decoded frame information. Modified chdman to automatically produce this for CHDs that are of the appropriate parameters. To fix up existing CHDs, use chdman -fixavdata on the CHD. Modified the laserdisc core to leverage the pre-decoded frame metadata, which is now required. This improves seek times when searching and allows the player-specific emulation access to the VBI data as soon as it would really be available. Changed update callback timing to fire just before the first line of VBI data would be read; at that point, the frame selection is assumed to be committed. Converted PR-8210 emulation over to using the actual MCU from the laserdisc player. This MCU controls low-level functions such as slider position and laser on/off, and receives decoded vertical blanking data in order to make decisions. Removed old HLE behavior. Note that the overlay text is displayed via the UI; this is temporary and will be fixed shortly. Converted Simutrek-hacked laserdisc emulation to using the actual MCU from the game, which in turn hands off commands to the PR-8210 MCU. This is still not 100% but is pretty close at this point and achieves the correct behaviors in most cases. Fixed Cube Quest overlay scaling to cover the whole screen. Changed laserdisc video parameters to position the screen area at the bottom rather than the top, since this corresponds more closely to standard line numbering. Extended the vbiparse code to support pack/unpack, and to more fully document all the meanings of the VBI codes. Updated ldplayer to support slow/fast forward movement, frame/chapter display, and separate controls for scanning/stepping. Added new built-in variable "frame" to the debugger. Fixed device-based ROM loading to support loading ROMs from the game's ZIP as well.
* Cleanups and version bump.mame0126u4 Aaron Giles2008-08-071-29/+29
|
* ldverify now prints transient progress to stderr, allows for frame #0, Aaron Giles2008-08-071-11/+92
| | | | | | | | | | and reports if no white flags were seen. Fixed bug in aviio.c which could cause an infinite loop if attempting to read sound beyond the end of the file. Rewrote the white flag detection to use a histogram for outlier detection and peak identification.
* Removed obsolete makemeta tool. Replaced it with new ldverify Aaron Giles2008-08-051-8/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tool which walks through either an AVI or CHD capture from a laserdisc and ensures that there are no anomalies lurking in the VBI data. Added new option to chdman, where if you use -createav with a special filename (either 2:2 or 3:2) it will create a fake laserdisc files with the equivalent cadence. This can be used for testing until full captures are available. Most games used 2:2 apart from Dragon's Lair and Space Ace, which were 3:2. Note that even though these files are essentially blank, they are Huffman-compressed, meaning that the maximum compression ratio you will get is 8:1, so they still end up ~5GB. Moved error strings from chdman.c to chd.c, where they can be fetched from any caller via the new chd_error_string() function. Updated vbiparse to improve Manchester code decoding. It now assigns a confidence level per bit based on how solid the data is. Also added a new function vbi_parse_all which parses the white flag and all three lines of metadata from a laserdisc frame. It then compares line 17 and 18 against each other and selects the most likely candidate based on per-bit confidence and other factors. Added frame number display to laserdsc.c. It is off by default, though most players can be configured to turn it on (not sure if any actually do). It can be manually toggled via the backslash key during playback.
* Added proper laserdisc support for MACH 3, Us vs. Them, and Cobra Aaron Giles2008-08-041-21/+14
| | | | | | | | | | | | | | | | | | | Commander (MACH 3 hardware). Old laserdisc hacks are now removed. The code now talks to the standard Pioneer PR-8210 interface. Also removed hacky "target list" from the MACH 3 ROMs; this information is now decoded on the fly from the right channel laserdisc audio. Other Gottlieb cleanups: - moved sound inputs to audio/gottlieb and included them in all relevant drivers - ordered input ports and ROM definitions consistently Other laserdisc changes: - changed PR-8210 interface to work consistently for both Gottlieb and Stern games - added audio callback mechanism to allow drivers to peek at the raw audio streams - extended the VBI parser to be even more lenient
* Removed per-frame metadata support from chdman. Creating an A/V Aaron Giles2008-08-011-1/+9
| | | | | | | | | | | | | | | | | | | now simply requires an AVI file input. Relaxed VBI Manchester code clocking to allow for a little bit of wiggle when finding the clock. Changed laserdisc support to parse white flags and other data from the VBI data directly, rather than relying on the textual metadata. Expanded video frame cache to 3. Changed the way frames are assembled to decrease the likelihood of getting an interlaced weave. Fixed sound creation so that it is done at reset time instead of device start, when the sound devices aren't yet live. Fixed bug in winwork that caused the creation of single work items to return NULL, and thus lead to massive memory leaks when using A/V CHDs.
* Cleanups. Aaron Giles2008-07-171-14/+14
|
* Added logic to parse out the white flag. Aaron Giles2008-07-161-3/+32
|
* Removed unnecessary includes and added check against maximum source width. Aaron Giles2008-07-081-4/+5
|
* Split out Philips code parsing into a separate utility module. Aaron Giles2008-07-081-0/+137
Rewrote Philips code parsing to be clock based. Updated makemeta to call the new function.