summarylogtreecommitdiffstats
path: root/setup.py
blob: 7c8b58b916422f17c89553dc3c140bab5d7458b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*- 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]: <https://pip.pypa.io/en/stable/installing>\n  [poetry]: <https://python-poetry.org/docs>\n  [Poetry Docs: Using your virtual environment]: <https://python-poetry.org/docs/basic-usage/#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)