]> git.sesse.net Git - ffmpeg/log
ffmpeg
9 years agovp9: add fate test for profile 1 444.
Ronald S. Bultje [Thu, 30 Apr 2015 09:09:45 +0000 (11:09 +0200)]
vp9: add fate test for profile 1 444.

Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp91-2-04-yuv444.webm

9 years agovp9: don't create special u/v filter masks for 444.
Ronald S. Bultje [Thu, 30 Apr 2015 09:01:44 +0000 (11:01 +0200)]
vp9: don't create special u/v filter masks for 444.

This fixes vp91-2-04-yuv444.webm.

9 years agovp9: merge uv loopfilter code into generic filter_plane_rows/cols().
Ronald S. Bultje [Thu, 30 Apr 2015 08:54:26 +0000 (10:54 +0200)]
vp9: merge uv loopfilter code into generic filter_plane_rows/cols().

9 years agovp9: split out loopfilter luma rows/cols functions from loopfilter_sb().
Ronald S. Bultje [Thu, 30 Apr 2015 08:11:20 +0000 (10:11 +0200)]
vp9: split out loopfilter luma rows/cols functions from loopfilter_sb().

9 years agovp9: invert order of two conditions.
Ronald S. Bultje [Tue, 28 Apr 2015 07:29:46 +0000 (09:29 +0200)]
vp9: invert order of two conditions.

This makes it equal to row-based loopfilter code, and also makes the
chroma/luma code identical.

9 years agovp9: use correct chroma subsampling for profile 1 inter block recon.
Ronald S. Bultje [Fri, 24 Apr 2015 15:28:30 +0000 (11:28 -0400)]
vp9: use correct chroma subsampling for profile 1 inter block recon.

9 years agovp9: use correct chroma subsampling for profile 1 intra block recon.
Ronald S. Bultje [Fri, 24 Apr 2015 14:49:41 +0000 (10:49 -0400)]
vp9: use correct chroma subsampling for profile 1 intra block recon.

9 years agovp9: take chroma subsampling into account when walking the block tree.
Ronald S. Bultje [Fri, 24 Apr 2015 15:10:37 +0000 (11:10 -0400)]
vp9: take chroma subsampling into account when walking the block tree.

9 years agovp9: support non-420 chroma subsampling for profile 1 token decoding.
Ronald S. Bultje [Fri, 24 Apr 2015 14:47:56 +0000 (10:47 -0400)]
vp9: support non-420 chroma subsampling for profile 1 token decoding.

9 years agovp9: increase buffer sizes for non-420 chroma subsamplings.
Ronald S. Bultje [Fri, 24 Apr 2015 15:04:00 +0000 (11:04 -0400)]
vp9: increase buffer sizes for non-420 chroma subsamplings.

9 years agovp9: profile 1 header decoding.
Ronald S. Bultje [Fri, 24 Apr 2015 14:59:12 +0000 (10:59 -0400)]
vp9: profile 1 header decoding.

9 years agoavcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H264 lpf and weight/biweight...
Shivraj Patil [Mon, 27 Apr 2015 13:54:45 +0000 (19:24 +0530)]
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H264 lpf and weight/biweight functions

Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/svq3: Fix memleak of last_pic_for_ec
Michael Niedermayer [Fri, 1 May 2015 01:15:46 +0000 (03:15 +0200)]
avcodec/svq3: Fix memleak of last_pic_for_ec

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/mpegts: Detect changes in packet through CRC instead of just the 5bit version
Michael Niedermayer [Fri, 1 May 2015 00:14:14 +0000 (02:14 +0200)]
avformat/mpegts: Detect changes in packet through CRC instead of just the 5bit version

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/mpegts: reset last_ver on corrupted packets
Michael Niedermayer [Fri, 1 May 2015 00:13:26 +0000 (02:13 +0200)]
avformat/mpegts: reset last_ver on corrupted packets

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/mpegts: Factorize version checking code out
Michael Niedermayer [Wed, 29 Apr 2015 20:24:09 +0000 (22:24 +0200)]
avformat/mpegts: Factorize version checking code out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolavf/webm_chunk: Fix a memory leak.
Vignesh Venkatasubramanian [Thu, 30 Apr 2015 19:56:24 +0000 (12:56 -0700)]
lavf/webm_chunk: Fix a memory leak.

