Ronald S. Bultje
6019002f0f
vp9: support non-420 chroma subsampling for profile 1 token decoding.
2015-05-01 08:45:52 +02:00
Ronald S. Bultje
2d0bea4719
vp9: increase buffer sizes for non-420 chroma subsamplings.
2015-05-01 08:45:51 +02:00
Ronald S. Bultje
a03b057ede
vp9: profile 1 header decoding.
2015-05-01 08:45:51 +02:00
Shivraj Patil
02001ada5c
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>
2015-05-01 04:19:18 +02:00
Michael Niedermayer
3cd666cfbc
avcodec/svq3: Fix memleak of last_pic_for_ec
...
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-01 03:15:46 +02:00
Ronald S. Bultje
5935513c0e
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>
2015-04-30 23:32:09 +02:00
Michael Niedermayer
828759ed9a
avcodec/cook: Remove unneeded #if
...
The code is already doing nothing if DEBUG is disabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 20:13:59 +02:00
Michael Niedermayer
8a710ddc7c
avcodec/libx264: Remove cleanup code, its uneeded since FF_CODEC_CAP_INIT_CLEANUP
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 17:23:20 +02:00
foo86
e80b2b9c81
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>
2015-04-29 17:08:48 +02:00
Michael Niedermayer
50e46b7f0d
Merge commit ' a09c499a2e'
...
* commit 'a09c499a2e ':
rawenc: properly allocate coded_frame
Conflicts:
libavcodec/rawenc.c
See: 881f96c4c2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 16:49:47 +02:00
Michael Niedermayer
36f862e04c
Merge commit ' a0f2946068'
...
* commit 'a0f2946068 ':
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>
2015-04-29 16:35:24 +02:00
Michael Niedermayer
07a79cf869
Merge commit ' 7a4f74eed5'
...
* commit '7a4f74eed5 ':
h264: embed the DPB in the context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 15:33:46 +02:00
Michael Niedermayer
4a95cd5d9b
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>
2015-04-29 15:21:28 +02:00
Michael Niedermayer
bd7dce594e
Merge commit ' 88c612e3a4'
...
* commit '88c612e3a4 ':
h264: merge the init and reinit paths in update_thread_context()
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 15:21:20 +02:00
Michael Niedermayer
cc87493f06
Merge commit ' 8a66fd4026'
...
* commit '8a66fd4026 ':
h264: drop the reinit parameter from init_slice_header()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:55:58 +02:00
Michael Niedermayer
51f7ba9cee
Merge commit ' c9ccbc7333'
...
* commit 'c9ccbc7333 ':
h264: update the current bit depth/chroma type in init_slice_header()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:48:45 +02:00
Michael Niedermayer
16b90d0bcb
Merge commit ' 29dcde2b87'
...
* commit '29dcde2b87 ':
h264: copy nal_length_size in update_thread_context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:41:24 +02:00
Michael Niedermayer
1aa3a0f457
Merge commit ' 440e8dd374'
...
* commit '440e8dd374 ':
h264: drop a comment that carries no useful information
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:33:17 +02:00
Michael Niedermayer
d3a5dba81b
Merge commit ' 11f024ef0a'
...
* commit '11f024ef0a ':
h264: move freeing the escaped RBSP buffer to free_context()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 13:26:33 +02:00
Michael Niedermayer
ab7ad5e6a1
Merge commit ' ee62b364be'
...
* commit 'ee62b364be ':
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>
2015-04-29 13:23:45 +02:00
Michael Niedermayer
580c86925d
Merge commit ' 54986d6db9'
...
* commit '54986d6db9 ':
h264: move context reinit lower down in update_thread_context()
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 12:11:09 +02:00
Michael Niedermayer
cd63252f1f
Merge commit ' a6cd154463'
...
* commit 'a6cd154463 ':
h264: move the DPB init/uninit to init_context()/free_context()
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 11:48:39 +02:00
Michael Niedermayer
e8a460672f
Merge commit ' 9d33bab583'
...
* commit '9d33bab583 ':
h264: drop H264Context.ouputed_poc
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 11:38:42 +02:00
Michael Niedermayer
0d5e615c10
Merge commit ' 27b0e6ebfd'
...
* commit '27b0e6ebfd ':
h264: drop needs_realloc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 11:28:28 +02:00
Anton Khirnov
a09c499a2e
rawenc: properly allocate coded_frame
2015-04-29 05:52:58 +02:00
Anton Khirnov
a0f2946068
h264: use properly allocated AVFrames
2015-04-29 05:52:58 +02:00
Anton Khirnov
7a4f74eed5
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.
2015-04-29 05:52:58 +02:00
Anton Khirnov
88c612e3a4
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.
2015-04-29 05:52:58 +02:00
Anton Khirnov
8a66fd4026
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.
2015-04-29 05:52:58 +02:00
Anton Khirnov
c9ccbc7333
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.
2015-04-29 05:52:58 +02:00
Anton Khirnov
29dcde2b87
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.
2015-04-29 05:52:58 +02:00
Anton Khirnov
440e8dd374
h264: drop a comment that carries no useful information
2015-04-29 05:52:58 +02:00
Anton Khirnov
11f024ef0a
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.
2015-04-29 05:52:58 +02:00
Anton Khirnov
ee62b364be
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.
2015-04-29 05:52:57 +02:00
Anton Khirnov
54986d6db9
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.
2015-04-29 05:52:57 +02:00
Anton Khirnov
a6cd154463
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.
2015-04-29 05:52:57 +02:00
Anton Khirnov
9d33bab583
h264: drop H264Context.ouputed_poc
...
It is only set, but never used for anything.
2015-04-29 05:52:57 +02:00
Anton Khirnov
27b0e6ebfd
h264: drop needs_realloc
...
It is not needed anymore since switching to refcounted frames.
2015-04-29 05:52:57 +02:00
Michael Niedermayer
f6c524a939
Merge commit ' 0c69164f45'
...
* commit '0c69164f45 ':
h263: Convert function to macro
Conflicts:
libavcodec/h263.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 04:11:21 +02:00
Michael Niedermayer
78f50e7eb6
Merge commit ' 59dfc2b0c8'
...
* commit '59dfc2b0c8 ':
h263: Drop commented-out code and a related otherwise unused function
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 04:04:06 +02:00
Michael Niedermayer
966a57b6e9
Merge commit ' c341820130'
...
* commit 'c341820130 ':
jpeglsenc: Mark codec as init-thread-safe and init-cleanup
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 03:56:32 +02:00
Michael Niedermayer
27801500ee
Merge commit ' 3919a45726'
...
* commit '3919a45726 ':
jpeglsenc: Check memory allocations
Conflicts:
libavcodec/jpeglsenc.c
See: 48214956b2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 03:47:15 +02:00
Michael Niedermayer
77010a41fe
Merge commit ' f5ba67ee13'
...
* commit 'f5ba67ee13 ':
flacenc: Move a scratch buffer to struct used by the function
Conflicts:
libavcodec/flacenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29 03:32:47 +02:00
Michael Niedermayer
5bebd13d2d
avcodec/vqavideo: Use ff_tlog() for byte and opcode tracing
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 19:55:39 +02:00
Vittorio Giovara
0c69164f45
h263: Convert function to macro
2015-04-28 16:33:09 +01:00
Vittorio Giovara
59dfc2b0c8
h263: Drop commented-out code and a related otherwise unused function
2015-04-28 16:31:05 +01:00
Vittorio Giovara
c341820130
jpeglsenc: Mark codec as init-thread-safe and init-cleanup
...
Fixes a memory leak on init failure.
2015-04-28 16:29:29 +01:00
Vittorio Giovara
3919a45726
jpeglsenc: Check memory allocations
...
Convert exisiting free functions to av_freep() to avoid accidental
double frees, and always intialize all buffers to NULL.
2015-04-28 16:27:16 +01:00
Vittorio Giovara
f5ba67ee13
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.
2015-04-28 16:25:09 +01:00
Andreas Cadhalpun
699341d647
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>
2015-04-28 12:43:13 +02:00