ffmpeg.git
6 years agoindeo: Do not reference mismatched tiles
Luca Barbato [Sun, 14 Jul 2013 14:49:43 +0000 (16:49 +0200)]
indeo: Do not reference mismatched tiles

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoindeo: Sanitize ff_ivi_init_planes fail paths
Luca Barbato [Sun, 14 Jul 2013 13:48:17 +0000 (15:48 +0200)]
indeo: Sanitize ff_ivi_init_planes fail paths

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoindeo5: return proper error codes
Luca Barbato [Sun, 14 Jul 2013 12:41:56 +0000 (14:41 +0200)]
indeo5: return proper error codes

6 years agoindeo: Bound-check before applying motion compensation
Luca Barbato [Sun, 14 Jul 2013 12:06:16 +0000 (14:06 +0200)]
indeo: Bound-check before applying motion compensation

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agortsp: Include an User-Agent header field in all requests
Martin Storsjö [Fri, 12 Jul 2013 09:14:12 +0000 (12:14 +0300)]
rtsp: Include an User-Agent header field in all requests

Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it.

Based on a patch by Carl Eugen Hoyos.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoindeo: Bound-check before applying transform
Luca Barbato [Fri, 12 Jul 2013 12:33:24 +0000 (14:33 +0200)]
indeo: Bound-check before applying transform

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoindeo4: Validate scantable dimension
Luca Barbato [Fri, 12 Jul 2013 16:10:05 +0000 (18:10 +0200)]
indeo4: Validate scantable dimension

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoindeo4: Check the quantization matrix index
Luca Barbato [Fri, 12 Jul 2013 13:02:33 +0000 (15:02 +0200)]
indeo4: Check the quantization matrix index

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoindeo4: Do not access missing reference MV
Luca Barbato [Fri, 12 Jul 2013 12:32:03 +0000 (14:32 +0200)]
indeo4: Do not access missing reference MV

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoac3dec: Consistently use AC3_BLOCK_SIZE and sizeof
Martin Storsjö [Thu, 11 Jul 2013 13:39:23 +0000 (16:39 +0300)]
ac3dec: Consistently use AC3_BLOCK_SIZE and sizeof

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoac3dec: Increment channel pointers only once per channel
Martin Storsjö [Thu, 11 Jul 2013 13:30:18 +0000 (16:30 +0300)]
ac3dec: Increment channel pointers only once per channel

If the channel mapping map multiple output channels to one
input channel, we should only increment the actual pointer once.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agojpeg2000: Remove unused passes array in Jpeg200Cblk structure
Nicolas Bertrand [Sat, 13 Jul 2013 08:10:26 +0000 (10:10 +0200)]
jpeg2000: Remove unused passes array in Jpeg200Cblk structure

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Initialize only once mqc arrays
Nicolas Bertrand [Fri, 12 Jul 2013 21:15:43 +0000 (23:15 +0200)]
jpeg2000: Initialize only once mqc arrays

Improves decoding speed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agovf_interlace: better handling of odd video size
Michael Niedermayer [Tue, 9 Jul 2013 15:57:49 +0000 (17:57 +0200)]
vf_interlace: better handling of odd video size

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agofate: use current syntax for the scale filter
Sean McGovern [Wed, 10 Jul 2013 17:37:05 +0000 (13:37 -0400)]
fate: use current syntax for the scale filter

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodca: Respect the current limits in the downmixing capabilities
Luca Barbato [Wed, 10 Jul 2013 17:00:15 +0000 (19:00 +0200)]
dca: Respect the current limits in the downmixing capabilities

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agodca: Error out on missing DSYNC
Luca Barbato [Wed, 10 Jul 2013 16:07:45 +0000 (18:07 +0200)]
dca: Error out on missing DSYNC

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agopcm: always use codec->id instead of codec_id
Luca Barbato [Wed, 10 Jul 2013 02:54:49 +0000 (04:54 +0200)]
pcm: always use codec->id instead of codec_id

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agovdpau: use the correct namespace for the union
Luca Barbato [Wed, 10 Jul 2013 18:27:03 +0000 (20:27 +0200)]
vdpau: use the correct namespace for the union