Fix a duplicate memory allocation. priv_data should be allocated
in line 64 call to avformat_alloc_output_context2 since we pass
the correct AVFormat to it. This removes the duplicate allocation.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agovp9: fix show-existing-frames for multi-threading.
Ronald S. Bultje [Thu, 30 Apr 2015 20:03:10 +0000 (22:03 +0200)]
vp9: fix show-existing-frames for multi-threading.

This also fixes intra-only MT failures (it was the same bug), see trac
4526 and 4527.

Tested-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavutil/softfloat_tables: add missing stdint.h include
James Almer [Thu, 30 Apr 2015 20:22:27 +0000 (17:22 -0300)]
avutil/softfloat_tables: add missing stdint.h include

Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
9 years agoMerge commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e'
Michael Niedermayer [Thu, 30 Apr 2015 20:23:29 +0000 (22:23 +0200)]
Merge commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e'

* commit '06f4b1e37a08f3fd269ecbfeb0181129e5bfc86e':
  avplay: Do not print a possibly uninitialized value

Conflicts:
ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'e8c4db0d4d07738fed716b1d2f20c85aac944641'
Michael Niedermayer [Thu, 30 Apr 2015 20:15:16 +0000 (22:15 +0200)]
Merge commit 'e8c4db0d4d07738fed716b1d2f20c85aac944641'

* commit 'e8c4db0d4d07738fed716b1d2f20c85aac944641':
  xcbgrab: Validate the capture area

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '82a10225f817b2612fdd2b23af9d4f0a3408df3b'
Michael Niedermayer [Thu, 30 Apr 2015 19:59:56 +0000 (21:59 +0200)]
Merge commit '82a10225f817b2612fdd2b23af9d4f0a3408df3b'

* commit '82a10225f817b2612fdd2b23af9d4f0a3408df3b':
  xcbgrab: Do not assume the non shm image data is always available

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolavf/webm_chunk: Use dyn_buf to write chunks
Vignesh Venkatasubramanian [Thu, 30 Apr 2015 18:34:44 +0000 (11:34 -0700)]
lavf/webm_chunk: Use dyn_buf to write chunks

Use dyn_duf to write chunks so that we create the actual chunk
file only after the entire chunk data is available. This will help
not confuse other software looking at the chunk file (e.g. a web
server) by seeing a zero length file when ffmpeg is writing into
it.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolibavutil/softfloat: Add functions.
Nedeljko Babic [Thu, 30 Apr 2015 11:51:37 +0000 (13:51 +0200)]
libavutil/softfloat: Add functions.

Functions av_gt_sf, av_sqrt_sf and av_sincos_sf added to softfloat

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolibavutil/softfloat: Added av_normalize_sf in av_add_sf
Nedeljko Babic [Thu, 30 Apr 2015 11:51:36 +0000 (13:51 +0200)]
libavutil/softfloat: Added av_normalize_sf in av_add_sf

This will normalize sums for which mantissa is smaller than the lower boundary
(needed for implementation of fixed point aac decoder).

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolibavutil/softfloat: exponent adjusted for aac fixed point dec
Nedeljko Babic [Thu, 30 Apr 2015 11:51:35 +0000 (13:51 +0200)]
libavutil/softfloat: exponent adjusted for aac fixed point dec

Exponent usage and calculation in softfloat adjusted to the format used in
implementation of fixed point aac decoder.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavplay: Do not print a possibly uninitialized value
Luca Barbato [Tue, 28 Apr 2015 19:24:27 +0000 (21:24 +0200)]
avplay: Do not print a possibly uninitialized value

Initialize `diff` to 0.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoxcbgrab: Validate the capture area
Luca Barbato [Sat, 14 Mar 2015 11:30:11 +0000 (12:30 +0100)]
xcbgrab: Validate the capture area

