Vittorio Giovara
18db1286b0
libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
eae7338e15
libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
74a1cad7e3
lclenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
bb428e00ac
hqx: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
43171886e0
huffyuvenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
d90133b77b
asvenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:10 +01:00
Vittorio Giovara
a4edaeb50f
hq_hqa: Fix table data for profile 17
...
The table had a wrong table height and was missing the first line of bytes.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-24 14:55:10 +01:00
Vittorio Giovara
5bba3ab0cf
internal: Make dlog/tlog a no-op when disabled
...
Improves Coverity analysis, avoiding "double semicolon" CIDs.
2015-04-24 14:55:10 +01:00
Luca Barbato
0a51c7d42a
prores: Set the bits_per_coded_sample for alpha pix_fmt
...
Improve the compatibility with other software.
2015-04-22 20:50:10 +02:00
Luca Barbato
28eddef689
hq_hqa: Validate get_vlc2 return value
...
The `hq_ac_vlc.table` is incomplete, so unaccounted symbol return -1
as value.
2015-04-22 12:27:43 +02:00
Luca Barbato
a78f5548d9
avcodec: Free the default avoptions on init failure
2015-04-22 12:27:13 +02:00
Luca Barbato
aef0be0875
avcodec: Unref the dummy buffer on the fail path
2015-04-22 12:27:13 +02:00
Vittorio Giovara
bd5ad8b23d
hq_hqa: Fix reading hqa quantization matrix index
...
Value is stored as a byte.
2015-04-20 19:20:22 +01:00
Vittorio Giovara
1746dc382d
hqxdsp.h: #include "stddef.h"
...
It is required by ptrdiff_t, fixes make checkheaders.
2015-04-20 19:19:23 +01:00
Vittorio Giovara
86e1a35802
h264_ps: Return meaningful error codes and address a memory leak
...
Bug-Id: CID 1026763
2015-04-20 14:59:40 +01:00
Diego Biurrun
338ed3ed33
ffv1: Pass correct pointers to av_free()
...
Bug-Id: CID 1295124
2015-04-20 14:59:40 +01:00
Thomas Guillem
b18346817d
flac: fix realloc loop with invalid flac files
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:33 +02:00
Eric Zimmerman
eb31256f12
g2meet: Support G2M5 codec variant
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:45:35 +01:00
Andreas Cadhalpun
09bd7ddf20
aacdec: consistently use avctx for logging in decode_eld_specific_config
...
ac may be NULL and then accessing ac->avctx results in a segmentation fault.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-19 23:45:35 +01:00
Vittorio Giovara
3d71b1f8f0
mpegvideo_enc: Simplify picture allocation
2015-04-19 23:17:56 +01:00
Vittorio Giovara
0251c9be5a
motion_est: Fix warning from zero_cmp() assignment
...
warning: incompatible
pointer types assigning to 'me_cmp_func' (aka 'int (*)(struct
MpegEncContext *, uint8_t *, uint8_t *, ptrdiff_t, int)') from 'int
(MpegEncContext *, uint8_t *, uint8_t *, int, int)'
[-Wincompatible-pointer-types]
2015-04-19 23:17:56 +01:00
Vittorio Giovara
4d593896aa
vc1_pred: Always initialize px and py in ff_vc1_pred_mv_intfr()
...
Fix a rather lengthy initialization warning from clang.
2015-04-19 23:17:56 +01:00
Vittorio Giovara
22526c1f55
Canopus HQ/HQA decoder
...
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:37:23 +01:00
Vittorio Giovara
e6fb844f7b
Implement shared parsing of INFO tag in Canopus family
...
Add some bounds checking to CLLC; reduce HQX variable scoping,
add an error message.
2015-04-19 22:37:02 +01:00
Vittorio Giovara
5b5338f6d1
hqx: Implement slice-threaded decoding
...
Inspired by a patch from Ferdinand Oeinck <ferdo@demon.nl>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:36:48 +01:00
Vittorio Giovara
453642f8af
hqx: Store shareable data in main decoder context
...
In preparation for multithreaded decoding.
2015-04-19 22:36:41 +01:00
Vittorio Giovara
ea031b75fb
hqx: Move DSP related code to a separate file
2015-04-19 12:41:59 +01:00
Vittorio Giovara
17aa81d947
hqx: Merge invalid format check within switch block
2015-04-19 12:41:59 +01:00
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
Luca Barbato
ec89f35e3e
x265: Map color parameters
2015-04-15 09:48:48 +02:00
Luca Barbato
0cbb147317
x264: Map color parameters
2015-04-15 09:48:47 +02:00
wm4
13e4f2c7f7
mpeg4videodec: Remove useless messages
...
They seem to sometimes trigger with old AVI files. They are just
confusing, do not help anyone, and use sloppy language.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:43 +02:00
wm4
49e531ff47
mmal: Reference MMAL VC lib explicitly
...
This is optional, but ensures that linking with -Wl,--as-needed does not
drop the library containing the MMAL VC driver. The driver normally
"registers" itself in the library constructor, but since no symbols are
explicitly referenced, the linker could remove it with --as-needed
enabled.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:13 +02:00
wm4
2de7650451
mmal: Move system headers before local headers
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:10 +02:00
Vittorio Giovara
73dacabfc9
ffv1: Check memory allocations
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-13 17:51:31 +02:00
James Almer
bbdb50d7a8
libx265: print supported presets and tunes on error
...
Based on code from libavcodec/libx264.c
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-11 11:13:28 -04:00
Ferdinand Oeinck
0266988ccd
hqx: Fix clipping error in idct put function
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-09 13:52:04 +02:00
Vittorio Giovara
5980c924e3
dnxhd: Log the selected profile id
2015-04-09 13:51:58 +02:00
Vittorio Giovara
f8fd0c29ce
v210: Fix typo in header guards
2015-04-09 13:40:44 +02:00
Diego Biurrun
bb815dfc38
g2meet: K&R formatting cosmetics
2015-04-08 14:23:36 +02:00
Anton Khirnov
249796e256
svq3: initialize some required H264Context fields.
...
They are no longer initialized in ff_h264_decode_init() since 43fd3dd
,
so svq3 needs to initialize the manually.
Fixes svq3 decoding, broken since 43fd3dd
.
2015-04-05 21:02:56 +02:00
Martin Storsjö
5637ff0121
libavcodec: Clarify the documentation of the internal codec capability flags
...
The previous documentation was very vague and almost misleading.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-05 20:47:50 +03:00
Michael Niedermayer
31048d48b0
avcodec/libx265: export chosen picture types
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-05 12:32:07 -04:00
Anton Khirnov
bd737b5178
h264: reset the private data in init_thread_copy()
...
The generic code copies the main context's private data to all the
others. However that is quite dangerous, as it might end up copying some
pointers that are or will become invalid.
Since everything we actually need will be copied later in
update_thread_context(), it's safest to zero the private data in
init_thread_copy(), so it works the same way as init for the main
context.
2015-04-05 12:03:07 +02:00
Anton Khirnov
a939e5b252
h264: remove a commented out nonsense line
2015-04-05 12:03:02 +02:00
Anton Khirnov
65afa65e73
h264: drop redundant initialization of the scaling matrices
...
It will always be initialized when actually parsing the PPS.
2015-04-05 12:02:57 +02:00
Anton Khirnov
e1f907711a
h264: factor out common code from init() and init_thread_copy()
2015-04-05 12:02:35 +02:00
Anton Khirnov
43fd3dd80c
h264: drop redundant initialization in init()
...
There is no real advantage to initializing any of those in init,
assuming yuv420, before the real stream parameters are known.
2015-04-05 12:02:26 +02:00
Anton Khirnov
050324d020
h264: initialize cur_chroma_format_idc
...
This makes sure the various DSP contexts get properly initialized in
ff_h264_set_parameter_from_sps() whatever the value of
raw_bits_per_sample.
2015-04-05 12:02:20 +02:00
Anton Khirnov
84f226a3bc
h264: use the correct SPS during PPS parsing
...
There is in general no reason for the currently active SPS to be the one
referenced by the PPS being parsed.
2015-04-05 12:01:34 +02:00
Anton Khirnov
a4d34e218f
h264: disable ER by default
...
The way it is currently designed is fundamentally unsafe and cannot be
reasonably fixed without completely rewriting it.
2015-04-03 13:14:43 +02:00
Anton Khirnov
df528b11ac
hevc: make sure no dangling pointers remain around on VPS/SPS change
2015-04-03 13:10:03 +02:00
Anton Khirnov
ce0bc09ee2
hevc: do not change the VPS if its contents are the same
...
This is the same as is done for SPS.
2015-04-03 13:10:03 +02:00
Anton Khirnov
7693ba0a0e
hevc: export stream parameters from extradata
...
This allows the callers to have a hint of the probable stream parameters
without actually decoding anything.
2015-04-03 13:10:03 +02:00
Anton Khirnov
1ae7afd256
hevc: split out setting AVCodecContext parameters
...
Additionally always set the software pixel format, so it's available
even if ff_get_format() is not called later. This will be useful for
exporting stream parameters from init().
2015-04-03 13:10:02 +02:00
Diego Biurrun
4978850ca2
build: Split JPEG-related tables off into a separate component
2015-03-30 17:51:21 +02:00
Diego Biurrun
87f87ccf32
mjpeg: Use a more precise type for put_marker()
2015-03-30 17:51:20 +02:00
Diego Biurrun
e6e3dcba0c
mjpeg: Move code only used in the encoder(s) to the appropriate header
2015-03-30 17:51:20 +02:00
Himangi Saraogi
6ed38b1f65
tiff: Return more meaningful error codes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-30 17:51:20 +02:00
Diego Biurrun
23944d29a2
indeo: Give Indeo4/5 shared code a more consistent name
2015-03-30 17:49:05 +02:00
Diego Biurrun
7d3183d3a4
qsv: Skip header compilation depending on what parts of qsv are enabled
2015-03-30 17:41:48 +02:00
Hendrik Leppkes
72025ac36c
lavc: add libdcadec decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 10:15:09 +02:00
Hendrik Leppkes
6fe2641d6e
lavc: add profile define for DTS Express
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 10:00:38 +02:00
wm4
c48456166e
lavc: add MMAL hardware decoder wrapper
...
Based on a patch by Rodger Combs.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 09:55:20 +02:00
Anton Khirnov
72b7441a10
lavc: add Intel libmfx-based H.264 encoder
2015-03-27 22:02:10 +01:00
Anton Khirnov
9ba27c2348
qsvdec: add 'decode' to the non-static function names
2015-03-27 21:57:47 +01:00
Anton Khirnov
d0a63d8b98
qsvdec: split off some code that will be shared with the encoder
2015-03-27 21:57:28 +01:00
Anton Khirnov
b04d009b0e
qsv: rename to qsvdec
...
This is to avoid conflicts with the upcoming QSV encoding support.
2015-03-27 21:56:36 +01:00
Hendrik Leppkes
1ddd3e23a4
vaapi_h264: fix slice data offset
2015-03-23 20:53:29 +00:00
Hendrik Leppkes
ae4f5d944c
dxva2_h264: fix slice offset in long slice structs
2015-03-23 20:53:29 +00:00
Michael Niedermayer
b21af32aed
lavc: Prefer x264 over openh264 if both libraries are available
2015-03-23 20:53:29 +00:00
Anton Khirnov
c28ed1d743
h264: move [uv]linesize to the per-slice context
...
While it is a per-frame variable, it is only really used in the
low-level decoding code, so it is more efficient to store it in the
slice context.
2015-03-21 11:27:16 +01:00
Anton Khirnov
b53569e068
h264_cabac: remove now unnecessary H264Context function parameters
2015-03-21 11:27:16 +01:00
Anton Khirnov
a12d3188cb
h264: use a smaller struct for the ref lists
...
There is no need to store a whole H264Picture, with a full AVFrame
embedded in it. This should allow getting rid of the embedded AVFrame
later.
2015-03-21 11:27:16 +01:00
Anton Khirnov
94295106d2
h264_mb: remove an unused function parameter
2015-03-21 11:27:16 +01:00
Anton Khirnov
2b4c38d3c6
h264: drop some mpegvideo remnants from draw_horiz_band()
...
This code makes no sense for h.264.
2015-03-21 11:27:16 +01:00
Anton Khirnov
5bf3c0fa49
h264: drop the now unused per-slice H264Contexts
2015-03-21 11:27:16 +01:00
Anton Khirnov
51d8725a6e
h264: use the main H264Context as the parent for all slice contexts
...
There is now no need to have per-slice copies of the H264Context.
2015-03-21 11:27:15 +01:00
Anton Khirnov
92e0b7342c
h264_slice: constify all the uses of H264Context during slice decoding
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
3178f4d33f
h264: move rbsp_buffer into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
582683b6ac
h264: move remaining ER stuff into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
5bc69f38c1
error_resilience: do not require mbintra/skip tables
...
h264dec does not use them at all and only allocates them for ER.
2015-03-21 11:27:15 +01:00
Anton Khirnov
c377e04d8a
h264: move top_borders into the per-slice context
...
Also change the method for allocating to the same one as used by
edge_emu_buffer.
2015-03-21 11:27:15 +01:00
Anton Khirnov
36d04801ba
h264: move the scratch buffers into the per-slice context
...
Also change the method for allocating them. Instead of two possible
alloc calls from different places, just ensure they are allocated at the
start of each slice. This should be simpler and less bug-prone than the
previous method.
2015-03-21 11:27:15 +01:00
Anton Khirnov
34d4c605e9
h264_loopfilter: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
7505c8dfba
h264_cavlc: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
ba7e165b86
h264_cabac: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
5c4b98de4d
h264.c: constify all uses of H264Context in slice and lower-level functions
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
e9b2383bf8
h264: move mb_mbaff into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
bc98e8c0e0
h264: move mb_field_decoding_flag into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
6490a0c0fb
h264_mb: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
51822879e7
h264_mb: constify block_offset
...
It is read-only in this code.
2015-03-21 11:27:15 +01:00
Anton Khirnov
3bea6409a1
h264_mvpred: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
460176aa19
h264.h: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
d27b8248a6
h264_direct: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
f42485dbce
h264: use a separate GetBitContext for slice data
2015-03-21 11:27:14 +01:00
Anton Khirnov
2ea00e35e4
h264: do not abuse the context as a temporary storage in get_last_needed_nal()
...
Use a local variable instead.
2015-03-21 11:27:14 +01:00
Anton Khirnov
404a416d4b
h264: remove some remnants of data partitioning
2015-03-21 11:27:14 +01:00
Anton Khirnov
7bbc254d64
h264: move resync_mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
d4d9068cdf
h264: move mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00