Vdp is used by libvdpau, use AVVDPAU as used for the rest.

Reported-by: Alexis Ballier <aballier@gentoo.org>
6 years agomlpdec: Do not set invalid context in read_restart_header
Luca Barbato [Wed, 10 Jul 2013 02:35:34 +0000 (04:35 +0200)]
mlpdec: Do not set invalid context in read_restart_header

The faulty values rippled further down the codepath causing a
hard-to-track segfault in the assembly code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agomlpdsp: x86: Respect cpuflags
Luca Barbato [Wed, 10 Jul 2013 01:18:14 +0000 (03:18 +0200)]
mlpdsp: x86: Respect cpuflags

6 years agopcx: Do not overread source buffer in pcx_rle_decode
Luca Barbato [Sat, 29 Jun 2013 04:37:32 +0000 (06:37 +0200)]
pcx: Do not overread source buffer in pcx_rle_decode

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agopcx: K&R formatting cosmetics
Luca Barbato [Sat, 29 Jun 2013 04:25:31 +0000 (06:25 +0200)]
pcx: K&R formatting cosmetics

6 years agoconfigure: Check for support for labels in the inline assembly
Martin Storsjö [Tue, 9 Jul 2013 17:51:00 +0000 (20:51 +0300)]
configure: Check for support for labels in the inline assembly

Use this for enabling the ppc timer.h implementation only on
assemblers that support labels in the inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agowmavoice: conceal clearly corrupted blocks
Luca Barbato [Sat, 29 Jun 2013 03:29:54 +0000 (05:29 +0200)]
wmavoice: conceal clearly corrupted blocks

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agowmavoice: use init_static_data
Luca Barbato [Sat, 29 Jun 2013 01:10:59 +0000 (03:10 +0200)]
wmavoice: use init_static_data

6 years agowmavoice: return meaningful error codes
Luca Barbato [Sat, 29 Jun 2013 01:02:02 +0000 (03:02 +0200)]
wmavoice: return meaningful error codes

6 years agoiff: Do not read over the source buffer
Luca Barbato [Sat, 29 Jun 2013 05:26:48 +0000 (07:26 +0200)]
iff: Do not read over the source buffer

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoiff: K&R formatting cosmetics
Luca Barbato [Sat, 29 Jun 2013 05:05:54 +0000 (07:05 +0200)]
iff: K&R formatting cosmetics

6 years agoqdm2: Conceal broken samples
Luca Barbato [Tue, 9 Jul 2013 12:59:33 +0000 (14:59 +0200)]
qdm2: Conceal broken samples

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoqdm2: refactor joined stereo support
Luca Barbato [Tue, 9 Jul 2013 12:44:02 +0000 (14:44 +0200)]
qdm2: refactor joined stereo support

qdm2 does support only two channels. Loop over the run once.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoadpcm: Write the correct number of samples for ima-dk4
Luca Barbato [Sun, 7 Jul 2013 10:56:12 +0000 (12:56 +0200)]
adpcm: Write the correct number of samples for ima-dk4

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoimc: Catch a division by zero
Luca Barbato [Tue, 9 Jul 2013 07:18:16 +0000 (09:18 +0200)]
imc: Catch a division by zero

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoatrac3: Error on impossible encoding/channel combinations
Luca Barbato [Tue, 9 Jul 2013 02:44:26 +0000 (04:44 +0200)]
atrac3: Error on impossible encoding/channel combinations

Joint stereo encoded mono is impossible.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoatrac3: set the getbits context the right buffer_end
Luca Barbato [Tue, 9 Jul 2013 02:20:23 +0000 (04:20 +0200)]
atrac3: set the getbits context the right buffer_end

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoatrac3: fix error handling
Luca Barbato [Mon, 8 Jul 2013 23:03:13 +0000 (01:03 +0200)]
atrac3: fix error handling