And notify why the capture is impossible.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoxcbgrab: Do not assume the non shm image data is always available
Luca Barbato [Sat, 14 Mar 2015 11:30:10 +0000 (12:30 +0100)]
xcbgrab: Do not assume the non shm image data is always available

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoavfilter/lavfutils: disable frame threads when decoding a single image
Michael Niedermayer [Thu, 30 Apr 2015 01:03:31 +0000 (03:03 +0200)]
avfilter/lavfutils: disable frame threads when decoding a single image

The image decoding code does expect the image to be decoded immedeatly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/mov: Do not read ACLR into extradata for H.264
Michael Niedermayer [Wed, 29 Apr 2015 22:02:47 +0000 (00:02 +0200)]
avformat/mov: Do not read ACLR into extradata for H.264

Fixes regression decoding AVCI
Fixes Ticket4493

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavfilter/vf_vignette: force per frame evaluation if per frame variables are used
Michael Niedermayer [Mon, 30 Mar 2015 19:50:15 +0000 (21:50 +0200)]
avfilter/vf_vignette: force per frame evaluation if per frame variables are used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/cook: Remove unneeded #if
Michael Niedermayer [Wed, 29 Apr 2015 18:13:59 +0000 (20:13 +0200)]
avcodec/cook: Remove unneeded #if

The code is already doing nothing if DEBUG is disabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/mpegts: Also parse the FMC descriptor if the codec has not been identified yet
Michael Niedermayer [Wed, 29 Apr 2015 04:26:18 +0000 (06:26 +0200)]
avformat/mpegts: Also parse the FMC descriptor if the codec has not been identified yet

Fixes Detecting AAC with such descriptor if the parts needed for detection
are later in the stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/libx264: Remove cleanup code, its uneeded since FF_CODEC_CAP_INIT_CLEANUP
Michael Niedermayer [Fri, 24 Apr 2015 20:46:06 +0000 (22:46 +0200)]
avcodec/libx264: Remove cleanup code, its uneeded since FF_CODEC_CAP_INIT_CLEANUP

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/dca_parser: Extend DTS core sync word and fix existing check
foo86 [Wed, 29 Apr 2015 11:14:55 +0000 (14:14 +0300)]
avcodec/dca_parser: Extend DTS core sync word and fix existing check

Check extended sync word for 16-bit LE and BE core streams to reduce
probability of alias sync detection. Previously sync word extension was
checked only for 14-bit streams (and this check did not properly work
across buffer boundary).

Use 64-bit parser state to make extended sync word detection work across
buffer boundary.

This is sufficient to make the sample in ticket #4492 parse
successfully.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'a09c499a2e25ded575cb9f37528384402be86ad8'
Michael Niedermayer [Wed, 29 Apr 2015 14:49:04 +0000 (16:49 +0200)]
Merge commit 'a09c499a2e25ded575cb9f37528384402be86ad8'

* commit 'a09c499a2e25ded575cb9f37528384402be86ad8':
  rawenc: properly allocate coded_frame

Conflicts:
libavcodec/rawenc.c

See: 881f96c4c2ef0c0162f63a370cbfff3c1e1feb2a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'
Michael Niedermayer [Wed, 29 Apr 2015 13:44:21 +0000 (15:44 +0200)]
Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'

* commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6':
  h264: use properly allocated AVFrames

Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_refs.c
libavcodec/h264_slice.c
libavcodec/svq3.c
libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819'
Michael Niedermayer [Wed, 29 Apr 2015 13:22:49 +0000 (15:22 +0200)]
Merge commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819'

* commit '7a4f74eed51f914e9bbfebaffd4a92ac6791f819':
  h264: embed the DPB in the context

Conflicts:
libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/h264_slice: Also copy x264_build in ff_h264_update_thread_context()
Michael Niedermayer [Wed, 29 Apr 2015 13:13:24 +0000 (15:13 +0200)]
avcodec/h264_slice: Also copy x264_build in ff_h264_update_thread_context()

Fixes fate-h264-lossless

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '88c612e3a4d5b584e2d9f6e2541de78d67bdfb9f'
Michael Niedermayer [Wed, 29 Apr 2015 12:18:30 +0000 (14:18 +0200)]
Merge commit '88c612e3a4d5b584e2d9f6e2541de78d67bdfb9f'

* commit '88c612e3a4d5b584e2d9f6e2541de78d67bdfb9f':
  h264: merge the init and reinit paths in update_thread_context()

