# -*- coding: utf-8 -*- from setuptools import setup packages = \ ['pyd2v'] package_data = \ {'': ['*']} install_requires = \ ['click>=8.0.1,<9.0.0', 'jsonpickle>=2.0.0,<3.0.0'] entry_points = \ {'console_scripts': ['d2v = pyd2v.__main__:main']} setup_kwargs = { 'name': 'pyd2v', 'version': '%%VERSION%%', 'description': "A Python Parser for DGMPGDec's D2V Project Files.", 'long_description': '# pyd2v\n\n[![Pull requests welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)](http://makeapullrequest.com)\n[![MIT license](https://img.shields.io/github/license/rlaPHOENiX/pyd2v?style=flat)](https://github.com/rlaphoenix/pyd2v/blob/master/LICENSE)\n[![Python versions](https://img.shields.io/badge/python-3.6%2B-informational)](https://python.org)\n[![Codacy rating](https://www.codefactor.io/repository/github/rlaphoenix/pyd2v/badge)](https://www.codefactor.io/repository/github/rlaphoenix/pyd2v)\n[![Contributors](https://img.shields.io/github/contributors/rlaphoenix/pyd2v)](https://github.com/rlaphoenix/pyd2v/graphs/contributors)\n[![GitHub issues](https://img.shields.io/github/issues/rlaphoenix/pyd2v)](https://github.com/rlaphoenix/pyd2v/issues)\n\nA Python Parser for DGMPGDec\'s D2V Project Files.\n\n## Installation\n\n pip install --user pyd2v\n\n### Or, Install from Source\n\n#### Requirements\n\n1. [pip], v19.0 or newer\n2. [poetry], latest recommended\n\n#### Steps\n\n1. `poetry config virtualenvs.in-project true` (optional, but recommended)\n2. `poetry install`\n3. You now have a `.venv` folder in your project root directory. Python and dependencies are installed here.\n4. To use the venv, follow [Poetry Docs: Using your virtual environment]\n\nNote: Step 1 is recommended as it creates the virtual environment in one unified location per-project instead of\nhidden away somewhere in Poetry\'s Cache directory.\n\n [pip]: \n [poetry]: \n [Poetry Docs: Using your virtual environment]: \n\n## Usage\n\nThis project can be used programmatically by importing `pyd2v`, and as of version 1.1.0 with a `d2v` call in your terminal.\n\n## Documentation\n\n### Quick Example\n\n```py\nfrom pyd2v import D2V\n\n# ...\n\nd2v = D2V(filename="C:/Users/phoenix/Videos/1998_home_video.d2v")\nprint(d2v) # d2v object basic information, e.g. version and settings\nprint(d2v.videos) # input video files\nprint(d2v.settings["Frame_Rate"]) # frame rate\nprint(d2v.data[0]) # print first frame data\n```\n\n#### Accessible Variables\n\nA successful D2V parse will result in the following options accessible from the D2V object.\n\n- version: D2V version, `16` is currently the latest for the original DGIndex which was last updated in 2010.\n- videos: List of the video file paths that were indexed by DGIndex. It will be just a filename if "Use Full Paths" was disabled in DGIndex.\n- settings: Will return various user-provided and auto-evaluated settings based on input data. More information on Settings below.\n- data: Indexing data of the MPEG video stream, Each entry is of an I frame which will describe the following non-I frames up to the next I frame.\n- data_type: What type of video is most previlent, e.g. `88.4% FILM`, `PAL`, `99.9% NTSC`.\n\n#### Settings\n\n| Auto-evaluated Settings | Possible Values | Description |\n| ----------------------- | -------------------------------------- | ---------------------------------------------------------------------------------- |\n| Stream_Type | 0=Elementary Stream | Defines the type of MPEG stream. |\n| | 1=Program Stream | |\n| | 2=Transport Stream | |\n| | 3=PVA Stream | |\n| Transport_Packet_Size | [188, 204] | Specifies the size in bytes of the transport packets. Used only for Stream_Type=2. |\n| MPEG_Type | 1=MPEG-1, 2=MPEG-2 | Defines the type of MPEG stream. |\n| Aspect_Ratio | MPEG-2: "1:1", "4:3", "16:9", "2.21:1" | Defines the Aspect Ratio of the video specified in the MPEG stream. |\n| | MPEG-1: "1:1", 0.6735, ["16:9", 625], | |\n| | 0.7615, 0.8055, ["16:9", 525], 0.8935, | |\n| | ["4:3", 625], 0.9815, 1.0255, 1.0695, | |\n| | ["4:3", 525], 1.575, 1.2015 | |\n| Picture_Size | [width, height] | Defines the size of the video _after_ clipping has been applied. |\n| Frame_Rate | rate [num, den] | \'rate\' defines output framerate \\* 1000. |\n\n| User-specified Settings | Possible Values | Description |\n| ----------------------- | ----------------------------------------- | ------------------------------------------------------------------------ |\n| MPEG2_Transport_PID | {Video, Audio, RCR} | Selects the video/audio PIDs to be decoded. Used only for Stream_Type=2. |\n| iDCT_Algorithm | 1=32-bit MMX | Defines the iDCT DGDecode will use to decode this video |\n| | 2=32-bit SSEMMX | |\n| | 3=32-bit SSE2MMX | |\n| | 4=64-bit Floating Point | |\n| | 5=64-bit IEEE-1180 Reference | |\n| | 6=32-bit SSEMMX (Skal) | |\n| | 7=32-bit Simple MMX (XviD) | |\n| YUVRGB_Scale | 0=TV Scale | Defines the range DGDecode will use if RGB conversion is requested. |\n| | 1=PC Scale | |\n| Luminance_Filter | {Gamma, Offset} (range of +/- 256) | Defines values for DGIndex\'s Luminance_Filter. |\n| Clipping | [ClipLeft,ClipRight,ClipTop,ClipBottom] | Defines values for Cropping lines of video. |\n| Field_Operation | 0=Honor Pulldown Flags | Defines values for Field Operation. |\n| | 1=Force Film | |\n| | 2=Ignore Pulldown Flags | |\n| Location | {StartFile,StartOffset,EndFile,EndOffset} | Defines start and end points for the video selection range. |\n', 'author': 'PHOENiX', 'author_email': 'rlaphoenix@pm.me', 'maintainer': 'PHOENiX', 'maintainer_email': 'rlaphoenix@pm.me', 'url': 'https://github.com/rlaphoenix/pyd2v', 'packages': packages, 'package_data': package_data, 'install_requires': install_requires, 'entry_points': entry_points, 'python_requires': '>=3.6,<4.0', } setup(**setup_kwargs)