decode_tonal_components returns a proper AVERROR.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agomovenc: Rename the timestamp parameter to dts in write_hint_packets
Martin Storsjö [Sun, 7 Jul 2013 14:03:00 +0000 (17:03 +0300)]
movenc: Rename the timestamp parameter to dts in write_hint_packets

This matches its actual intended use better.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agomovenc: Make sure the RTP hint tracks have nondecreasing DTS
Martin Storsjö [Sun, 7 Jul 2013 13:55:26 +0000 (16:55 +0300)]
movenc: Make sure the RTP hint tracks have nondecreasing DTS

The RTP timestamps can be decreasing for codecs with B-frames. For
these cases, make sure the timestamps in the MP4 file track itself
are nondecreasing, and add an offset to the RTP packet hint instead
to produce the intended RTP timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoqdm2: check and reset dithering index per channel
Luca Barbato [Thu, 27 Jun 2013 00:50:52 +0000 (02:50 +0200)]
qdm2: check and reset dithering index per channel

Checking per subband would have the index exceed the
dithering noise table size.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoqdm2: formatting cosmetics
Luca Barbato [Thu, 27 Jun 2013 00:49:15 +0000 (02:49 +0200)]
qdm2: formatting cosmetics

Apply the usual style plus drop few unnecessary return at the end
of void functions.

6 years agoqdm2: use init_static_data
Luca Barbato [Thu, 27 Jun 2013 00:20:59 +0000 (02:20 +0200)]
qdm2: use init_static_data

6 years agowestwood_vqa: do not free extradata on error in read_header
Luca Barbato [Thu, 27 Jun 2013 02:30:20 +0000 (04:30 +0200)]
westwood_vqa: do not free extradata on error in read_header

The extradata is already freed by avformat_open_input on
failure.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agovqavideo: check the version
Luca Barbato [Thu, 27 Jun 2013 01:19:05 +0000 (03:19 +0200)]
vqavideo: check the version

Prevent out of buffer write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agocmdutils: wrap exit explicitly
Luca Barbato [Sat, 6 Jul 2013 23:52:51 +0000 (01:52 +0200)]
cmdutils: wrap exit explicitly

Some C runtime implementations deadlock when calling threading functions
on the atexit() handler.

Use a simpler wrapper similar to av_log to call the cleanup function
before exit.

Bug-Id: 523

6 years agomovenc: K&R formatting cosmetics
Martin Storsjö [Sun, 7 Jul 2013 11:59:47 +0000 (14:59 +0300)]
movenc: K&R formatting cosmetics

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoMakefile: Remove stray tabs
Michael Niedermayer [Sun, 7 Jul 2013 09:56:02 +0000 (11:56 +0200)]
Makefile: Remove stray tabs

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agovp8: Wait for prev_frame to parse segment_map before reading it
Ronald S. Bultje [Sun, 23 Jun 2013 04:16:11 +0000 (21:16 -0700)]
vp8: Wait for prev_frame to parse segment_map before reading it

This fixes occasional failures of vp8-test-vector-010 with frame-level
multithreading enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoyuv4mpeg: Correctly round chroma up for odd luma sizes
Ronald S. Bultje [Mon, 24 Jun 2013 23:13:58 +0000 (19:13 -0400)]
yuv4mpeg: Correctly round chroma up for odd luma sizes

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agormdec: Use the AVIOContext given as parameter in rm_read_metadata()
Michael Niedermayer [Mon, 1 Jul 2013 21:38:08 +0000 (23:38 +0200)]
rmdec: Use the AVIOContext given as parameter in rm_read_metadata()

This fixes crashes when playing back certain RealRTSP streams.

When invoked from the RTP depacketizer, the full realmedia
demuxer isn't invoked, but only certain functions from it, where
a separate AVIOContext is passed in as parameter (for the buffer
containing the data to parse). The functions called from within
those entry points should only be using that parameter, not
s->pb. In the depacketizer case, s is the RTSP context, where ->pb
is null.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoavio: Handle AVERROR_EOF in the same way as the return value 0
Michael Niedermayer [Mon, 24 Jun 2013 12:23:44 +0000 (14:23 +0200)]
avio: Handle AVERROR_EOF in the same way as the return value 0

This makes sure the ffurl_read_complete function actually
returns the number of bytes read, as the documentation of the
function says, even if the underlying protocol uses AVERROR_EOF
instead of 0.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agowtv: Mark attachment with a negative stream id
Luca Barbato [Mon, 24 Jun 2013 16:12:24 +0000 (18:12 +0200)]
wtv: Mark attachment with a negative stream id

A sid 0 would be mismatched to the attachment.

Prevent NULL pointer dereference.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoavprobe: rename the prettyprint structures
Luca Barbato [Fri, 21 Jun 2013 12:47:01 +0000 (14:47 +0200)]
avprobe: rename the prettyprint structures

6 years agotools: Wording and formatting cosmetics
Diego Biurrun [Fri, 5 Jul 2013 15:42:37 +0000 (17:42 +0200)]
tools: Wording and formatting cosmetics

6 years agotests: Only run noproxy test if networking is enabled
Diego Biurrun [Tue, 2 Jul 2013 15:16:18 +0000 (17:16 +0200)]
tests: Only run noproxy test if networking is enabled

6 years agofifo: K&R formatting cosmetics
Luca Barbato [Sat, 6 Jul 2013 10:05:27 +0000 (12:05 +0200)]
fifo: K&R formatting cosmetics

6 years agokmvc: Clip pixel position to valid range
Luca Barbato [Mon, 1 Jul 2013 01:05:41 +0000 (03:05 +0200)]
kmvc: Clip pixel position to valid range

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agokmvc: use fixed sized arrays in the context
Luca Barbato [Mon, 1 Jul 2013 01:04:15 +0000 (03:04 +0200)]
kmvc: use fixed sized arrays in the context

Avoid some boilerplate code to dynamically allocate and then free the
buffers.

6 years agobitstream_filter: K&R formatting cosmetics
Luca Barbato [Fri, 5 Jul 2013 13:35:30 +0000 (15:35 +0200)]
bitstream_filter: K&R formatting cosmetics

6 years agocompat: wrap math.h to avoid AIX-specific clashes
Luca Barbato [Thu, 4 Jul 2013 19:53:08 +0000 (21:53 +0200)]
compat: wrap math.h to avoid AIX-specific clashes

AIX defines a class() function in its math.h header without any
guard.

6 years agolog: pass the correct parameters to missing_feature_sample
Luca Barbato [Thu, 27 Jun 2013 01:17:32 +0000 (03:17 +0200)]
log: pass the correct parameters to missing_feature_sample

CC:libav-stable@libav.org

6 years agoindeo: reject negative array indexes
Luca Barbato [Wed, 3 Jul 2013 12:55:50 +0000 (14:55 +0200)]
indeo: reject negative array indexes

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoindeo: Cosmetic formatting
Luca Barbato [Wed, 3 Jul 2013 12:01:32 +0000 (14:01 +0200)]
indeo: Cosmetic formatting

Trim some overly long lines.

6 years agoindeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks
Luca Barbato [Wed, 3 Jul 2013 11:59:16 +0000 (13:59 +0200)]
indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks

Spin large and mostly self contained blocks into stand alone
functions.

6 years agoindeo: Refactor ff_ivi_dec_huff_desc
Luca Barbato [Wed, 3 Jul 2013 10:58:40 +0000 (12:58 +0200)]
indeo: Refactor ff_ivi_dec_huff_desc

Spare an indentation level.