Conflicts:
libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '8a66fd40260b7aae6226d68c4dbad43b05a8e524'
Michael Niedermayer [Wed, 29 Apr 2015 11:55:25 +0000 (13:55 +0200)]
Merge commit '8a66fd40260b7aae6226d68c4dbad43b05a8e524'

* commit '8a66fd40260b7aae6226d68c4dbad43b05a8e524':
  h264: drop the reinit parameter from init_slice_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'c9ccbc7333eddd025ebbde5cc4f27d68a950c623'
Michael Niedermayer [Wed, 29 Apr 2015 11:48:02 +0000 (13:48 +0200)]
Merge commit 'c9ccbc7333eddd025ebbde5cc4f27d68a950c623'

* commit 'c9ccbc7333eddd025ebbde5cc4f27d68a950c623':
  h264: update the current bit depth/chroma type in init_slice_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '29dcde2b87559b72957454a7e9bcd5227d8057ba'
Michael Niedermayer [Wed, 29 Apr 2015 11:40:59 +0000 (13:40 +0200)]
Merge commit '29dcde2b87559b72957454a7e9bcd5227d8057ba'

* commit '29dcde2b87559b72957454a7e9bcd5227d8057ba':
  h264: copy nal_length_size in update_thread_context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9'
Michael Niedermayer [Wed, 29 Apr 2015 11:33:07 +0000 (13:33 +0200)]
Merge commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9'

* commit '440e8dd374b732c48d564d9f1bb0ec3b1b786fb9':
  h264: drop a comment that carries no useful information

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '11f024ef0ab923ed8680fc35a087d576e549c849'
Michael Niedermayer [Wed, 29 Apr 2015 11:24:18 +0000 (13:24 +0200)]
Merge commit '11f024ef0ab923ed8680fc35a087d576e549c849'

* commit '11f024ef0ab923ed8680fc35a087d576e549c849':
  h264: move freeing the escaped RBSP buffer to free_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6'
Michael Niedermayer [Wed, 29 Apr 2015 11:01:15 +0000 (13:01 +0200)]
Merge commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6'

* commit 'ee62b364be0c30cba83b5ff10a3ca8c3e866ade6':
  h264: eliminate ff_h264_set_parameter_from_sps()

Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '54986d6db9116ef9704b1ce8414ffdb7f1ca127f'
Michael Niedermayer [Wed, 29 Apr 2015 10:04:26 +0000 (12:04 +0200)]
Merge commit '54986d6db9116ef9704b1ce8414ffdb7f1ca127f'

* commit '54986d6db9116ef9704b1ce8414ffdb7f1ca127f':
  h264: move context reinit lower down in update_thread_context()

Conflicts:
libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7'
Michael Niedermayer [Wed, 29 Apr 2015 09:48:39 +0000 (11:48 +0200)]
Merge commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7'

* commit 'a6cd154463bea7eb56d28192db4c8c6d83f67fd7':
  h264: move the DPB init/uninit to init_context()/free_context()

Conflicts:
libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '9d33bab583a82cf12286c65258a29c6888e1ff98'
Michael Niedermayer [Wed, 29 Apr 2015 09:38:42 +0000 (11:38 +0200)]
Merge commit '9d33bab583a82cf12286c65258a29c6888e1ff98'

* commit '9d33bab583a82cf12286c65258a29c6888e1ff98':
  h264: drop H264Context.ouputed_poc

Conflicts:
libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3'
Michael Niedermayer [Wed, 29 Apr 2015 09:28:17 +0000 (11:28 +0200)]
Merge commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3'

* commit '27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3':
  h264: drop needs_realloc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agorawenc: properly allocate coded_frame
Anton Khirnov [Fri, 17 Apr 2015 10:12:57 +0000 (12:12 +0200)]
rawenc: properly allocate coded_frame

9 years agoh264: use properly allocated AVFrames
Anton Khirnov [Fri, 17 Apr 2015 10:09:50 +0000 (12:09 +0200)]
h264: use properly allocated AVFrames

9 years agoh264: embed the DPB in the context
Anton Khirnov [Sun, 12 Apr 2015 19:08:34 +0000 (21:08 +0200)]
h264: embed the DPB in the context

