Anton Khirnov
15baa0c1ac
lavc/mjpegdec: cosmetics, org->orig
4 years ago
Anton Khirnov
e15371061d
lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump
...
They are not properly namespaced and not intended for public use.
4 years ago
Anton Khirnov
19ce064239
smvjpegdec: merge into mjpegdec
...
SMVJPEG stores frames as slices of a big JPEG image. The decoder is
implemented as a wrapper that instantiates a full internal MJPEG
decoder, then forwards the decoded frames with offset data pointers.
This is unnecessarily complex and fragile, not supporting useful decoder
capabilities like direct rendering.
Re-implement the decoder inside the MJPEG decoder, which is accomplished
by returning each decoded frame multiple times, setting cropping
information appropriately on each instance.
One peculiar aspect of the previous design is that since
- the smvjpeg decoder returns one frame per input packet
- there are multiple frames in each packets (the aformentioned slices)
the demuxer needs to return each packet multiple times.
This is now also eliminated - the demuxer now returns each packet
exactly once, with the duration set to the number of frames it decodes
to.
This also removes one of the last remaining internal uses of the old
video decoding API.
4 years ago
Anton Khirnov
e9a2a87773
mjpegdec: convert to receive_frame()
...
This will be useful in the following commit.
4 years ago
Nick Renieris
40abff05d2
lavc/mjpegdec: Decode Huffman-coded lossless JPEGs embedded in DNGs
...
Main image data in DNGs is usually comprised of tiles, each of which is a Huffman-encoded lossless JPEG.
Tested for ljpeg regressions with:
`ffmpeg -f lavfi -i testsrc=d=1 -vcodec ljpeg test.avi`
`ffmpeg test.avi out.avi`
The modified code in ljpeg_decode_rgb_scan runs without issues.
Signed-off-by: Nick Renieris <velocityra@gmail.com>
6 years ago
Michael Niedermayer
8d381b57fd
avcodec/mjpegdec: Check input buffer size.
...
Fixes: Timeout
Fixes: 6381/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEGLS_fuzzer-5665032743419904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years ago
Mark Thompson
6c0bfa30c0
mjpegdec: Add hwaccel hooks
...
Also adds some extra fields to the main context structure that may
be needed by a hwaccel decoder.
7 years ago
Mateusz
149268b47c
fix MSVC compilation errors
...
After commit 3701d49
'error_resilience: remove avpriv_atomic usage'
we have included windows.h in much more files and we should
avoid conflicts with defines/function declarations.
Signed-off-by: Mateusz Brzostek <mateuszb@poczta.onet.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years ago
Martin Vignali
cbbec68847
libavcodec/blockdsp : add AVX version
...
Also modify the required alignment, to 32 instead of 16
for several codecs
Signed-off-by: James Almer <jamrial@gmail.com>
8 years ago
Derek Buitenhuis
9e02f35f6a
mjpeg: Add support for ICC side data
...
JPEGs store embedded profiles under the APP2 marker, signified
with a "ICC_PROFILE" null-terminated string header, and can be
split across multiple APP2 markers, out of order.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years ago
Michael Niedermayer
23f3f92361
avcodec/mjpegdec: quant_matrixes can be up to 65535, use uint16_t
...
Fixes invalid shift
Fixes: 870/clusterfuzz-testcase-5649105424482304
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Michael Niedermayer
dde6b2a355
avcodec/mjpegdec: dont try to combine fields for decimated multiscope 2 material
...
Fixes Ticket4535
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
e15455891b
avcodec/mjpegdec: Change upscale_* to an array instead of a bitmask
...
This allows storing integer factors instead of just 0 and 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
d5a3a20d1e
avcodec/mjpegdec: simplify chroma_height calculation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Diego Biurrun
e3fcb14347
dsputil: Split off IDCT bits into their own context
11 years ago
Diego Biurrun
e74433a8e6
dsputil: Split clear_block*/fill_block* off into a separate context
11 years ago
Michael Niedermayer
254f653b24
avcodec/jpeglsdec: add PAL8 support
...
Fixes Ticket3478
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
681e72a668
avcodec/mjpegdec: parse adobe_transform
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
2884688bd5
avcodec/mjpegdec: pass into ff_mjpeg_decode_sos() and check bitmask size
...
Fixes: heap array overread
Fixes: asan_heap-oob_149b2bc_6577_m1.mxg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Kirill Gavrilov
e9e7e68516
mjpegdec: parse JPS extension and save relevant stereo3d information
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Anton Khirnov
d48132b7de
mjpegdec: apply flipping after decoding, not before
...
This is simpler and removes a silly restriction on edges being present.
11 years ago
Anton Khirnov
e2274aa555
mjpegdec: use the AVFrame API properly.
11 years ago
Thilo Borgmann
bb4e1b4cf9
avcodec/mjpegdec: Read EXIF metadata in JPEG input.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
96747e6cbe
mjpegdec: parse app-xfrm
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
7afa68d37d
mjpegdec: parse app-colr
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
15cee5e562
mjpegdec: Fix used quant index for gbr
...
Fixes Ticket1651
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
28bc406c84
mjpeg: Use hpeldsp instead of dsputil for half-pel functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
e0a8f31591
mjpeg: use hpeldsp instead of dsputil for half-pel functions.
12 years ago
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years ago
Anton Khirnov
df9b956751
lavc: fix decode_frame() third parameter semantics for video decoders
...
It's got_frame, not data size
12 years ago
Lou Logan
6851130fd6
cosmetics: minor libavcodec spelling errors
...
Also update some common misspelled words in patcheck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Carl Eugen Hoyos
d185278c36
Support decoding of some unusual jpeg samples.
...
Avoid unsupported pix_fmts by upscaling chroma.
Fixes ticket #878 .
13 years ago
Carl Eugen Hoyos
387d86077f
Support decoding yuv442 and yuv421 jpeg images.
...
Fixes ticket #787 .
13 years ago
Anton Khirnov
1f0c7020a1
mjpegdec: add 'extern_huff' private option.
...
Deprecate CODEC_FLAG_EXTERN_HUFF
14 years ago
anatoly
dd1e5bfd5e
Add support for picture_ptr field in MJpegDecodeContext
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
anatoly
7e6a9e6444
Move MJPEG's input buffer preprocessing in separate public function
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
anatoly
34686566f3
Support reference picture defined by bitmask in MJPEG's SOS decoder
...
With cleanup & simplification by me
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
anatoly
e0e3b8b297
Add support for picture_ptr field in MJpegDecodeContext
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
anatoly
f16055eedf
Move MJPEG's input buffer preprocessing in separate public function
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
anatoly
8f0bd2c07d
Support reference picture defined by bitmask in MJPEG's SOS decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Michael Niedermayer
5675a11f92
Add a seperate VLC table for progressive jpeg so we dont have to subtract 16 in the inner loop.
...
Originally committed as revision 25545 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Diego Biurrun
ba87f0801d
Remove explicit filename from Doxygen @file commands.
...
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
84dc2d8afa
Remove DECLARE_ALIGNED_{8,16} macros
...
These macros are redundant. All uses are replaced with the generic
DECLARE_ALIGNED macro instead.
Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
c67278098d
Move array specifiers outside DECLARE_ALIGNED() invocations
...
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
ad9feac9fb
Avoid huge array for rgb ljpeg on the stack.
...
Code tested with an ljpeg i had laying around.
Originally committed as revision 20433 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Carl Eugen Hoyos
643fc8f107
Flip (M)JPEG frames encoded by Intel JPEG library.
...
Fixes issues 1464 and 1468.
Originally committed as revision 20312 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Reimar Döffinger
643fd8a198
Add a got_picture flag to MJpegDecodeContext which indicates if its picture
...
element is valid. Skip the code handling SOS and EOI if not, since it can not
work without a valid AVPicture.
This fixes a crash with mjpeg/smclockmjpeg.avi.1.0 from issue 1240 where the
decoder returned an invalid AVPicture.
Originally committed as revision 19342 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Stefano Sabatini
9106a698e7
Rename bitstream.h to get_bits.h.
...
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago