mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-01-24 02:21:11 +01:00
No description
The previous implementation assumed that a new picture would always supersede the previous picture. Similarly, presentation segments were assumed to pertain to the most-recently-read picture. However, each presentation segment may refer to 0 or more pictures by their ID. Picture IDs may repeat, and a repeated picture ID indicates that the old picture for that ID is no longer needed and may be discarded. The new implementation allocates a buffer with one slot for each possible picture ID (the picture ID is a 16-bit field) and properly decodes presentation segments so that all relevant pictures are output upon encountering a display segment. Given that most PGS streams are unlikely to use more than a small fraction of the available picture IDs, it would probably be better to use a more memory-efficient data structure. I'm lazy though, so I leave this to a more motivated individual. I've tested the code with MKV files in VLC (a recent revision from their git repo) and with HandBrake (a version that I hacked up to use ffmpeg's PGS subtitle decoder). Review-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> |
||
|---|---|---|
| doc | ||
| ffpresets | ||
| libavcodec | ||
| libavdevice | ||
| libavfilter | ||
| libavformat | ||
| libavutil | ||
| libpostproc | ||
| libswresample | ||
| libswscale | ||
| mt-work | ||
| presets | ||
| tests | ||
| tools | ||
| .gitignore | ||
| avconv.c | ||
| Changelog | ||
| cmdutils.c | ||
| cmdutils.h | ||
| cmdutils_common_opts.h | ||
| common.mak | ||
| configure | ||
| COPYING.GPLv2 | ||
| COPYING.GPLv3 | ||
| COPYING.LGPLv2.1 | ||
| COPYING.LGPLv3 | ||
| CREDITS | ||
| Doxyfile | ||
| ffmpeg.c | ||
| ffplay.c | ||
| ffprobe.c | ||
| ffserver.c | ||
| INSTALL | ||
| library.mak | ||
| LICENSE | ||
| MAINTAINERS | ||
| Makefile | ||
| README | ||
| RELEASE | ||
| version.sh | ||
FFmpeg README ------------- 1) Documentation ---------------- * Read the documentation in the doc/ directory. 2) Licensing ------------ * See the LICENSE file.