It now has a fixed size and is initialized only once, so there is no
point in allocating it separately.

9 years agoh264: merge the init and reinit paths in update_thread_context()
Anton Khirnov [Sun, 12 Apr 2015 18:59:52 +0000 (20:59 +0200)]
h264: merge the init and reinit paths in update_thread_context()

There is no real need to handle the init case specially, everything
necessary is initialized in the reinit code as well.

9 years agoh264: drop the reinit parameter from init_slice_header()
Anton Khirnov [Sun, 12 Apr 2015 17:36:49 +0000 (19:36 +0200)]
h264: drop the reinit parameter from init_slice_header()

It is only used to decide whether to call free_tables(), but that
function is safe to call on an uninitialized context as well.

9 years agoh264: update the current bit depth/chroma type in init_slice_header()
Anton Khirnov [Sun, 12 Apr 2015 17:13:56 +0000 (19:13 +0200)]
h264: update the current bit depth/chroma type in init_slice_header()

With frame threading, it is currently only updated in the context where
the change occurs, but not in any other contexts.

9 years agoh264: copy nal_length_size in update_thread_context
Anton Khirnov [Sun, 12 Apr 2015 17:08:23 +0000 (19:08 +0200)]
h264: copy nal_length_size in update_thread_context

It does not make sense to copy is_avc without copying this as well. This
patch should not change anything for now, but will have an effect in
later commits.

9 years agoh264: drop a comment that carries no useful information
Anton Khirnov [Mon, 6 Apr 2015 19:02:17 +0000 (21:02 +0200)]
h264: drop a comment that carries no useful information

9 years agoh264: move freeing the escaped RBSP buffer to free_context()
Anton Khirnov [Mon, 6 Apr 2015 19:00:42 +0000 (21:00 +0200)]
h264: move freeing the escaped RBSP buffer to free_context()

It does not logically belong in free_tables(), since it's not allocated
in alloc_tables() and its size has nothing to do with the frame size.

9 years agoh264: eliminate ff_h264_set_parameter_from_sps()
Anton Khirnov [Mon, 6 Apr 2015 18:33:58 +0000 (20:33 +0200)]
h264: eliminate ff_h264_set_parameter_from_sps()

That function currently does two things -- reinitializing the DSP
contexts and setting low_delay based on the SPS values.

The former more appropriately belongs in h264_slice_header_init(), while
the latter only really makes sense in decode_slice_header().

The third call to ff_h264_set_parameter_from_sps(), done immediately
after parsing a new SPS, appears to serve no useful purpose, so it is
just dropped.

Also, drop now unneeded H264Context.cur_chroma_format_idc.

9 years agoh264: move context reinit lower down in update_thread_context()
Anton Khirnov [Mon, 6 Apr 2015 18:05:37 +0000 (20:05 +0200)]
h264: move context reinit lower down in update_thread_context()

It uses some fields from the SPS, which is not yet set where the reinit
is called currently.

9 years agoh264: move the DPB init/uninit to init_context()/free_context()
Anton Khirnov [Sun, 5 Apr 2015 18:51:00 +0000 (20:51 +0200)]
h264: move the DPB init/uninit to init_context()/free_context()

Currently, the DPB is initialized in alloc_tables() and uninitialized in
free_tables(), but those functions manage frame size-dependent
variables, so DPB management does not logically belong in there.

Since we want the init/uninit to happen exactly once per the context
lifetime, init_context()/free_context() are the proper place for this
code.

9 years agoh264: drop H264Context.ouputed_poc
Anton Khirnov [Sun, 5 Apr 2015 06:49:47 +0000 (08:49 +0200)]
h264: drop H264Context.ouputed_poc

It is only set, but never used for anything.

9 years agoh264: drop needs_realloc
Anton Khirnov [Tue, 31 Mar 2015 08:10:42 +0000 (10:10 +0200)]
h264: drop needs_realloc

It is not needed anymore since switching to refcounted frames.