6 years agoindeo: use a typedef for the mc function pointer
Luca Barbato [Wed, 3 Jul 2013 09:18:30 +0000 (11:18 +0200)]
indeo: use a typedef for the mc function pointer

6 years agocabac: x86 version of get_cabac_bypass
Jason Garrett-Glaser [Mon, 1 Jul 2013 19:06:22 +0000 (12:06 -0700)]
cabac: x86 version of get_cabac_bypass

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoaic: use chroma scan tables while decoding luma component in progressive mode
Kostya Shishkov [Wed, 3 Jul 2013 18:46:28 +0000 (20:46 +0200)]
aic: use chroma scan tables while decoding luma component in progressive mode

For some unclear reason Apple decided to use the same scan tables for luma and
chroma in the progressive mode while using different ones for luma in the
interlaced mode.

6 years agojpeg2000: Use the matching coding style struct for transform selection
Michael Niedermayer [Mon, 1 Jul 2013 08:01:39 +0000 (10:01 +0200)]
jpeg2000: Use the matching coding style struct for transform selection

Fixes a null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Merge rescaling with interleaving in 9/7 IDWT
Michael Niedermayer [Mon, 1 Jul 2013 08:01:38 +0000 (10:01 +0200)]
jpeg2000: Merge rescaling with interleaving in 9/7 IDWT

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Optimize output sample conversion
Michael Niedermayer [Mon, 1 Jul 2013 08:01:37 +0000 (10:01 +0200)]
jpeg2000: Optimize output sample conversion

67935 -> 29984 kcycles

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Reset s->numX/Ytiles on tile deallocation
Michael Niedermayer [Mon, 1 Jul 2013 08:01:36 +0000 (10:01 +0200)]
jpeg2000: Reset s->numX/Ytiles on tile deallocation

Keep the structure fields more consistent after cleanup.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Optimize dequantization
Michael Niedermayer [Mon, 1 Jul 2013 08:01:35 +0000 (10:01 +0200)]
jpeg2000: Optimize dequantization

Float:   4700 -> 2700 cycles
Integer: 4400 -> 2800 cycles

(sandybridge  i7)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Do not assume a single tile
Michael Niedermayer [Mon, 1 Jul 2013 08:01:34 +0000 (10:01 +0200)]
jpeg2000: Do not assume a single tile

In preparation of supporting multiple tiles.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Speed up jpeg2000_decode_tile()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:33 +0000 (10:01 +0200)]
jpeg2000: Speed up jpeg2000_decode_tile()

Skip processing bands with dimension set to 0.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:32 +0000 (10:01 +0200)]
jpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()

Speed it up a bit.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Simplify jpeg2000_decode_packets()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:31 +0000 (10:01 +0200)]
jpeg2000: Simplify jpeg2000_decode_packets()

Raise PATCHWELCOME error in case of non-implemented progression order.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Do not crash on NULL node in tag_tree_decode
Michael Niedermayer [Mon, 1 Jul 2013 08:01:30 +0000 (10:01 +0200)]
jpeg2000: Do not crash on NULL node in tag_tree_decode

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Refactor SOT marker parsing
Michael Niedermayer [Mon, 1 Jul 2013 08:01:29 +0000 (10:01 +0200)]
jpeg2000: Refactor SOT marker parsing

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Proper cleanup on failure in decode_frame()
Luca Barbato [Mon, 1 Jul 2013 08:01:28 +0000 (10:01 +0200)]
jpeg2000: Proper cleanup on failure in decode_frame()

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Use the correct sizeof in memset for T1 data
Michael Niedermayer [Mon, 1 Jul 2013 08:01:27 +0000 (10:01 +0200)]
jpeg2000: Use the correct sizeof in memset for T1 data

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Simplify init_tile()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:26 +0000 (10:01 +0200)]
jpeg2000: Simplify init_tile()

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Update pixel format support
Michael Niedermayer [Mon, 1 Jul 2013 08:01:25 +0000 (10:01 +0200)]
jpeg2000: Update pixel format support

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Compute corrections of sub-band coordinates
Michael Niedermayer [Mon, 1 Jul 2013 08:01:24 +0000 (10:01 +0200)]
jpeg2000: Compute corrections of sub-band coordinates

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Remove unneeded variable initialization
Michael Niedermayer [Mon, 1 Jul 2013 08:01:23 +0000 (10:01 +0200)]
jpeg2000: Remove unneeded variable initialization

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Use separate fields for int and float codepaths
Michael Niedermayer [Mon, 1 Jul 2013 08:01:22 +0000 (10:01 +0200)]
jpeg2000: Use separate fields for int and float codepaths

