• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

chromium/H12-Nov-2020-180,635178,257

compat/H12-Nov-2020-5,1103,077

doc/H03-May-2022-62,96947,629

ffbuild/H12-Nov-2020-443328

fftools/H12-Nov-2020-21,97617,972

libavcodec/H12-Nov-2020-916,824738,408

libavdevice/H12-Nov-2020-21,86016,502

libavfilter/H12-Nov-2020-213,249165,891

libavformat/H12-Nov-2020-215,368162,144

libavresample/H12-Nov-2020-9,3946,995

libavutil/H03-May-2022-69,95845,901

libpostproc/H12-Nov-2020-6,4155,073

libswresample/H12-Nov-2020-8,1586,136

libswscale/H12-Nov-2020-29,44224,388

presets/H12-Nov-2020-9984

tools/H03-May-2022-8,1256,271

.travis.ymlH A D07-Nov-2020531 3130

BUILD.gnH A D03-May-202214.7 KiB511442

CONTRIBUTING.mdH A D07-Nov-2020418 53

COPYING.GPLv2H A D07-Nov-202017.7 KiB340281

COPYING.GPLv3H A D07-Nov-202034.3 KiB675553

COPYING.LGPLv2.1H A D07-Nov-202025.9 KiB503418

COPYING.LGPLv3H A D07-Nov-20207.5 KiB166128

CREDITSH A D07-Nov-2020274 75

CREDITS.chromiumH A D07-Nov-202062.6 KiB1,3721,097

ChangelogH A D07-Nov-202060.9 KiB1,8301,716

INSTALL.mdH A D07-Nov-2020596 1811

LICENSE.mdH A D07-Nov-20204.3 KiB130109

MAINTAINERSH A D07-Nov-202029.2 KiB628567

MakefileH A D07-Nov-20205.7 KiB181132

OWNERSH A D07-Nov-2020236 1110

PRESUBMIT.pyH A D07-Nov-20201.9 KiB5943

README.chromiumH A D07-Nov-20203.5 KiB9364

README.mdH A D07-Nov-20201.7 KiB4732

RELEASEH A D07-Nov-20208 21

codereview.settingsH A D07-Nov-2020101 43

configureH A D07-Nov-2020249.8 KiB7,6196,695

ffmpeg_generated.gniH A D07-Nov-202026 KiB705664

ffmpeg_options.gniH A D07-Nov-20202.4 KiB7664

README.chromium