9 years agoMerge commit '0ac8ff618c5e6d878c547a8877e714ed728950ce'
Michael Niedermayer [Wed, 29 Apr 2015 03:46:20 +0000 (05:46 +0200)]
Merge commit '0ac8ff618c5e6d878c547a8877e714ed728950ce'

* commit '0ac8ff618c5e6d878c547a8877e714ed728950ce':
  avresample: Reallocate the internal buffer to the correct size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/mpegts: reset last_version on seeking
Michael Niedermayer [Wed, 29 Apr 2015 03:00:51 +0000 (05:00 +0200)]
avformat/mpegts: reset last_version on seeking

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '82de8d71118f4eafd6a43e9ea9169bd411793798'
Michael Niedermayer [Wed, 29 Apr 2015 02:24:06 +0000 (04:24 +0200)]
Merge commit '82de8d71118f4eafd6a43e9ea9169bd411793798'

* commit '82de8d71118f4eafd6a43e9ea9169bd411793798':
  mpegts: Update the PSI/SI table only if the version change

Conflicts:
libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845'
Michael Niedermayer [Wed, 29 Apr 2015 02:11:21 +0000 (04:11 +0200)]
Merge commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845'

* commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845':
  h263: Convert function to macro

Conflicts:
libavcodec/h263.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '59dfc2b0c89f35c5805abee72c2ae4ee7af8e98d'
Michael Niedermayer [Wed, 29 Apr 2015 02:03:54 +0000 (04:03 +0200)]
Merge commit '59dfc2b0c89f35c5805abee72c2ae4ee7af8e98d'

* commit '59dfc2b0c89f35c5805abee72c2ae4ee7af8e98d':
  h263: Drop commented-out code and a related otherwise unused function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'c3418201307c6b7a2b3e3be10f33ab4a20a32c3b'
Michael Niedermayer [Wed, 29 Apr 2015 01:55:59 +0000 (03:55 +0200)]
Merge commit 'c3418201307c6b7a2b3e3be10f33ab4a20a32c3b'

* commit 'c3418201307c6b7a2b3e3be10f33ab4a20a32c3b':
  jpeglsenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit '3919a4572690894d0a7ad4170d699c52b4748194'
Michael Niedermayer [Wed, 29 Apr 2015 01:45:27 +0000 (03:45 +0200)]
Merge commit '3919a4572690894d0a7ad4170d699c52b4748194'

* commit '3919a4572690894d0a7ad4170d699c52b4748194':
  jpeglsenc: Check memory allocations

Conflicts:
libavcodec/jpeglsenc.c

See: 48214956b2f115e9cadfcdf1ff06a2477c87a295
Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b'
Michael Niedermayer [Wed, 29 Apr 2015 01:32:47 +0000 (03:32 +0200)]
Merge commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b'

* commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b':
  flacenc: Move a scratch buffer to struct used by the function

Conflicts:
libavcodec/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavresample: Reallocate the internal buffer to the correct size
Luca Barbato [Mon, 27 Apr 2015 23:55:10 +0000 (01:55 +0200)]
avresample: Reallocate the internal buffer to the correct size

Fixes the corner case in which the internal buffer size
is larger than input buffer provided and resizing it
before moving the left over samples would make it write
to now unallocated memory.

Bug-Id: 825
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agonutdec: fix illegal count check in decode_main_header
Andreas Cadhalpun [Tue, 28 Apr 2015 20:37:19 +0000 (22:37 +0200)]
nutdec: fix illegal count check in decode_main_header

The existing check has two problems:
 1) i + count can overflow, so that the check '< 256' returns true.
 2) In the (i == 'N') case occurs a j-- so that the loop runs once more.

This can trigger the assertion 'nut->header_len[0] == 0' or cause
segmentation faults or infinite hangs.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agonutdec: fix memleaks on error in nut_read_header
Andreas Cadhalpun [Tue, 28 Apr 2015 18:58:21 +0000 (20:58 +0200)]
nutdec: fix memleaks on error in nut_read_header

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agonutdec: check chapter creation in decode_info_header
Andreas Cadhalpun [Tue, 28 Apr 2015 18:57:59 +0000 (20:57 +0200)]
nutdec: check chapter creation in decode_info_header