Split stepsize and data into int and float variants.
Eliminates a number of casts and simplifies spotting errors.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Split int/float codepaths depending on the DWT
Michael Niedermayer [Mon, 1 Jul 2013 08:01:21 +0000 (10:01 +0200)]
jpeg2000: Split int/float codepaths depending on the DWT

DWT53 is always int, DWT97 is always float.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Improve reduced resolution decoding
Michael Niedermayer [Mon, 1 Jul 2013 08:01:20 +0000 (10:01 +0200)]
jpeg2000: Improve reduced resolution decoding

Correctly scale down the component coordinates and
clean up some redundant code.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Compute quantization for 'scalar derived' in the correct case.
Michael Niedermayer [Mon, 1 Jul 2013 08:01:19 +0000 (10:01 +0200)]
jpeg2000: Compute quantization for 'scalar derived' in the correct case.

Scalar derived case is represented by the JPEG2K_QSTY_SI define.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:18 +0000 (10:01 +0200)]
jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Fix compute precedence error in lut_gain index
Michael Niedermayer [Mon, 1 Jul 2013 08:01:17 +0000 (10:01 +0200)]
jpeg2000: Fix compute precedence error in lut_gain index

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Initialize code blocks structures in precincts to 0
Michael Niedermayer [Mon, 1 Jul 2013 08:01:16 +0000 (10:01 +0200)]
jpeg2000: Initialize code blocks structures in precincts to 0

Prevent use of uninitialized memory / valgrind failure.

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Check that we have enough components for MCT
Michael Niedermayer [Mon, 1 Jul 2013 08:01:15 +0000 (10:01 +0200)]
jpeg2000: Check that we have enough components for MCT

Avoid overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Check that there is a SOT before SOD
Michael Niedermayer [Mon, 1 Jul 2013 08:01:14 +0000 (10:01 +0200)]
jpeg2000: Check that there is a SOT before SOD

Avoid overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Remove unneeded returns
Michael Niedermayer [Mon, 1 Jul 2013 08:01:13 +0000 (10:01 +0200)]
jpeg2000: Remove unneeded returns

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Propagate error code from get_cox()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:12 +0000 (10:01 +0200)]
jpeg2000: Propagate error code from get_cox()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Check that nreslevels2decode has been initialized before use
Michael Niedermayer [Mon, 1 Jul 2013 08:01:11 +0000 (10:01 +0200)]
jpeg2000: Check that nreslevels2decode has been initialized before use

Avoid buffer overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Drop unused and writeonly fields
Michael Niedermayer [Mon, 1 Jul 2013 08:01:10 +0000 (10:01 +0200)]
jpeg2000: Drop unused and writeonly fields

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Correctly calculate sgnd
Michael Niedermayer [Mon, 1 Jul 2013 08:01:09 +0000 (10:01 +0200)]
jpeg2000: Correctly calculate sgnd

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: check len before parsing header
Michael Niedermayer [Mon, 1 Jul 2013 08:01:08 +0000 (10:01 +0200)]
jpeg2000: check len before parsing header

Avoid overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agojpeg2000: Check component number in get_coc() and get_qcc()
Michael Niedermayer [Mon, 1 Jul 2013 08:01:07 +0000 (10:01 +0200)]
jpeg2000: Check component number in get_coc() and get_qcc()

Avoid overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>