Opened 10 years ago
Last modified 10 years ago
#4169 open enhancement
Support BPG Image format
Reported by: | jamal | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | avcodec |
Version: | git-master | Keywords: | bpg hevc |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
libbgp can be found here: http://bellard.org/bpg/
The spec is here http://bellard.org/bpg/bpg_spec.txt
A wrapper is probably not a good idea as the library may or may not link to libx265, libpng and openjpeg/jpeg-turbo while seemingly providing no way to know if it does for ffmpeg to check at configure time.
Also, it uses an striped down version of libavcodec/libavutil, so it's kinda redundant.
It's worth noting that libbpg contains some relevant changes to ffhevc, which most likely should be ported for the purpose of this ticket.
No separate patches are provided, so the changes may have to be cherry picked from the included source files.
The following list of changes to ffmpeg is described in their README file
3) FFmpeg modifications ----------------------- - Completed support of chroma_format_idc = 0 (monochrome mode). - Fixed RDPCM support (intra predictions). - Added a 'dynamic bit depth' mode where all the bit depths from 8 to 14 are supported without code duplication but slower decoding. - Added a modified SPS header to reduce the size of the BPG decoder (the solution instead is to generate standard VPS and SPS headers from the BPG header). - Added defines to keep only the HEVC intra code and suppress the parsing of all the irrelevant NAL units. - Stripped FFmpeg from all codecs except HEVC and the necessary support code. - Generated the IDCT coefficients dynamically to reduce the code size.