This fixes a segmentation fault when accessing the metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agompegts: Update the PSI/SI table only if the version change
John Högberg [Tue, 28 Apr 2015 08:20:33 +0000 (10:20 +0200)]
mpegts: Update the PSI/SI table only if the version change

If a PAT is finished while a PMT section filter is opened but
not yet finished, the PMT section filter is closed and all
the received data is discarded.

This is usually not an issue but some multiplexers (With very
quick PAT/PMT repetition settings) consistently emit a PMT
section start, then a PAT, and then the rest of the PMT,
causing the aforementioned behavior to result in no PMT being
finished.

In the most pathologic situation the stream information are lost
and the probe fallback miscategorizes subtitles as mp3 audio.

Avoid the issue through eliminating redundant PSI/SI table
updates by checking their version field, which is required by
the standard to be incremented on every change no matter how
minor.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agonutdec: check for negative frame rate in decode_info_header
Andreas Cadhalpun [Tue, 28 Apr 2015 18:31:56 +0000 (20:31 +0200)]
nutdec: check for negative frame rate in decode_info_header

A negative frame rate triggers an av_assert2 in av_rescale_rnd.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/vqavideo: Use ff_tlog() for byte and opcode tracing
Michael Niedermayer [Tue, 28 Apr 2015 17:55:39 +0000 (19:55 +0200)]
avcodec/vqavideo: Use ff_tlog() for byte and opcode tracing

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavformat/dtsdec: Extend DTS core sync word
foo86 [Tue, 28 Apr 2015 14:47:53 +0000 (17:47 +0300)]
avformat/dtsdec: Extend DTS core sync word

Check extended sync word for 16-bit LE and BE core streams to reduce
probability of alias sync detection. Previously sync word extension was
checked only for 14-bit streams.

This follows up the similar change in avcodec/dca_parser.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoh263: Convert function to macro
Vittorio Giovara [Tue, 28 Apr 2015 09:38:29 +0000 (10:38 +0100)]
h263: Convert function to macro

9 years agoh263: Drop commented-out code and a related otherwise unused function
Vittorio Giovara [Tue, 28 Apr 2015 09:38:28 +0000 (10:38 +0100)]
h263: Drop commented-out code and a related otherwise unused function

9 years agojpeglsenc: Mark codec as init-thread-safe and init-cleanup
Vittorio Giovara [Fri, 24 Apr 2015 15:59:33 +0000 (16:59 +0100)]
jpeglsenc: Mark codec as init-thread-safe and init-cleanup

Fixes a memory leak on init failure.

9 years agojpeglsenc: Check memory allocations
Vittorio Giovara [Fri, 24 Apr 2015 15:59:32 +0000 (16:59 +0100)]
jpeglsenc: Check memory allocations

Convert exisiting free functions to av_freep() to avoid accidental
double frees, and always intialize all buffers to NULL.

9 years agoflacenc: Move a scratch buffer to struct used by the function
Vittorio Giovara [Tue, 28 Apr 2015 14:50:39 +0000 (15:50 +0100)]
flacenc: Move a scratch buffer to struct used by the function

This avoids allocating/freeing memory at every function call,
checking its return value, and carrying the error around.

9 years agoffmpeg: remove incorrect network deinit
Michael Niedermayer [Thu, 23 Apr 2015 12:29:47 +0000 (14:29 +0200)]
ffmpeg: remove incorrect network deinit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoapedec: prevent out of array writes in decode_array_0000
Andreas Cadhalpun [Tue, 28 Apr 2015 09:13:43 +0000 (11:13 +0200)]
apedec: prevent out of array writes in decode_array_0000

s->decoded_buffer is allocated with a min_size of:
    2 * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer)

Then it is assigned to s->decoded[0] (and s->decoded_buffer + FFALIGN(blockstodecode, 8)
to s->decoded[1]) and passed as out buffer to decode_array_0000.

In this function 64 elements of the out buffer are written
unconditionally and outside the array if blockstodecode is too small.

This causes memory corruption, leading to segmentation faults or other
crashes.

Thus change decode_array_0000 to write at most blockstodecode elements
of the out buffer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoOpenCL: Fix ABI incompatibility issues
Maneesh Gupta [Tue, 28 Apr 2015 07:32:38 +0000 (13:02 +0530)]
OpenCL: Fix ABI incompatibility issues

