Opened 12 years ago
Last modified 9 years ago
#2966 open defect
ljpeg: support 36bpp rgb
| Reported by: | ami_stuff | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | ljpeg mjpeg |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
that's the last mode supported by "My ViewPad" program for lossless jpeg
http://www1.datafilehost.com/d/a2822f88
C:\>ffmpeg -i 36bpp_rgb_lossless.jpg out.bmp
ffmpeg version N-56277-g2fcef19 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 15 2013 02:23:39 with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.
0-1.fc14)
configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-pthreads --enable-memalign-hack --enable-runtime-cpudetect --
enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -lw
inmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapsh
ots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/sna
pshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 --
enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-li
bvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-li
bopencore-amrwb --enable-libmp3lame --enable-libfreetype --enable-libvpx --disab
le-decoder=libvpx
libavutil 52. 43.100 / 52. 43.100
libavcodec 55. 31.101 / 55. 31.101
libavformat 55. 16.102 / 55. 16.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 84.100 / 3. 84.100
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
[image2 @ 0x205fa40] Stream #0: not enough frames to estimate rate; consider inc
reasing probesize
Input #0, image2, from '36bpp_rgb_lossless.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, bgr24, 1200x1200, 25 tbr, 25 tbn, 25 tbc
Output #0, image2, to 'out.bmp':
Metadata:
encoder : Lavf55.16.102
Stream #0:0: Video: bmp, bgr24, 1200x1200, q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> bmp)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=-1.0 Lsize=N/A time=00:00:00.04 bitrate=N/A
video:4219kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000509
%
Attachments (3)
Change History (10)
comment:1 by , 12 years ago
| Component: | undetermined → avcodec |
|---|---|
| Keywords: | ljpeg mjpeg added |
| Reproduced by developer: | set |
| Status: | new → open |
| Version: | unspecified → git-master |
follow-up: 3 comment:2 by , 12 years ago
The linked file is no longer available, can you attach it to this bug report instead?
comment:3 by , 12 years ago
Replying to kurosu:
The linked file is no longer available, can you attach it to this bug report instead?
It's too big, but here is a new link:
follow-up: 6 comment:5 by , 12 years ago
Currently it decodes to 16bits per component without rescaling. It can then be encoded to format supporting 16 bits (thereby keeping the full dynamic afaik). My guess is that there are several ways to solve this:
- actually implement support for BGR36 (that means conversion too)
- or scale output of the jpeg decoder
- or, seeing how the jpeg decoder already reports "bgr48le(12 bpc)", extend support for this mixed information in various codecs.
comment:6 by , 12 years ago
Replying to kurosu:
Currently it decodes to 16bits per component without rescaling. It can then be encoded to format supporting 16 bits (thereby keeping the full dynamic afaik). My guess is that there are several ways to solve this:
- actually implement support for BGR36 (that means conversion too)
Please don't.
It was a fault that yuv with 8<bpc<16 was added, please don't add more.
- or scale output of the jpeg decoder
- or, seeing how the jpeg decoder already reports "bgr48le(12 bpc)", extend support for this mixed information in various codecs.
Imo, output should be rgb48 (or similar) with bits_per_coded_sample set accordingly.
by , 9 years ago
| Attachment: | 36_YCbCrK.jpg added |
|---|
by , 9 years ago
| Attachment: | 48_YCbCrK.jpg added |
|---|
by , 9 years ago
| Attachment: | 36_RGB.jpg added |
|---|



$ ffmpeg -i 36bpp_rgb_lossless.jpg ffmpeg version N-56297-g7ac6c63 Copyright (c) 2000-2013 the FFmpeg developers built on Sep 15 2013 23:50:37 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl libavutil 52. 43.100 / 52. 43.100 libavcodec 55. 31.101 / 55. 31.101 libavformat 55. 16.102 / 55. 16.102 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 84.100 / 3. 84.100 libswscale 2. 5.100 / 2. 5.100 libswresample 0. 17.103 / 0. 17.103 libpostproc 52. 3.100 / 52. 3.100 [image2 @ 0x2b3f080] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, image2, from '36bpp_rgb_lossless.jpg': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: mjpeg, bgr48le(12 bpc), 1200x1200, 25 tbr, 25 tbn, 25 tbc At least one output file must be specified