1Name: ffmpeg
2URL: http://ffmpeg.org/
3License: LGPL 2.1
4License File: CREDITS.chromium
5Upstream Git: git://source.ffmpeg.org/ffmpeg.git
6Last Upstream Merge: acbd950ed297fded711481a4059a83b085f888ae, Feb 19 2020
7
8This file documents the layout of the Chromium copy of FFmpeg, some common
9tasks, and how to create the build files and related configurations.
10
11FFmpeg Layout:
12==============
13
14Chromium's copy of FFmpeg is a fork of the upstream git repository, see the
15tags above for the latest merged upstream revision.  All of the
16Chromium-specific bits, minus the gn files, are located under the chromium/
17folder off the root.
18
19    BUILD.gn: Has the targets for building FFmpeg for Chrome.
20
21    ffmpeg_generated.gni: Pregenerated listing of files necessary to build
22      every platform.  See chromium/scripts/generate_gn.py for more details.
23
24    chromium/scripts: Utilities for building the gn and config files.
25
26    chromium/config/...: Pregenerated FFmpeg config options for each platform
27      and architecture; e.g., ChromeOS: ARM-Neon, Linux: X64, etc.
28
29    chromium/patches/README: Details of Chromium-specific changes that haven't
30      yet made it upstream.
31
32
33Help w/ Common Tasks:
34=====================
35
36-- Submitting changes to Chromium's FFmpeg Git repository.
37
38The goal of Chromium's FFmpeg repository is to just be a mirror of the upstream
39Git repository.  This means every change made must be upstreamed.  If you make
40a change, please add an entry to chromium/patches/README with a link to the
41tracking issue and code review for your change. Reviews are performed with
42Gerrit at https://chromium-review.googlesource.com.
43
44  1) Create a branch and make a local, single commit. Gerrit differs from
45     Rietveld in that you must have a single commit, so use git commit --amend
46     if you need to make changes. Verify that your commit contains a
47     Change-Id field, which is how Gerrit coalesces separate patch sets into the
48     same code review.
49
50  2) Upload for review:
51     git cl upload
52
53  3) Commit via https://chromium-review.googlesource.com once approved.
54
55  4) If needed, submit a Chromium-side change to update DEPS.
56
57-- Upstreaming a patch.
58
59  <checkout copy of upstream repo>
60  git checkout <hash of last Chromium FFmpeg, see tag above> -b my_patch
61  git apply <patch. pulled from code review or cherry-picked from this repo>
62  git rebase origin/master
63  < Follow FFmpeg guide: http://ffmpeg.org/developer.html#Submitting-patches-1 >
64
65Once your change has been upstreamed, please update the chromium/patches/README
66file with the status.  The next time an upstream merge is done, the committer
67will clear out all the patches which have been upstreamed.
68
69-- Cherry-picking a patch from upstream.
70
71  # Tell our repo about the upstream one.
72  git remote add upstream git://source.ffmpeg.org/ffmpeg.git
73  git fetch upstream
74
75  # Create a new branch based off of master for committing our patch.
76  git checkout origin/master -b my_new_branch
77
78  # Pull the patch out of upstream.
79  git cherry-pick -x <hash of commit in upstream>
80
81  <Follow rest of "Submitting changes to Chromium's FFmpeg Git repository.">
82
83
84Performing An Upstream Merge
85============================
86
87Currently this is an extremely tedious process that requires access to a Linux,
88Mac, and Windows development machine and lot of blood, sweat, and tears.
89
90The instructions are also prone to going stale, so in the interest of
91collaboration and sharing tips we have moved to a public document:
92https://docs.google.com/a/chromium.org/document/d/14bqZ9NISsyEO3948wehhJ7wc9deTIz-yHUhF1MQp7Po/edit#
93

README.md

1FFmpeg README
2=============
3
4FFmpeg is a collection of libraries and tools to process multimedia content
5such as audio, video, subtitles and related metadata.
6
7## Libraries
8
9* `libavcodec` provides implementation of a wider range of codecs.
10* `libavformat` implements streaming protocols, container formats and basic I/O access.
11* `libavutil` includes hashers, decompressors and miscellaneous utility functions.
12* `libavfilter` provides a mean to alter decoded Audio and Video through chain of filters.
13* `libavdevice` provides an abstraction to access capture and playback devices.
14* `libswresample` implements audio mixing and resampling routines.
15* `libswscale` implements color conversion and scaling routines.
16
17## Tools
18
19* [ffmpeg](https://ffmpeg.org/ffmpeg.html) is a command line toolbox to
20  manipulate, convert and stream multimedia content.
21* [ffplay](https://ffmpeg.org/ffplay.html) is a minimalistic multimedia player.
22* [ffprobe](https://ffmpeg.org/ffprobe.html) is a simple analysis tool to inspect
23  multimedia content.
24* Additional small tools such as `aviocat`, `ismindex` and `qt-faststart`.
25
26## Documentation
27
28The offline documentation is available in the **doc/** directory.
29
30The online documentation is available in the main [website](https://ffmpeg.org)
31and in the [wiki](https://trac.ffmpeg.org).
32
33### Examples
34
35Coding examples are available in the **doc/examples** directory.
36
37## License
38
39FFmpeg codebase is mainly LGPL-licensed with optional components licensed under
40GPL. Please refer to the LICENSE file for detailed information.
41
42## Contributing
43
44Patches should be submitted to the ffmpeg-devel mailing list using
45`git format-patch` or `git send-email`. Github pull requests should be
46avoided because they are not part of our review process and will be ignored.
47