AVOpenCLDeviceNode and AVOpenCLPlatformNode used fixed static buffer for holding the device and platform name.
This patch modifies these structures to use pointers instead. The memory required to hold the names is
now dynamically allocated, the size for which is determined by querying appropriate OpenCL runtime APIs.

Signed-off-by: Maneesh Gupta <maneesh.gupta@amd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoOpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
Maneesh Gupta [Tue, 28 Apr 2015 07:38:31 +0000 (13:08 +0530)]
OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c

The opt_opencl_bench function copied the device name using strcpy without checking if the source string was larger.
This patch fixes this by replacing the strcpy with av_strlcpy, with the string copy size capped to the destination buffer size.

Signed-off-by: Maneesh Gupta <maneesh.gupta@amd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agowebmdashenc: Fix UTCTiming Element
Vignesh Venkatasubramanian [Mon, 27 Apr 2015 23:26:34 +0000 (16:26 -0700)]
webmdashenc: Fix UTCTiming Element

Remove the direct profile from UTCTiming element. Per DASH spec,
direct profile value should be the time at which the request was
made to the server and not the time at which the manifest was
written. So ffmpeg cannot write this value. This patch removes
the direct profile and write the UTCTiming element with the http
profile only if a URL is passed as a parameter. Update the fate
test to reflect this change.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoapedec: set s->samples only when init_frame_decoder succeeded
Andreas Cadhalpun [Mon, 27 Apr 2015 22:30:51 +0000 (00:30 +0200)]
apedec: set s->samples only when init_frame_decoder succeeded

Otherwise range_start_decoding is not necessarily run and thus
ctx->rc.range still 0 in range_dec_normalize leading to an infinite
loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolibavformat/webm_chunk: Write first audio packet.
Vignesh Venkatasubramanian [Mon, 27 Apr 2015 21:47:03 +0000 (14:47 -0700)]
libavformat/webm_chunk: Write first audio packet.

Fix a bug where the chunk muxer doesn't write the very first audio
packet (with pts == 0).

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/hevc: Remove current_sps
Michael Niedermayer [Mon, 27 Apr 2015 21:51:09 +0000 (23:51 +0200)]
avcodec/hevc: Remove current_sps

The variable should not be needed anymore

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agotests: make sure subtitles tests are run with a rawdiff
Clément Bœsch [Sun, 26 Apr 2015 17:29:40 +0000 (19:29 +0200)]
tests: make sure subtitles tests are run with a rawdiff

This will test properly CRLF with make fate, make fate-subtitles and any
make fate-sub-* test. Before this commit, the rawdiff was triggered only
by make fate-subtitles.

Also make sure fate-sub-* only match the tests relying on fmtstdout
command, to at least avoid failing on MingW. See
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-April/172395.html

9 years agotests/subtitles: fix microdvd crlf in ref
Clément Bœsch [Sun, 26 Apr 2015 17:30:39 +0000 (19:30 +0200)]
tests/subtitles: fix microdvd crlf in ref

9 years agoAdapt libavcodec/tableprint_vlc.h to the av_dlog -> ff_dlog change.
Alexis Ballier [Mon, 27 Apr 2015 15:33:01 +0000 (17:33 +0200)]
Adapt libavcodec/tableprint_vlc.h to the av_dlog -> ff_dlog change.

This fixes the build with --enable-hardcoded-tables that was broken since [8f7b022c8c2f40bf8ddfd90778a4c91424d3a8e5].

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agomakefile: add Loongson-3 support
ZhouXiaoyong [Mon, 27 Apr 2015 02:40:29 +0000 (10:40 +0800)]
makefile: add Loongson-3 support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec() delete macros VEC_FMERGEH...
Rong Yan [Mon, 27 Apr 2015 03:29:51 +0000 (03:29 +0000)]
avcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec() delete macros VEC_FMERGEH() VEC_FMERGEL(), they where wrong

GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two separate commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoswscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF...
Rong Yan [Mon, 27 Apr 2015 03:19:45 +0000 (03:19 +0000)]
swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong

GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two separate commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>