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
Anton Khirnov
0edbe6faa7
h264: move mb_xy into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
07c5ca551b
h264: move is_complex into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
47a0d39350
h264: move mb_skip_run into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
9951907f6f
h264: move redundant_pic_count into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a9b201cacf
h264: move cabac_init_idc into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
e6c90ce94f
h264: move loopfilter parameters into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
bd3e460b73
h264: move direct_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
6479c79f55
h264: move mvd_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a67f8ae9a2
h264: move mvd_table into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
5c8280c307
h264: move last_qscale_diff into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e7226984ac
h264: move [{top,left}_]cbp into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
30da98adbd
h264: move cabac[_state] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
bf03a878a7
h264: move mb[_{padding,luma_dc}] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
b063582e0c
h264: move intra_pcm_ptr into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
95eb35f305
h264: move the ref lists variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
7747726667
h264: move map_col_to_list0[_field] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
ee0d774dfa
h264: move dist_scale_factor[_field] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
be69f0a800
h264: move col_{parity,fieldoff} into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
066aafced4
h264: move direct_spatial_mv_pred into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
ed451a08a4
h264: move sub_mb_type into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
56febc993b
h264: move the slice type variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
5f390eef8e
h264: move mb_[uv]linesize into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
99a35d1ccb
h264: move neighbor_transform_size into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e6287f077c
h264: move {mv,ref}_cache into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
f69574cf7a
h264: move non_zero_count_cache into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
64c81b2cd0
h264: move *_samples_available into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
7d8154edd5
h264: move intra4x4_pred_mode[_cache] into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
8b00f4df20
h264: move some neighbour information into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
4bd5ac200d
h264: move {chroma,intra16x16}_pred_mode into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
5355ed6b20
h264: move {prev,next}_mb_skipped into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
06789ad3b7
h264: move qp_thresh into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
d231e84b06
h264: move the quantizers into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
d40ae0e595
h264: do not copy qscale when updating per-thread contexts
...
It's a per-slice quantity constructed when parsing the slice header.
2015-03-21 11:27:12 +01:00
Anton Khirnov
92c6c2a605
h264: split weighted pred-related vars into per-slice context
2015-03-21 11:27:09 +01:00
Anton Khirnov
d8a45d2d49
h264_ps: properly check cropping parameters against overflow
...
CC: libav-stable@libav.org
2015-03-21 09:35:23 +01:00
Anton Khirnov
5127c00b97
hevc: zero the correct variables on invalid crop parameters
...
It's the output_window that is applied to the output frame, not
pic_conf_win
2015-03-21 09:35:19 +01:00
Anton Khirnov
c929659bdd
hevc: make the crop sizes unsigned
2015-03-21 09:35:14 +01:00
Andreas Cadhalpun
30e6abd1a8
webp: ensure that each transform is only used once
...
According to the WebP Lossless Bitstream Specification
"each transform is allowed to be used only once".
If a transform is more than once this can lead to memory
corruption.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-19 21:03:13 +01:00
Martin Storsjö
58a840e215
Replace a few leftover instances of enum PixelFormat with enum AVPixelFormat
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-17 23:53:33 +02:00
Vittorio Giovara
cdce9e8025
aacsbr: Fix type for index variable
...
Prevents unsigned overflow and variable truncation.
Bug-Id: CID 603186
2015-03-17 13:34:23 +00:00
Vittorio Giovara
7c60c124c8
hqx: Drop unused offsets table
...
This is a leftover from the static to dynamic vlc table conversion.
2015-03-17 13:34:23 +00:00
Carl Eugen Hoyos
c0f504e947
libx264: Allow full-range yuv422 and yuv444 pixel formats
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-17 13:34:22 +00:00
Niels Möller
c9ed48e80e
dca: Read params->pancABIT0[param_index] only if part0 is set
...
Prevent a spurious read from uninitialized memory.
2015-03-17 12:31:07 +01:00
Luca Barbato
48aef27f52
x86: Put COPY3_IF_LT under HAVE_6REGS
...
It uses 6 registers, unbreaks building on hardened x86 system.
Bug-Id: gentoo/541930
CC: libav-stable@libav.org
2015-03-17 12:31:04 +01:00
Niels Möller
217e4ff4d1
dca: Support for XLL (lossless extension)
...
Cleanup and integration by Diego Biurrun.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-15 14:51:36 +01:00
Diego Biurrun
4da5aacc7e
dca: Mark syncword constants unsigned; they do not fit in 32-bit signed int
2015-03-13 21:20:37 +01:00
Vittorio Giovara
247e370e2a
TDSC decoder
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-13 19:48:14 +00:00
Vittorio Giovara
5a0e953c24
mjpeg: Mark decoder family as thread safe
...
No global variables are used and the VLC tables are allocated without
static elements. This will allow using a JPEG decoding context within
other decoders.
2015-03-13 19:48:07 +00:00
Vittorio Giovara
117b432748
lavc: Introduce AVCodec internal capabilities
...
This field is designed for marking codec properties useful to lavc internals.
Two internal capabilities are added:
- FF_CODEC_CAP_INIT_THREADSAFE: codec can be opened without locks;
- FF_CODEC_CAP_INIT_CLEANUP: codec frees memory if initialization fails.
2015-03-13 19:47:47 +00:00
Vittorio Giovara
9993a067f6
lavc: Improve thread locking error message
2015-03-13 19:47:34 +00:00
Himangi Saraogi
913aa9a487
libx264: Return more meaningful error codes
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-12 19:09:22 +01:00
Vittorio Giovara
17c45d4d05
libtheora: Check frame allocation
2015-03-12 15:29:59 +00:00
Vittorio Giovara
a72d93daa0
mpegvideo_enc: Check AVCodecContext allocation
2015-03-12 15:29:59 +00:00
Niels Möller
78c8922841
dca: Document the permuted order in the lfe_fir_64 and lfe_fir_128 tables
2015-03-12 13:28:42 +01:00
Andreas Cadhalpun
67142a8c72
roqvideoenc: set enc->avctx in roq_encode_init
...
So far it is only set in roq_encode_frame, but it is used in
roq_encode_end to free the coded_frame. This currently segfaults if
roq_encode_frame is not called between roq_encode_init and
roq_encode_end.
CC:libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 20:28:13 +01:00
Yukinori Yamazoe
212556cd21
qsv: Improve the log message of when initializing MFX_IMPL_HARDWARE{2, 3, 4}
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 19:48:01 +01:00
Hendrik Leppkes
dc2d0e06af
mlpdec: support TrueHD streams with an Atmos substream
...
The fourth substream is being discarded, since its not raw audio data,
but an encoded Atmos stream which needs a specialized decoder.
Fixes decoding of the true hd stream from Transformers\ -\ Age\ of\ Extinction\ 2014\ 1080P-003.mkv
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 16:06:40 +01:00
Hendrik Leppkes
f36f6a608b
mlpdec: support major sync headers with optional extension blocks
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-11 16:03:13 +01:00
Vittorio Giovara
93f7948136
libvpx: Fix mixed use of av_malloc() and av_reallocp()
...
This buffer is resized when vpx_codec_get_cx_data() returns a
VPX_CODEC_STATS_PKT packet.
CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-09 12:58:18 +00:00
Michael Niedermayer
0ce3a0f9d9
utvideodec: Handle slice_height being zero
...
Fixes out of array accesses.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-9604
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-09 00:51:15 +01:00
Anton Khirnov
ae5e1f3d66
tiff: Check that there is no aliasing in pixel format selection
...
Fixes possible issues with unexpected bpp/bppcount values.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Bug-Id: CVE-2014-8544
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-08 19:14:14 +01:00
Luca Barbato
0025f7408a
vorbis: Check the vlc value in setup_classifs
...
The valid returned values are always at most 11bit.
Remove the previous check that assumed larger values plausible and
use a signed integer to check get_vlc2 return values.
CC: libav-stable@libav.org
2015-03-08 14:33:03 +01:00
Luca Barbato
62de77ffca
vorbis: Use a local codebook variable
...
Makes the code a little simpler.
2015-03-08 14:33:02 +01:00
Martin Storsjö
25c29d3283
libopenh264enc: Add support for building with OpenH264 1.4
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:02:47 +02:00
Anton Khirnov
ad786dd450
h264: remove a now redundant error check
...
It was only relevant when data partitioning was in use.
2015-03-05 16:10:11 +01:00
Andreas Cadhalpun
4f2ee9daee
webp: validate the distance prefix code
...
According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.
If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Andreas Cadhalpun
66624ed631
rv10: check size of s->mb_width * s->mb_height
...
If it doesn't fit into 12 bits it triggers an assertion.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Himangi Saraogi
f3b74d944b
pcxenc: Return more meaningful error codes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-04 23:44:01 +01:00
Vittorio Giovara
87e85a133f
aac: Relax reserved_bit validation
...
Although the specification mandates this bit to zero, it may happen
that software tools incorrectly flip it to one, invalidating a possibly
valid stream.
Relax this restriction, by failing only when AV_EF_BITSTREAM is set.
This behaviour is similar to aac decoders in Firefox and Quicktime.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-04 16:36:16 +00:00
Diego Biurrun
25f613f8be
dca: Move syncword definitions to a separate header
2015-03-04 13:29:33 +01:00
Anton Khirnov
db5cc75f8b
wma.h: #include "avcodec.h"
...
It's required for at least AVCodecContext.
Fixes make checkheaders.
2015-03-03 20:57:56 +01:00
Vittorio Giovara
e878ec0d47
aic: Fix decoding files with odd dimensions
...
Normally the aic decoder finds the proper slice combination (multiple of
some number less than 32) but in case of odd width, it resorts to the
default values, which were actually swapped.
The number of slices is modified to account for such odd width cases.
CC: libav-stable@libav.org
2015-03-03 15:08:15 +00:00
Luca Barbato
dbc1163b20
prores: Extend the padding check to 16bit
...
Some files produced by the official encoder have up to 16bit of
padding instead of the expected padding to the byte.
Use a self-explanatory macro instead of a simple number.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-02 11:27:57 +01:00
Andreas Cadhalpun
ea1d0b7ece
avcodec/utils: use correct printf specifier in ff_set_sar
...
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-28 21:51:24 +01:00
Anton Khirnov
71f1ad37d8
lavc: do not compile fmtconvert unconditionally
...
Only ac3dec and dcadec use it.
2015-02-28 21:51:24 +01:00
Anton Khirnov
d74a8cb7e4
fmtconvert: drop unused functions
2015-02-28 21:51:24 +01:00
Anton Khirnov
ee964145b5
lavc: remove unused traces of fmtconvert usage
...
Those decoders have been switched to float output and so do not use
fmtconvert anymore.
2015-02-28 21:51:24 +01:00
Diego Biurrun
cb4cb7b0ea
qsv: Skip qsv.h compilation if qsv is not enabled
2015-02-23 16:26:32 +01:00
Federico Tomassetti
061c489895
eamad: check for out of bounds read
...
Bug-Id: CID 1257500
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-23 15:06:18 +01:00
Federico Tomassetti
161442ff2c
mdec: check for out of bounds read
...
Bug-Id: CID 1257501
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-23 15:06:18 +01:00
Vittorio Giovara
35c6ce76b1
Canopus HQX decoder
...
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
2015-02-22 22:42:27 +00:00
Carl Eugen Hoyos
36a6fb989b
hevc_deblock: Fix compilation with nasm
...
CC: libav-stable@libav.org
Bug-Id: 795
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-22 22:34:20 +00:00
Vittorio Giovara
e570f895cd
libschroedinger: Check memory allocations
2015-02-22 22:32:18 +00:00
Gilles Chanteperdrix
5cbae5651d
mpegaudio_parser: add MP3 ADU headers parser
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:42 +02:00
Anton Khirnov
a06b0b1295
h264: initialize H264Context.avctx in init_thread_copy
...
This prevents using a wrong (first thread's) AVCodecContext if decoding
a frame in the first pass over all threads fails.
2015-02-21 09:29:48 +01:00
Anton Khirnov
0dea4c77cc
h264: only ref cur_pic in update_thread_context if it is initialized
...
It may be empty if the previous thread's decode call did not contain a
valid frame.
2015-02-21 09:29:27 +01:00
Peter Meerwald
9abc80f1ed
libavcodec: Make use of av_clip functions
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
b8d18a9437
libavcodec: Don't use av_cold annotation in twinvq header file
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:32:37 +02:00
Oleksij Rempel
c56b9b1eb2
lavc: Add DSS SP decoder
...
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Anton Khirnov
0fbb271318
qsv_api: fix building with libmfx disabled
2015-02-19 17:35:34 +01:00
Anton Khirnov
4e08c82110
lavc: add an Intel libmfx-based H.264 decoder
...
Based on the code by Luca Barbato <lu_zero@gentoo.org> and Yukinori
Yamazoe <drocon11@gmail.com>.
2015-02-19 15:08:49 +01:00
Anton Khirnov
31d2039cb4
h264_parser: export video format and dimensions
2015-02-19 15:07:52 +01:00
Himangi Saraogi
0f532fd3f9
rv40: Return more meaningful error codes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-19 08:39:29 +01:00
Derek Buitenhuis
d617e77cec
libx265: Add crf private option
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:18:12 -05:00
Derek Buitenhuis
2de887e45b
libx265: Reduce the scope of some variables
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:16:50 -05:00
Himangi Saraogi
42c8f92e2f
wmv2: Return meaningful error codes
2015-02-17 12:18:20 -05:00
Himangi Saraogi
f3e045263e
qdm2: Return meaningful error codes
2015-02-17 12:18:20 -05:00
Himangi Saraogi
a1e2c47cd4
libxvid: Return meaningful error messages
2015-02-17 12:18:20 -05:00
Himangi Saraogi
18f4fa251b
aac_adtstoasc_bsf: Check extradata memory allocation
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:10 -05:00
Vittorio Giovara
fe0f4e5657
avpacket: Check buffer reference
...
CC: libav-stable@libav.org
Bug-Id: CID 1267889
2015-02-17 12:16:43 -05:00
Vittorio Giovara
31dc73e92a
vorbisdec: Check memory allocations
2015-02-17 12:16:43 -05:00
Vittorio Giovara
ec17782e17
dvdsubdec: Check memory allocations
2015-02-17 12:16:43 -05:00
Vittorio Giovara
d89e58f539
dct-test: Fix initialization syntax
...
Related to "warning: suggest braces around initialization of subobject".
2015-02-17 11:27:42 -05:00
Vittorio Giovara
cb70a93ca1
lavc: Document interaction between avcodec_open2() and decoding routines
2015-02-17 11:27:42 -05:00
Diego Biurrun
f8c1719771
dca: Remove separate header for DCA ExSS
...
There is no point in having a separate header for a single declaration.
2015-02-16 10:44:56 +01:00
Diego Biurrun
3a651f599a
dca: Move data tables from a header to an object file
...
This allows sharing them with the DCA XLL extension w/o duplication.
2015-02-15 13:34:04 -08:00
Diego Biurrun
65df9904ce
dca: Add array sizes to array declarations
2015-02-15 13:34:04 -08:00
Peter Meerwald
702458538d
g722: Add ARM NEON implementation for g722_apply_qmf()
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:21 +02:00
Peter Meerwald
73ae0a9d12
g722: Split out computation of band->s_zero and unroll code
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:19 +02:00
Peter Meerwald
b16057b5fe
g722: Unroll g722_apply_qmf()
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:16 +02:00
Peter Meerwald
10f160768b
g722: Reduce number of pointers passed to g722_apply_qmf() function
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:14 +02:00
Peter Meerwald
6769068313
g722: Split out g722_qmf_apply() function into g722dsp.c
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:10 +02:00
Diego Biurrun
ecbcebde34
vdpau: Adjust necessary #includes for vdpau_internal.h
2015-02-14 10:56:01 -08:00
Diego Biurrun
2a9c6fae92
dca: Move all tables into dcadata.h
2015-02-14 10:13:49 -08:00
Diego Biurrun
8a213179af
dca: Remove trace debugging code
2015-02-14 10:13:49 -08:00
Diego Biurrun
a96f51f29a
dca: Return more informative error codes
2015-02-14 10:13:49 -08:00
Diego Biurrun
b339019de4
dca: Split code for handling the EXSS extension off into a separate file
2015-02-14 10:13:49 -08:00
Diego Biurrun
7f9f771eac
avcodec: Don't anonymously typedef structs
2015-02-14 10:13:49 -08:00
Himangi Saraogi
7769be590c
vp56: Return meaningful error codes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-14 09:24:13 -08:00
Peter Meerwald
eea769df32
hevc: Use generic av_clip function, not C implementation
...
hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-13 08:37:13 +01:00
Hendrik Leppkes
8029af586f
dxva2_hevc: properly fill the scaling list structure
...
The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied
in the decoder.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 14:33:29 +01:00
Reimar Döffinger
8c1ce7787a
aacsbr: silence message for SBR extension "padding".
...
Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"
message.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2015-02-03 20:32:16 -08:00
Alex Converse
d615187f74
aacdec: Support for ER AAC ELD 480.
...
Based in part on work from Niel van der Westhuizen <espes@pequalsnp.com>.
2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
7640c4a371
aacdec: Tables for length 480 AAC ELD.
2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
0ee2573347
aacdec: Support for ER AAC in LATM
2015-02-03 20:32:16 -08:00
Alex Converse
edd9ea3ffb
aacdec: Refactor aac_er_decode_frame.
2015-02-03 20:32:15 -08:00
Alex Converse
82bd8a5769
aacdec: Refactor decode_ics_info.
2015-02-03 20:32:15 -08:00
Luca Barbato
9b8c8a9395
svq1dec: Validate the stages value strictly
...
It can be less than -1.
Bug-Id: CID 1194397 / CID 1194398
CC: libav-stable@libav.org
2015-02-03 15:23:21 +00:00
Michael Niedermayer
6f7a32839d
svq1enc: correctly handle memory error and allocations
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Diego Biurrun
3d5d46233c
opus: Factor out imdct15 into a standalone component
...
It will be reused by the AAC decoder.
2015-02-02 16:07:33 +01:00
Martin Storsjö
28df0151b6
configure: Add a dependency on vc1_decoder from vc1_parser
...
This fixes builds with vc1_parser enabled without vc1_decoder. All
the vc1_decoder object files were included in the vc1_parser line
in libavcodec/Makefile before, but architecture specific object files
for vc1_decoder were not.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-02 15:30:54 +02:00
Vittorio Giovara
70d246d5cc
flacenc: initialize sums matrix
...
CC: libav-stable@libav.org
Bug-Id: CID 703821
2015-01-29 17:33:38 +00:00
Vittorio Giovara
c01ccccbb1
ituh263dec: use macro instead of #if
2015-01-29 17:33:34 +00:00
Vittorio Giovara
302ca6b20e
mpegvideo_enc: initialize the encoding context
...
This prevents several uninitialized variable uses that take
place towards the end of encoding.
CC: libav-stable@libav.org
Bug-Id: CID 700760
2015-01-29 15:26:33 +00:00
Vittorio Giovara
1a07df3112
DNxHD: Add support for id 1258 (DNx100 960x720@8)
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 15:04:57 +00:00
Vittorio Giovara
598f7d046c
DNxHD: Simplify pixel format detection
...
Error out in case of unknown values.
2015-01-29 15:04:46 +00:00
Vittorio Giovara
41e03e284e
DNxHD: More verbose error messages
2015-01-29 15:04:35 +00:00
Martin Storsjö
6996fd204a
libopenh264: Log debug messages to a non-null context
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-29 09:16:35 +02:00
Michael Niedermayer
61928b68dc
h264: Do not share rbsp_buffer across threads
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
CC: libav-stable@libav.org
2015-01-28 16:28:58 +01:00
Vittorio Giovara
607ad990d3
dvbsubdec: check memory allocations and propagate errors
2015-01-27 15:26:37 +00:00
Anton Khirnov
a536a4e4bc
lavc: support extracting audio service type from side data
2015-01-27 09:22:33 +01:00
Anton Khirnov
728685f37a
Add a side data type for audio service type.
...
Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.
2015-01-27 09:17:48 +01:00
Anton Khirnov
e44b58924f
lavc: deprecate unused AVCodecContext.stream_codec_tag
2015-01-27 09:14:39 +01:00
Anton Khirnov
f771b3ab5d
avidec: do not export stream_codec_tag
...
Handle its only existing use case internally.
2015-01-27 09:13:45 +01:00
Anton Khirnov
167e004e1a
h264: drop any pretense of support for data partitioning
...
It does not work correctly and apparently never did. There is no
indication that this (mis)feature is ever used in the wild or even that
any software other than the reference supports it.
Since the code that attempts to support it adds some nontrivial
complexity and has resulted in several bugs in the past, it is better to
just drop it.
2015-01-27 09:10:12 +01:00
Anton Khirnov
58ae8d5957
h264_parser: restore a comment lost in 0268a54
2015-01-27 09:09:56 +01:00
Anton Khirnov
ecab21ac47
h264: do not reset the ref lists in flush_change()
...
They are always constructed anew when needed, so there is no need to
reset them explicitly.
2015-01-27 09:09:29 +01:00
Anton Khirnov
9404a47a2d
h264: move parser-only variables to their own context
2015-01-27 09:08:31 +01:00
Anton Khirnov
cf1e0786ed
error_resilience: move the MECmpContext initialization into ER code
...
Currently, it needs to be initialized by the ER caller (which is
currently either a mpegvideo decoder or h264dec). However, since none of
those decoders use MECmpContext for anything except ER, it makes more
sense to handle it purely inside ER.
2015-01-27 09:07:59 +01:00
Hendrik Leppkes
7e850fa67e
Add DXVA2 HEVC HWAccel
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:31 +01:00
Hendrik Leppkes
b82722df9b
hevc: reindent after previous commit
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:25 +01:00
Hendrik Leppkes
e72e8c5a1d
hevc: add hwaccel hooks
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:08 +01:00
Hendrik Leppkes
4b95e95dba
hevc: store the short term rps flag and size in the context
...
For future use by hardware accelerators.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:59 +01:00
Hendrik Leppkes
36779a8405
hevc: store the escaped/raw bitstream in HEVCNAL
...
Hardware Accelerators require access to the escaped bitstream.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:44 +01:00
Hendrik Leppkes
b0593a4bca
hevc: pass the full HEVCNAL struct to decode_nal_unit
...
This enables decode_nal_unit to access additional fields added in
subsequent commits.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:29 +01:00
Anton Khirnov
443b71928b
hevc: unref the current frame if frame_start() fails
...
Prevents DPB from filling up with damaged input.
2015-01-27 08:34:56 +01:00
Anton Khirnov
1dd021929f
hevc: clear unused refs on failure
2015-01-27 08:34:46 +01:00
Anton Khirnov
f9f883af4f
h264: simplify code in flush_dpb()
...
There is no point in clearing reference explicitly, since that will be
done as a part of ff_h264_unref_picture() right below.
2015-01-27 08:34:24 +01:00
Michael Niedermayer
2a06c2a03e
mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions
...
This improves motion estimation and avoids using uninitialized data
for resolutions that aren't a multiple of 16.
Prior to d2a25c40
, the edges used to be initialized so that encoding
was deterministic, but after that commit it started using uninitialized
data (for non multiple of 16 resolutions).
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 15:05:49 +02:00
Derek Buitenhuis
6341ab0ad3
libx265: Pass through user-set frame type
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-22 16:29:30 +00:00
Martin Storsjö
440119b188
libopenh264enc: Move a declaration of a variable into an ifdef
...
This avoids needing an attribute for silencing warnings about
it being unused.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-20 15:02:50 +01:00
Martin Storsjö
bba0247926
libopenh264enc: Remove a workaround for silencing warnings about unused variables in the OpenH264 header
...
The 1.3 release branch of OpenH264 (as well as the master branch)
have been updated so that GCC no longer warns about this variable
as being unused.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-20 15:02:38 +01:00
Michael Niedermayer
def69553e7
h264_cabac: Break infinite loops
...
This fixes out of array reads and/or infinite loops.
30 is the maximum number of bits that can be read into
coeff_abs below.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-15 10:17:01 +02:00
Vittorio Giovara
402fb5550e
opus_parser: drop unused variable
2015-01-15 01:25:16 +01:00
Vittorio Giovara
8a9641a652
bsf: check memory allocations
2015-01-15 01:25:16 +01:00
Vittorio Giovara
014b6b416f
vp8: improve memory allocation checks
...
Check memory earlier, check one more allocation and clean up on error.
CC: libav-stable@libav.org
Bug-Id: CID 1257773
2015-01-15 01:25:07 +01:00
Paul B Mahol
f86f39cb9b
tiff: support decoding GBRP and GBRAP formats
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Paul B Mahol
9a4aaae3b2
lavc: add GBRAP to avcodec_align_dimensions2
2015-01-14 17:17:24 +01:00
Stefano Sabatini
e2ad0b66fa
imgutils: create misc functions for dealing with buffers
...
Move the lavc/imgconvert functions and rename them as follows:
avpicture_get_size -> av_image_get_buffer_size()
avpicture_fill -> av_image_fill_arrays()
avpicture_layout -> av_image_copy_to_buffer()
The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).
The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).
A redundant check has been dropped from av_image_fill_arrays().
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Vittorio Giovara
1e76345432
png: improve signature check
...
Return proper error code, print an error message and add missing
parentheses.
2015-01-14 17:10:19 +01:00
Anton Khirnov
7e4e010b80
mpeg4audio: check the init_get_bits() return value
...
Fixes possible invalid reads.
CC:libav-stable@libav.org
2015-01-09 15:44:31 +01:00
Martin Storsjö
2dbd35b00c
libfdk-aacdec: Make sure decoding doesn't add any extra delay in the latest version of fdk-aac
...
The latest version added support for a new option for enabling
a signal level limiter, which adds some extra delay. In fdk-aac, this
is enabled by default, but disable it by default here since we'd rather
have zero-delay decoding.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:58:43 +02:00
Martin Storsjö
3852e2c926
libopenh264enc: Fix a typo and some nitpicks
...
Also move the .long_name entry to below the .name entry.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:53:25 +02:00
Alexandre Colucci
5a1addd7c1
xsub: Support DXSA subtitles
...
These have a DXSA tag and contain alpha in addition to
color values for palette.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-07 13:51:30 +01:00
Martin Storsjö
8a3d9ca603
libavcodec: Add an OpenH264 encoder wrapper
...
Compared to existing, common opensource H264 encoders, this can be
useful since it has got a different license (BSD instead of GPL).
Performance- and qualitywise it is comparable to x264 in ultrafast
mode.
Hooking it up as an encoder in libavcodec also simplifies comparing
it against other common encoders.
This requires OpenH264 1.3 or newer. Since the OpenH264 API and ABI
changes frequently, only releases are supported.
To take advantage of the OpenH264 patent offer, the OpenH264 library
must not be redistributed, but downloaded at runtime at the end-user's
system.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:58:44 +02:00
Vittorio Giovara
1c6183233d
msmpeg4: check memory allocations and propagate errors
...
Bug-Id: CID 1257781
2015-01-06 16:43:54 +01:00
Vittorio Giovara
ed97963bdb
ulti: invert the order of parameters of ulti_decode_frame()
...
This is the order that the caller uses in the rest of the file.
Variables are modified to reflect the order above too and their
initialization is merged with their declarationt. No behavioral
change.
Bug-Id: CID 732286
2015-01-06 16:43:53 +01:00
Stefano Pigozzi
2cef68da69
vda: error out if decoded CVPixelBuffer is empty
...
On some video samples, VDA silently fails to decode frames and returns
kVDADecoderNoErr. Error out in these cases to avoid producing AVFrames with
empty planes.
Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
2015-01-05 15:35:39 +01:00
Diego Biurrun
0352ff102d
ffv1: const correctness for encode_rgb_frame()
...
libavcodec/ffv1enc.c:922:53: warning: passing argument 5 of ‘encode_rgb_frame’ discards ‘const’ qualifier from pointer target type
2015-01-05 15:35:39 +01:00
Diego Biurrun
ca09effb01
ffv1: Drop unnecessary casts and const qualifiers to match function signatures
...
libavcodec/ffv1dec.c:898:36: warning: cast discards ‘const’ qualifier from pointer target type
2015-01-05 15:35:39 +01:00
Anton Khirnov
60d4c6ff76
h264: restore a block mistakenly removed in e10fd08a
...
CC: libav-stable@libav.org
Bug-ID: 781
2014-12-27 10:44:48 +01:00
Rémi Denis-Courmont
737d35e334
vdpau: add support for the H.264 High 4:4:4 Predictive profile
...
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
ebd5320afd
vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
...
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
c220a60f92
vdpau: add helper for surface chroma type and size
...
Since the VDPAU pixel format does not distinguish between different
VDPAU video surface chroma types, we need another way to pass this
data to the application.
Originally VDPAU in libavcodec only supported decoding to 8-bits YUV
with 4:2:0 chroma sampling. Correspondingly, applications assumed that
libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output.
However some of the new HEVC profiles proposed for addition to VDPAU
would require different depth and/or sampling:
http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html
...as would lossless AVC profiles:
http://lists.freedesktop.org/archives/vdpau/2014-November/000241.html
To preserve backward binary compatibility with existing applications,
a new av_vdpau_bind_context() flag is introduced in a further change.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
6c99c92a42
libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag
...
This can be used by the application to signal its ability to cope with
video surface of types other than 8-bits YUV 4:2:0.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
57b6704ecd
avcodec: add AVCodecContext.sw_pix_fmt
...
This carries the pixel format that would be used if it were not for
hardware acceleration. This is equal to AVCodecContext.pix_fmt if
hardware acceleration is not in use.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
4cfbeef31d
h264: factor hwaccel pixel formats list
...
This is to avoid proliferation of similar tables in following changes.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:48 +01:00
Kieran Kunhya
9cfa68c560
mpegts: add support for Opus
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-20 11:29:19 +01:00
Michael Niedermayer
cee4490b52
on2avc: check number of channels
...
Fixes invalid memory access.
CC: libav-stable@libav.org
Bug-ID: CVE-2014-8549
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Michael Niedermayer
d423dd72be
smc: fix the bounds check
...
Fixes invalid writes when there are more blocks in a run than total
remaining blocks.
CC: libav-stable@libav.org
Bug-ID: CVE-2014-8548
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Michael Niedermayer
0b39ac6f54
gifdec: refactor interleave end handling
...
Fixes invalid writes with very small image heights.
CC: libav-stable@libav.org
Bug-ID: CVE-2014-8547
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Anton Khirnov
17ba719d9b
mmvideo: check frame dimensions
...
The frame size must be set by the caller and each dimension must be a
multiple of 2.
CC: libav-stable@libav.org
Bug-ID: CVE-2014-8543
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
88626e5af8
jvdec: check frame dimensions
...
The frame size must be set by the caller and each dimension must be a
multiple of 8.
CC: libav-stable@libav.org
Bug-ID: CVE-2014-8542
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
809c3023b6
mjpegdec: check for pixel format changes
...
Fixes possible invalid memory access.
Based on code by Michael Niedermayer <michaelni@gmx.at>
CC: libav-stable@libav.org
Bug-ID: CVE-2014-8541
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Vittorio Giovara
210461c0a8
imgconvert: check memory allocations and propagate errors
2014-12-18 23:27:14 +01:00
Vittorio Giovara
596b5c488f
wma: check memory allocations and propagate errors
2014-12-18 23:27:14 +01:00
Vittorio Giovara
5ac06633cb
takdec: check av_samples_get_buffer_size() return value
...
CC: libav-stable@libav.org
Bug-Id: CID 747734
2014-12-18 23:27:14 +01:00
Vittorio Giovara
16c7a8a142
aacps: invert the order of parameters of ipdopd_reset()
...
This is the order that the caller uses in the rest of the file. The
same operation is applied to both parameters, so this change is only
done for consistency, it doesn't change the actual behaviour.
Bug-Id: CID 732285 / CID 732286
2014-12-18 23:27:14 +01:00
Vittorio Giovara
9745f19ffc
assdec: check the right variable
...
CC: libav-stable@libav.org
Bug-Id: CID 1257815
2014-12-18 23:27:14 +01:00
Vittorio Giovara
971099ff5a
aacenc: correctly check returned value
...
CC: libav-stable@libav.org
2014-12-18 23:27:14 +01:00
Vittorio Giovara
ac467d94fa
lcl: return an appropriate error code
2014-12-18 23:27:14 +01:00
Vittorio Giovara
c63dd3f0a4
a64multi: check elbg return values
2014-12-18 23:22:59 +01:00
Vittorio Giovara
3beb9cbad3
roqvideo: check memory allocations and propagate errors
2014-12-18 23:22:59 +01:00
Vittorio Giovara
ae2d41ec87
elbg: check memory allocations and propagate errors
2014-12-18 23:22:59 +01:00
Vittorio Giovara
67fc8a15e4
theora: support different visible and coded frame size
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:22:59 +01:00
Paul B Mahol
87bd298abe
DPX parser
...
Additional improvements and fixes by Michael Niedermayer <michaelni@gmx.at>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:22:59 +01:00
Carl Eugen Hoyos
3a3790b8f8
tiff: support encoding and decoding 64bit images
2014-12-18 23:22:59 +01:00
Michael Niedermayer
3bb465245f
h261dec: Fix context initialization sequence
...
ff_mpv_common_init sets s->context_initialized.
This fixes decoding of h261 in the cases where the demuxer
hasn't already set the frame size.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:10:24 +02:00
Martin Storsjö
91bfac759d
h261enc: Disallow sliced encoding
...
This avoids trying to do sliced encoding, even if a slice/packet
size is requested (via the -ps option or the rtp_payload_size
field), since the encoder currently doesn't support it (or at least
our decoder can't decode it, even if the h261_encode_gob_header
function is hooked up to be called from the slicing part in
mpegvideo_enc.c).
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 12:00:01 +02:00
Vittorio Giovara
10d4c5e55e
tiff: set the correct return value when check_size() fails
...
Only one instance affected and solved as other occurences.
2014-12-15 15:46:34 +01:00
Luca Barbato
3c27275c13
tiff: Check the check_size() return value and forward it
...
Also use the same type for add_entry and check_size.
Bug-Id: CID 700699
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovarao@gmail.com>
2014-12-15 15:46:34 +01:00
Luca Barbato
4690e01c3a
prores: Evaluate all the quantizers
...
Prevent an uninitialized data access.
CC: libav-stable@libav.org
Bug-Id: CID 703824 / CID 703825
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-15 15:46:34 +01:00
Vittorio Giovara
d75190aa93
mpegvideo: move REBASE_PICTURE where it is used
...
Drop an unused #undef from h264 decoder.
2014-12-15 15:46:34 +01:00
Vittorio Giovara
63fcedcf01
mpegvideo: remove unused function declaration
2014-12-15 15:46:34 +01:00
Vittorio Giovara
b2bece5e9a
hevc: always clip luma_log2_weight_denom
...
Its value shall be between 0 and 7 according to the specifications.
CC: libav-stable@libav.org
Bug-Id: CID 1257502
2014-12-15 15:46:34 +01:00
Thiago Santos
bab8d73765
vaapi: wrap codec specific functions in appropiate #ifs
...
Fix linking when only a subset of vaapi decoders is enabled.
Bug-Id: 760
CC: libav-stable@libav.org
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-14 22:04:38 +01:00
Michael Niedermayer
5a82ad644f
svq1dec: Unbreak the scratch buffer allocation
...
The input packets are always assumed to be padded and
the av_fast_ family of function takes a pointer to a pointer.
Thanks to Nicolas Dufresne <nicolas.dufresne@collabora.com> for
a similar patch.
Introduced in 7b588bb691
.
Bug-Id: 766
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-14 22:03:58 +01:00
Luca Barbato
bcbdeb318e
asvenc: Forward the error instead of asserting on it
...
Bug-Id: CID 732997
CC: libav-stable@libav.org
2014-12-14 22:03:22 +01:00
Rémi Denis-Courmont
559fa0d41b
vdpau: add mapping for H.264 Constrained Baseline profile and fallback
...
Old VDPAU drivers do not support this newly defined profile, so falling
back to Main profile is necessary for backward binary compatibility.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:30:03 +01:00
Rémi Denis-Courmont
8502c1e9ff
vdpau: add mapping for H.264 Extended profile
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:29:27 +01:00
Rémi Denis-Courmont
8b51bcfed7
vdpau: revector macro to reduce line span
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:29:07 +01:00
Martin Storsjö
c7921a4804
libfdk-aacdec: Fix a boundary check
...
This avoids potential out of bounds writes, with potential future
versions of the library.
Bug-Id: CID 1254945
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 22:51:42 +02:00
Janne Grunau
4c81613df4
arm: mlpdsp: handle pic offset calculation in a macro
...
Makes the code easier to read since it hides different offset
calculations for arm and thumb mode.
2014-12-09 22:00:08 +01:00
Janne Grunau
581c7f0e12
arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position independent
...
No significant difference in used cpu cycles on a cortex-a9.
2014-12-09 22:00:08 +01:00
Martin Storsjö
780cd20b00
aarch64: Use .data.rel.ro for const data with relocations
...
This reverts commit c00365b46d
in addition to using a different section.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:31 +02:00
Martin Storsjö
f963f80399
arm: Use .data.rel.ro for const data with relocations
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:25 +02:00
Vittorio Giovara
6fd91fa119
h264: increase MAX_SLICES to 32
...
H264 streams from CounterPath Bria and some Cisco phones need an
increased pool for correct decoding.
Bug-Id: 645
Sample-Id: bria-h264.mka
2014-12-08 13:30:38 +00:00
Zoltan Kovacs
4843a9c74f
dpx: always write the image offset
...
According to the DPX file format description found at
http://www.fileformat.info/format/dpx/egff.htm the ImageElement part of
the GenericImageHeader also contains an an offset to the real image data
beside the same member that can be found in the GenericFileHeader.
Libav keeps this member empty (=0) while some applications expects it to
be filled properly. FATE test updated accordingly.
Bug-Id: 742
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 13:29:18 +00:00
Martin Storsjö
b280c6202b
arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb
...
Don't include the function pointer table in the code segment
in arm mode.
This shouldn't have any significant performance effect. It does
end up as a few more instructions than before, for ARM, but
only at the entry to this function, not within the fft functions
themselves.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 12:29:53 +02:00
Martin Storsjö
ae81576414
arm: fft_vfp: Add a missing "endconst" when building in thumb mode
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 12:29:49 +02:00
Kieran Kunhya
9a738c27dc
v210enc: Add SIMD optimised 8-bit and 10-bit encoders
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
Vittorio Giovara
b72727a524
lavc: mention that the parser callback never returns an error
2014-12-05 00:44:42 +00:00
Michael Niedermayer
894545cb71
mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:52:53 +00:00
Michael Niedermayer
7a38987f24
mpegvideo: free_context_frame() cannot fail, make it return void
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:52:04 +00:00
Michael Niedermayer
c45eeb2dbf
mpegvideo: replace assert about interlaced EC with debug av_log()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:51:43 +00:00
Michael Niedermayer
3a56bcee7c
mpeg12dec: Use more specific error codes
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:50:52 +00:00
Michael Niedermayer
b56afb48ae
mpeg12dec: Print error/warning messages on issues in mpeg1_decode_sequence()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:44:58 +00:00
Gonzalo Garramuno
e0bb74a140
exr: Add a gamma flag to exr loader to avoid banding
...
This is needed to avoid banding artifacts when gammaing the picture.
Currently, if done with a video filter, the process is done on uints
instead of full float.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 02:55:40 +00:00
Michael Niedermayer
d69d787dad
h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc fails
...
CC: libav-devel@libav.org
2014-12-03 02:51:27 +00:00
Dale Curtis
56de2897a6
h264: Fix memory leak on ff_h264_decode_init() failure
...
CC: libav-devel@libav.org
2014-12-03 02:51:18 +00:00
Jon Morley
26e20dfd06
options_table: fix colorspace minimum option value
...
The min value for colorspace should be zero and not one since the first
valid index into the frame colorspace array is AVCOL_SPC_RGB which is 0.
2014-12-02 15:28:22 +00:00
Luca Barbato
7464e98f74
aac: Simplify decode_mid_side_stereo
...
Might spare few cycles if the compiler is naive and
makes the function more readable.
2014-12-02 15:28:22 +00:00
Anton Khirnov
1973079417
opusdec: make sure all substreams have the same number of coded samples
...
Fixes invalid writes with invalid multichannel streams.
CC:libav-stable@libav.org
2014-11-27 14:06:03 +01:00
Martin Storsjö
f20141d73f
vorbis_parser: Include stdint.h in the header, to make it work standalone
...
This fixes "make checkheaders".
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-25 14:01:46 +02:00
Michael Niedermayer
57ed5a64fe
hnm4: change width/height to int to fix hypothetical integer overflows
...
CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771
2014-11-25 02:00:06 +00:00
Luca Barbato
16158da960
hnm4: Use av_image_check_size
...
As done for all the other codecs not calling it indirectly.
CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771
2014-11-25 02:00:06 +00:00
Michael Niedermayer
51946d2de8
vc1: Use the correct shift amount
...
`is_intra` is a 6bits bitfield.
CC: libav-stable@libav.org
Bug-Id: CID 1194380 / CID 1194381
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-25 02:00:06 +00:00
Luca Barbato
d25afb579f
vc1: Set the is_intra bitfield to all 1 when needed
...
Keep the code as similar as possible across the codepaths to
ease spotting it for factorization.
Based on a patch from Michael Niedermayer <michaelni@gmx.at>.
2014-11-25 02:00:06 +00:00
Luca Barbato
b67138598c
vc1: Simplify a little setting the intra variables
...
The code currently set the information in at least 4 places, spare
some pointless loops.
Make the code in the loop a little uniform to make easier factorize
it out later.
2014-11-25 02:00:06 +00:00
Michael Niedermayer
62e52b94e6
vorbis_parser: Move vp check to avoid a null pointer dereference
...
CC: libav-stable@libav.org
Bug-Id: CID 1251347
2014-11-25 02:00:06 +00:00
Michael Niedermayer
c117da9d3e
lpc: remove unneeded {}
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 02:00:06 +00:00
Vittorio Giovara
bc75b64cff
vc1pred: remove logically dead code
...
CC: libav-stable@libav.org
Bug-Id: CID 1245699 / CID 1245700
2014-11-25 02:00:06 +00:00
Vittorio Giovara
208f3abb91
aacsbr: always initialize max_qmf_subbands
...
Fixes a wordly warning from clang -Wsometimes-uninitialized.
2014-11-24 01:30:15 +00:00
Michael Niedermayer
55b59fab88
roqaudio: Always use the frame buffer on flush
...
Prevent NULL dereference.
CC: libav-stable@libav.org
Bug-Id: CID 703669
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-24 01:30:15 +00:00
Vittorio Giovara
0562887a98
tiffenc: initialize return value
...
'ret' can only be used without initialization if s->height <= 0, which can
only happen if avctx->height <= 0, which is validated elsewhere. Doesn't hurt
to still initialize it though.
CC: libav-stable@libav.org
Bug-Id: CID 732296
2014-11-24 01:30:15 +00:00
Luca Barbato
299d8ab104
cook: Make sure there is enough extradata
...
At least 8 bytes are needed (Mono audio).
Bug-Id: CID 741418
CC: libav-stable@libav.org
2014-11-24 01:30:15 +00:00
Vittorio Giovara
b99ca86350
aacdec: avoid an out-of-bounds write
...
Also move the check in the case it is actually used.
CC: libav-stable@libav.org
Bug-Id: CID 1087090
2014-11-24 01:30:15 +00:00
Vittorio Giovara
277ff7f5dc
lavu: move internal define to the only places where it is used
2014-11-24 01:30:14 +00:00
Vittorio Giovara
9c12c6ff95
motion_est: convert stride to ptrdiff_t
...
CC: libav-stable@libav.org
Bug-Id: CID 700556 / CID 700557 / CID 700558
2014-11-24 01:30:10 +00:00
Luca Barbato
cd975d5658
hevc: Spin the mv_mpv_mode calls in a stand alone function
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-21 23:17:37 +01:00
Vittorio Giovara
1f80742f49
qdm2: avoid integer overflow
...
CC: libav-stable@libav.org
Bug-Id: CID 700555
2014-11-21 12:37:50 +00:00
Luca Barbato
312daa1589
vp9: Use the correct upper bound for seg_id
...
And use a macro to make apparent why the value.
Bug-Id: CID 1108595
2014-11-21 12:37:05 +00:00
Luca Barbato
d466d82faa
dvdsubdec: Do not leak on failure path
...
CC: libav-stable@libav.org
Bug-Id: CID 1198262
2014-11-21 12:36:19 +00:00
Vittorio Giovara
a42d5c861f
libtwolame: prevent a NULL pointer dereference
...
CC: libav-stable@libav.org
Bug-Id: CID 1250330 / CID 1250335
2014-11-21 12:27:07 +00:00
Martin Storsjö
aa8b39d999
lavc: Move the libtwolame encoder registration to the list for external libraries
...
This makes sure the default behaviour of using the internal encoder
stays the same regardless if libtwolame is enabled or not (as for
any external library).
This fixes fate-lavf-mpg if libav is built with libtwolame enabled.
CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-21 12:27:07 +00:00
Vittorio Giovara
85dc006b1a
lavc: fix bitshifts amount bigger than the type
...
CC: libav-stable@libav.org
Bug-Id: CID 1194387 / CID 1194389 / CID 1194393 / CID 1206638
2014-11-18 00:39:23 +01:00
Vittorio Giovara
771656bd85
libvpxenc: clean memory on error
...
CC: libav-stable@libav.org
Bug-Id: CID 733795
2014-11-18 00:38:56 +01:00
Anton Khirnov
8b573ddda7
hevc: remove superfluous assignments and checks
2014-11-17 09:26:45 +01:00
Anton Khirnov
eac3ac1fe0
hevc: eliminate an unneeded intermediate variable
2014-11-17 09:26:45 +01:00
Anton Khirnov
eb335f3c5c
hevc: reduce variable scope
...
Also, collapse the array into a scalar, since only one value is needed
at a time.
2014-11-17 09:26:45 +01:00
Anton Khirnov
84c0ece5fd
hevc: further reduce code duplication in hls_prediction_unit()
2014-11-17 09:25:15 +01:00
Anton Khirnov
a7b365ae19
hevc: reduce code duplication in hls_prediction_unit()
2014-11-17 09:25:12 +01:00
Anton Khirnov
de1f8ead89
hevcdsp_template: templatize transquant_bypass
2014-11-17 09:25:12 +01:00
Anton Khirnov
16c01fb434
hevc: remove an unused function parameter
2014-11-17 09:25:12 +01:00
Anton Khirnov
84b9463984
hevc: remove a redundant line
...
pred_mode is overwritten a few lines immediately below.
2014-11-17 09:25:12 +01:00
Anton Khirnov
2c6a7f9348
hevc: do not store rqt_root_cbf in the context
...
It does not need to be accessed outside of hls_coding_unit().
2014-11-17 09:25:12 +01:00
Anton Khirnov
920bca3e23
hevc: do not store pcm_flag in the context
...
It does not need to be accessed outside of hls_coding_unit().
2014-11-17 09:25:12 +01:00
Martin Storsjö
c00365b46d
aarch64: Make the function pointer tables position independent
...
This allows running the code on android, where 64 bit binaries with
text relocations aren't allowed to be loaded.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-16 01:07:24 +02:00
Michael Niedermayer
2fa6d21124
on2avc: Fix out of array access
...
CC: libav-stable@libav.org
Bug-Id: CID 1206648
2014-11-15 12:50:05 +01:00
Luca Barbato
74d7db586a
dv: Drop a spurious check
...
The buffer is always valid.
Bug-Id: CID 700682
2014-11-15 12:49:37 +01:00
Vittorio Giovara
d16ec1b6db
atrac3plus: always initialize refwaves
...
CC: libav-stable@libav.org
Bug-Id: CID 1163851
2014-11-14 20:26:32 +01:00
Vittorio Giovara
60e0ee7ca2
lpc: always initialize ref and err
...
CC: libav-stable@libav.org
Bug-Id: CID 29585 / CID 700759
2014-11-14 20:25:52 +01:00
Vittorio Giovara
3a6ddfb874
exr: check return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1198259
2014-11-14 20:25:21 +01:00
Thilo Borgmann
e4cb6abb2f
bgmc: fix sizeof arguments
...
CC: libav-devel@libav.org
Bug-Id: CID 608084 / CID 700724
2014-11-14 20:25:02 +01:00
Vittorio Giovara
a2448cfe16
jpeg2000: do not compute the same value twice
...
CC: libav-stable@libav.org
Bug-Id: CID 1026771 / CID 1026772 / CID 1026773
2014-11-13 01:41:27 +01:00
Vittorio Giovara
59846452af
svq1enc: check ff_get_buffer return value
...
CC: libav-stable@libav.org
Bug-Id: CID 747723
2014-11-13 01:41:27 +01:00
Vittorio Giovara
994ab1804b
ansi: check ff_set_dimensions return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1135737
2014-11-13 01:41:27 +01:00
Vittorio Giovara
c7384664ba
avs: check ff_set_dimensions return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1135738
2014-11-13 01:41:27 +01:00
Vittorio Giovara
2b5c1efa14
g2meet: check ff_set_dimensions return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1135739
2014-11-13 01:41:26 +01:00
Vittorio Giovara
c6d7c201df
indeo3: check ff_set_dimensions return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1135740
2014-11-13 01:41:26 +01:00
Vittorio Giovara
8e104619a6
shorten: check for return value
...
Avoid a possible negative bitshift.
CC: libav-stable@libav.org
Bug-Id: CID 1194400
2014-11-13 01:41:26 +01:00
Vittorio Giovara
d5d2d6c3b8
dcadec: initialize variables before use
...
CC: libav-stable@libav.org
Bug-Id: CID 700751 / CID 700752
2014-11-13 01:41:26 +01:00
Vittorio Giovara
1a9c1333b5
escape124: explicitly set get_bits1 variable
...
Makes coverity less confused.
CC: libav-stable@libav.org
Bug-Id: CID 1203487
2014-11-13 01:41:26 +01:00
Vittorio Giovara
2ffb0598db
mlpdec: check for negative index
...
CC: libav-stable@libav.org
Bug-Id: CID 970924
2014-11-13 01:41:26 +01:00
Vittorio Giovara
6abe7edabb
ffv1: fix out-of-bounds read
...
CC: libav-stable@libav.org
Bug-Id: CID 1047234
2014-11-13 01:41:26 +01:00
Vittorio Giovara
5aa710f461
vorbisenc: add missing parenthesis
...
Bug-Id: CID 1238791
2014-11-13 01:41:26 +01:00
Vittorio Giovara
e9a6ae775d
dpxenc: mention missing break
...
Bug-Id: CID 732229
2014-11-13 01:41:26 +01:00
Vittorio Giovara
4dda5e9b08
sunrastenc: mention missing break
...
Bug-Id: CID 732231
2014-11-13 01:41:26 +01:00
Vittorio Giovara
28d82b7675
vc1dec: refactor check with missing parenthesis
...
FATE tests updated accordingly, no visual difference.
CC: libav-stable@libav.org
Bug-Id: CID 1087087
2014-11-13 01:41:25 +01:00
Vittorio Giovara
2c98dc75f2
vc1dec: always initialize tx and ty
...
CC: libav-stable@libav.org
Bug-Id: CID 1245702 / CID 1245703
2014-11-13 01:41:25 +01:00
Vittorio Giovara
e3f50f2471
dnxhdenc: check negative index
...
CC: libav-stable@libav.org
Bug-Id: CID 700464
2014-11-13 01:41:25 +01:00
Vittorio Giovara
b1b1a7370e
display: fix order of operands
...
CC: libav-stable@libav.org
Bug-Id: CID 1238828 / CID 1238832
2014-11-13 01:41:25 +01:00
Vittorio Giovara
bdcb5794f0
nellymoserenc: fix array index
...
CC: libav-stable@libav.org
Bug-Id: CID 732258
2014-11-13 01:41:25 +01:00
Michael Niedermayer
aa7c429c4e
nellymoserenc: fix array element ordering
...
Fixes assertion failures and valgrind warnings in trellis encoder.
CC: libav-stable@libav.org
Bug-Id: CID 732256 / CID 732257
2014-11-13 01:41:25 +01:00
Vittorio Giovara
8dd0a2c5cf
libopusenc: prevent an out-of-bounds read by returning early
...
CC: libav-stable@libav.org
Bug-Id: CID 1244188
2014-11-13 01:41:25 +01:00
Vittorio Giovara
b09cf8afc5
libopusenc: check return value
...
CC: libav-stable@libav.org
Bug-Id: CID 739870
2014-11-13 01:41:25 +01:00
Michael Niedermayer
29234f5681
vp7: fix checking vp7_feature_value_size()
...
CC: libav-stable@libav.org
Bug-Id: CID 1197061
2014-11-13 01:41:25 +01:00
Vittorio Giovara
68a35473ed
4xm: more thorought check for negative index and negative shift
...
CC: libav-stable@libav.org
Bug-Id: CID 1087094
2014-11-13 01:18:09 +01:00
Luca Barbato
c9c7d59b7d
tiff: Use av_mallocz_array
...
CC: libav-stable@libav.org
2014-11-11 12:01:00 +01:00
John Stebbins
1b66726906
h264_parser: don't stop on SPS_EXT in split
...
Add SPS_EXT, SEI, and subset SPS to codes that are skipped during split.
These codes can come before the PPS and results in incomplete extradata.
2014-11-11 11:49:55 +01:00
Michael Niedermayer
4cb9f1a774
h264_cabac: fix one fill_rectangle() indentation level
...
Bug-Id: CID 1087088
2014-11-11 11:49:54 +01:00
Vittorio Giovara
60b0551334
png_parser: fix size of chunk_lenght
...
Fixes the comparison against constant value 0x7fffffff.
CC: libav-stable@libav.org
Bug-Id: CID 1198260
2014-11-11 11:49:54 +01:00
Vittorio Giovara
443502aed8
dvbsubdec: move shared codepath
...
CC: libav-stable@libav.org
Bug-Id: CID 1238839
2014-11-11 11:49:54 +01:00
Vittorio Giovara
2383323661
dvbsubdec: improve error checking
...
Use av_mallocz_array instead of iterating and check the returned memory.
Check returned memory and cleanly exit in case of error during the loop.
Avoid a null pointer dereference for invalid data.
CC: libav-stable@libav.org
Bug-Id: CID 29575
2014-11-11 11:49:54 +01:00
Jernej Fijačko
1bdd21d975
dvbsubdec: add missing break
...
Fix a memory leak too.
CC: libav-stable@libav.org
Bug-Id: CID 732230
2014-11-11 11:49:54 +01:00
Michael Niedermayer
a6defd1f5b
hevc_cabac: decrease CABAC_MAX_BIN
...
Prevents shifts with undefined behavior, as no syntax element has a valid
value greater than 1 << 31.
Bug-Id: CID 1206635
2014-11-11 11:49:54 +01:00
Vittorio Giovara
9e9be5a20c
hevc_mvs: prevent unitialized use
...
CC: libav-stable@libav.org
Bug-Id: CID 1244202
2014-11-11 11:49:47 +01:00
Vittorio Giovara
0e1ebfebc8
4xm: drop unnecessary check
...
data_size is always >= 0 in this case.
CC: libav-stable@libav.org
Bug-Id: CID 1238788
2014-11-11 11:41:49 +01:00
Michael Niedermayer
7c61e4b1a0
hpeldsp: Increase put_no_rnd_pixels_tab[][] size
...
CC: libav-stable@libav.org
Bug-Id: CID 991852
2014-11-11 11:41:49 +01:00
Vittorio Giovara
db71c4926d
mjpegenc: fix argument size in encode_mb
...
CC: libav-stable@libav.org
Bug-Id: CID 1047235
2014-11-11 11:41:49 +01:00
Vittorio Giovara
f349f4b550
mpegvideo: fix size of array
...
CC: libav-stable@libav.org
Bug-Id: CID 1238789
2014-11-11 11:26:02 +01:00
Vittorio Giovara
898e9a24ef
mpegvideo: check mpv return value
...
CC: libav-stable@libav.org
Bug-Id: CID 1238786
2014-11-11 11:26:02 +01:00
Michael Niedermayer
fe27aeaeab
mpeg12enc: increase declared size of block function argument
...
CC: libav-stable@libav.org
Bug-Id: CID 1047236
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-11 11:26:02 +01:00
Martin Storsjö
52f954da75
libavcodec: Unconditionally build xiph.o
...
vorbis_parser.o is built unconditionally since 5e80fb7ff
, and the
unconditionally built parts of it depend on xiph.o.
This fixes builds with --disable-everything.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-11 12:01:16 +02:00
Martin Storsjö
28396d17ff
libfdk-aacdec: Support building with the latest version of fdk-aac
...
The latest fdk-aac code drop (from android 5.0) changed the channel
layout enums (changing the value of existing enum constants), and
renamed the option for downmixing.
The failsafe comparison between ctype and FF_ARRAY_ELEMS(channel_counts)
can trigger warnings (-Wtautological-constant-out-of-range-compare)
when building with the old FDK AAC releases, where it can't be
out of range with the enum values used there.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-10 09:43:57 +02:00
Luca Barbato
e3e317e0c0
lavc: Compact the side-data passthrough
2014-11-09 12:29:59 +01:00
Vittorio Giovara
199d9f995d
mjpegdec: fix undefined shift
...
Add a comment to explain the code.
CC: libav-stable@libav.org
Bug-Id: CID 1194388
2014-11-06 10:44:46 -05:00
Luca Barbato
ac4a5e3abd
pthreads_frame: Do not leak on failure path
...
CC: libav-stable@libav.org
Bug-Id: CID 1135767
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-06 10:44:46 -05:00
Vittorio Giovara
5d29efe4b0
mpeg12dec: simplify context duplication
...
CC: libav-stable@libav.org
Bug-Id: CID 717453 / CID 717454 / CID 717915
2014-11-06 10:44:46 -05:00
Vittorio Giovara
37b3361e75
mpeg12enc: factor out check in encode_dc
...
Makes coverity less confused and the code more readable.
CC: libav-stable@libav.org
Bug-Id: CID 751744
2014-11-06 10:44:46 -05:00
Vittorio Giovara
0a66647061
mpegvideo_enc: factor out denominator and explicitly cast operands
...
CC: libav-stable@libav.org
Bug-Id: CID 608053
2014-11-06 10:44:46 -05:00
Vittorio Giovara
e0a1d0a2b0
mpegvideo_enc: rework direct mode check
...
Remove stray semicolon and share codepaths.
CC: libav-stable@libav.org
Bug-Id: CID 991857
2014-11-06 10:44:46 -05:00
Anton Khirnov
acc897e6b1
lavc: make avpriv_flac_is_extradata_valid() private on the next bump
2014-11-06 09:04:56 +01:00
Anton Khirnov
c070a87515
lavc: make avpriv_flac_parse_streaminfo() private on the next bump
2014-11-06 09:04:12 +01:00
Anton Khirnov
7784f47762
lavf: stop using avpriv_flac_parse_streaminfo()
...
The only parameters needed by the demuxers are the sample rate and sample
count, which can be trivially extracted manually, without resorting to
an avpriv function.
2014-11-06 09:02:25 +01:00
Anton Khirnov
2f3fadfbe3
lavc,lavf: switch to the new vorbis parse API
2014-11-06 09:00:46 +01:00
Anton Khirnov
5e80fb7ff2
lavc: add a public API for parsing vorbis packets.
...
It is required by (at least) the ogg demuxer.
Mark the current semi-public apriv API for removal.
2014-11-06 08:51:25 +01:00
Anton Khirnov
6896f95b24
vorbis_parser: add an AV prefix to VorbisParseContext
...
This is done in preparation for making it public.
2014-11-06 08:47:54 +01:00
Anton Khirnov
874792641e
vorbis_parser: use a dedicated AVClass for logging
...
Currently, the API takes an external AVCodecContext, which is used only
for extradata and logging. This change will allow to it to work without
an AVCodecContext in the following commits.
2014-11-06 08:47:21 +01:00
Rémi Denis-Courmont
4ff670d99b
hwaccel: Deinitialize hardware acceleration early enough
...
The application will destroy the underlying hardware handles when
get_format() gets called again. Also this ensures the
deinitialization takes place if the get_format callback returns an
error.
Regression from 1c80c9d7ef
.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-04 22:15:17 +01:00
Vittorio Giovara
77ab341c0c
aacdec: add default case in channel layout
...
Bug-Id: CID 732291
2014-11-04 09:28:45 -05:00
Michael Niedermayer
930ffd46e1
aacsbr: change order of operation to prevent out of array read
...
CC: libav-stable@libav.org
Bug-Id: CID 732250
2014-11-04 09:28:45 -05:00
Vittorio Giovara
9f6f407463
aacsbr: treat 1-d arrays as such
...
CC: libav-stable@libav.org
Bug-Id: CID 1238802 / CID 1238793 / CID 1238785
CID 1238808 / CID 1238809
2014-11-03 12:46:18 -05:00
Vittorio Giovara
f52b871761
celp_filters: don't use filter lenght as loop bound
...
CC: libav-stable@libav.org
Bug-Id: CID 717906 / CID 717907 / CID 717916 /
CID 717917 / CID 717919 / CID 732259
2014-11-03 12:45:42 -05:00
Vittorio Giovara
c442190a6b
error_resilience: initialize prev_* variables
...
CC: libav-stable@libav.org
Bug-Id: CID 732293 / CID 732294
2014-11-03 12:45:09 -05:00
Vittorio Giovara
240b22afe1
motion_est: remove dead code
...
mb_type is initialized to 0 and never updated before the check.
Bug-Id: CID 1238782
2014-11-03 10:15:53 -05:00
Vittorio Giovara
351d0f8b7a
get_bits: remove unused assignment
...
Bug-Id: CID 1238816
2014-11-03 10:15:07 -05:00
Rémi Denis-Courmont
ce91b2eae6
vdpau: return MAIN instead of BASELINE for H.264 CBP
...
This is the same as the previous change, but for applications using the
old API (such as VLC 2.2).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-28 07:06:33 +01:00
Rémi Denis-Courmont
26ab504ad8
vdpau/h264: request MAIN rather than BASELINE VDPAU profile for CBP
...
The H.264 Constrained Baseline Profile (CBP) is a subset of both the
Main Profile and the Baseline Profile. In principles, a hardware
decoder that supports either of those can decode CBP content. As it
happens, Main is supported by all VDPAU drivers, and Baseline is not.
So favor map CBP to MP for now. Hopefully in the future libvdpau will
offer an explicit choice for CBP.
This fixes bug 757.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-28 07:06:13 +01:00
Olivier Langlois
6fdf35fe35
lavc: Use av_gettime_relative
...
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:42 +03:00
Anton Khirnov
530c1441fd
lavc: make lmax/lmin into private options of mpegvideo encoders
2014-10-18 05:29:14 +02:00
Anton Khirnov
15ec053c4c
lavc: make border_masking into private options of mpegvideo encoders
2014-10-18 05:28:40 +02:00
Anton Khirnov
c4f7bee087
lavc: deprecate unused mb_threshold field
2014-10-18 05:28:29 +02:00
Anton Khirnov
685be3d1ae
libvpxenc: add static-thresh private option
...
Currently, this option is accessed through AVCodecContext.mb_threshold,
which originally controlled reusing MB data when transcoding mpeg to
mpeg. Since the libvpx meaning is completely different from the original
mpegvideo meaning, it is better to use a separate private option for
this.
2014-10-18 05:28:03 +02:00
Anton Khirnov
59b55c494e
lavc: deprecate unused me_threshold field
2014-10-18 05:26:56 +02:00
Anton Khirnov
66a68ddd1a
lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders
2014-10-18 05:26:29 +02:00
Anton Khirnov
a75c2eb25a
lavc: make rc_eq into private options of mpegvideo encoders
2014-10-18 05:23:51 +02:00
Anton Khirnov
946f95354b
lavc: make rc_qmod_* into private options of mpegvideo encoders
2014-10-18 05:23:05 +02:00
Anton Khirnov
a6e4ce9fd5
lavc: make rc_qsquish a private option of mpegvideo encoders
2014-10-18 05:21:50 +02:00
Vittorio Giovara
bae557edce
dump: display codec tags when available
...
For both audio and video.
2014-10-17 14:45:07 +01:00
Omer Osman
66e9f83953
libfdk-aacdec: Enable Dynamic Range Control Metadata Support
...
For streams which contain DRC metadata, the FDK decoder is able to
control rendering of the decoded output. The rendering parameters
are detailed in fdk_aac_dec_options [].
The default behavior is left up to the decoder.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 15:48:31 +03:00
Omer Osman
b01a2204b5
libfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support
...
The FDK decoder is capable of producing mono and stereo downmix from
multichannel streams. These streams may contain metadata that control
the downmix process. The decoder requires an Ancillary Buffer in order to
correctly apply downmix in streams containing downmix Metadata. The
decoder does not have an API interface to inform of the presence of
Metadata in the stream, and therefore the Ancillary Buffer is always
allocated whenever a downmix is requested.
When downmixing multichannel streams, the decoder requires the output
buffer in aacDecoder_DecodeFrame call to be of fixed size in order to
hold the actual number of channels contained in the stream. For example,
for a 5.1ch to stereo downmix, the decoder requires that the output buffer
is allocated for 6 channels, regardless of the fact that the output is in
fact two channels.
Due to this requirement, the output buffer is allocated for the maximum
output buffer size in case a downmix is requested (and also during
decoder init). When a downmix is requested, the buffer used for output
during init will also be used for the entire duration the decoder is open.
Otherwise, the initial decoder output buffer is freed and the decoder
decodes straight into the output AVFrame.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 15:48:30 +03:00
Vittorio Giovara
1ac5a29b2e
imc: fix order of operations in coefficients read
...
Reported-by: Ruoyu <liangry@ucweb.com>
2014-10-15 14:48:07 +01:00
Anton Khirnov
7ea1b3472a
lavc: deprecate the use of AVCodecContext.time_base for decoding
...
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.
Add a new field, called 'framerate', to replace the use of time_base for
decoding.
2014-10-15 06:37:43 +00:00
Rémi Denis-Courmont
d565fef1b8
vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check
...
Decoding acceleration may work even if the codec level is higher than
the stated limit of the VDPAU driver. Or the problem may be considered
acceptable by the user. This flag allows skipping the codec level
capability checks and proceed with decoding.
Applications should obviously not set this flag by default, but only if
the user explicitly requested this behavior (and presumably knows how
to turn it back off if it fails).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:56 +00:00
Rémi Denis-Courmont
c1724623ce
vdpau: have av_vdpau_bind_context() fail on unsupported flag
...
Currently, no flags are supported.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:47 +00:00
Anton Khirnov
2df0c32ea1
lavc: use a separate field for exporting audio encoder padding
...
Currently, the amount of padding inserted at the beginning by some audio
encoders, is exported through AVCodecContext.delay. However
- the term 'delay' is heavily overloaded and can have multiple different
meanings even in the case of audio encoding.
- this field has entirely different meanings, depending on whether the
codec context is used for encoding or decoding (and has yet another
different meaning for video), preventing generic handling of the codec
context.
Therefore, add a new field -- AVCodecContext.initial_padding. It could
conceivably be used for decoding as well at a later point.
2014-10-13 19:09:01 +00:00
Rémi Denis-Courmont
c80a816142
h263dec: call get_format() on resolution changes
...
Fail safe if the pixel format changes.
2014-10-13 16:05:04 +02:00
Rémi Denis-Courmont
1f29e5d7a2
h263dec: call get_format after setting resolution and profile
...
Bug-Id: 541
2014-10-13 16:04:53 +02:00
Vittorio Giovara
1a02e78653
vc1: initialize color properties
2014-10-08 18:17:50 +01:00
Vittorio Giovara
eddf95283f
vp9: initialize color space and range properties
2014-10-08 18:17:50 +01:00
Vittorio Giovara
65875a8b3b
vp8: initialize color space and range properties
2014-10-08 18:17:50 +01:00
Vittorio Giovara
586ea0379c
avcodec: fix colorspace option description
2014-10-08 18:17:50 +01:00
Marc-Antoine Arnaud
91eef40203
avcodec: add enum values on chroma sample location
2014-10-08 18:17:50 +01:00
Marc-Antoine Arnaud
9d5fed6dc4
avcodec: fix descriptions on color transfer options
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-08 18:17:49 +01:00
Vittorio Giovara
9f3a70c442
dump: print the original coded dimensions when available
2014-10-08 18:17:49 +01:00
Vittorio Giovara
41e86146e7
dump: print detailed color space information
2014-10-08 18:17:49 +01:00
Vittorio Giovara
20a5956b8d
dump: split audio and video probing on multiple lines
...
Also always report pixel format.
2014-10-08 18:17:49 +01:00
Vittorio Giovara
147f2e91ee
avcodec: make sure color_range is properly initialized
2014-10-08 18:17:49 +01:00
Luca Barbato
04d14c9b68
vc1: Split the decoder in components
...
Speed up the overall compilation time.
2014-10-08 18:34:48 +02:00
Henrik Gramner
2d91abade2
x86: h264_intrapred: Don't treat 32-bit integers as 64-bit
...
The upper halves are not guaranteed to be zero in x86-64.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-08 08:15:52 +00:00
James Almer
82f8eb5f77
jpeg2000: split off inverse MCT as Jpeg2000DSP
...
This makes the addition of arch optimized functions easier.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-08 08:02:55 +00:00
Josh Allmann
9a03c23235
h263dec: Force padding bug workaround for H.263.
...
Fixes decoding of http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-07 07:30:32 +00:00
Anton Khirnov
d208d1eba3
hevc_mvs: make sure to always initialize the temporal MV fully
...
The spec requires this.
Fixes uninitialized reads on some samples.
Remove now unnecessary initialization of the whole merge candidate list.
2014-10-07 07:13:01 +00:00
Anton Khirnov
79a60c8e77
hevc_mvs: initialize the temporal MV in case of missing ref
...
The caller expects the MV to always be initialized.
2014-10-07 07:12:55 +00:00
Rémi Denis-Courmont
153fadc390
ff_get_format: fix infinite loop
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 18:39:45 +00:00
Manfred Georg
577899a645
lavc: specify the behavior of av_lockmgr_register on failure.
...
The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library. The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).
Signed-off-by: Manfred Georg <mgeorg@google.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 18:20:17 +00:00
Rémi Denis-Courmont
bef067f88c
vdpau: check video surface and decoder capabilities
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
e3e158e81f
vdpau: add av_vdpau_bind_context()
...
This function provides an explicit VDPAU device and VDPAU driver to
libavcodec, so that the application is relieved from codec specifics
and VdpDevice life cycle management.
A stub flags parameter is added for future extension. For instance, it
could be used to ignore codec level capabilities (if someone feels
dangerous).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
502cde409c
vdpau: force reinitialization when output resolution changes
...
This is necessary to recreate the decoder with the correct parameters,
as not all codecs invoke get_format() in this case.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:18:56 +00:00
Rémi Denis-Courmont
89ac99ba5f
vdpau: pass codec-specific parameters from hwaccel
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:41:31 +00:00
Rémi Denis-Courmont
ce083282f0
vdpau: common support for managing the VdpDecoder in avcodec
...
Using the not so new init and uninit callbacks, avcodec can now take
care of creating and destroying the VDPAU decoder instance.
The application is still responsible for creating the VDPAU device
and allocating video surfaces - this is necessary to keep video
surfaces on the GPU all the way to the output. But the application
will no longer needs to care about any codec-specific aspects.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:17:02 +00:00
Rémi Denis-Courmont
fcc1022611
vdpau: factor out common end-of-frame handling
...
Also add error handling.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:13:44 +00:00
Rémi Denis-Courmont
319424d25c
vdpau: add helper for VDPAU to libav error codes conversion
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:08:53 +00:00
Luca Barbato
68211c70af
vc1: Do not assume seek happens after decoding
...
If a seek is requested before the decoding start there is no
current picture.
CC: libav-stable@libav.org
2014-10-04 23:46:46 +02:00
Michael Niedermayer
d10d1b8655
libx265: enable psnr reporting when requested by the user
...
This is similar to what is done in libx264.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-01 14:31:48 +01:00
Michael Niedermayer
2cd7c99498
h264: reset ret to avoid propagating minor failures
...
Unbreak 772d150a6e
.
CC: libav-stable@libav.org
Bug-Id: 750 / 905753
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-09-29 12:33:55 +01:00
Luca Barbato
e3a00acde0
hevc: Initialize mergecand_list to 0
...
Unbreak cf6090dc62
.
CC: libav-stable@libav.org
Sample-Id: hevc-conformance-LTRPSPS_A_Qualcomm_1
2014-09-29 12:33:46 +01:00
Rémi Denis-Courmont
4e03b2097c
mpeg12: Always invoke the get_format() callback
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Rémi Denis-Courmont
ce42316321
h264: Always invoke the get_format() callback
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Rémi Denis-Courmont
1c80c9d7ef
hwaccel: Call ->get_format again if hwaccel init fails
...
This allows the application to fall back on another hwaccel or,
more likely, software decoding.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:36 +02:00
Tristan Matthews
7703995a2e
flac: Remove unused headers
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-26 10:33:01 -07:00
Tim Walker
cc4992aaf3
ac3enc: allow Dolby Pro Logic IIz as the Dolby Surround EX mode.
...
This is actually defined in the A/52 specification.
2014-09-26 17:09:14 +02:00
Tim Walker
4c2fd4b262
ac3enc: allow Dolby Pro Logic II as a preferred downmix mode.
...
Some encoders already use this value even
though it's reserved in the A/52 specification.
2014-09-26 17:09:13 +02:00
Michael Niedermayer
a97328afef
vc1: Use logical instead of bitwise or for twomv
...
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-09-26 16:55:36 +02:00
Tim Walker
b5fe13448b
vc1: Use logical instead of bitwise or for coded_inter
...
This appears to be the intended behavior.
2014-09-26 16:18:42 +02:00
Diego Biurrun
b97f6ef956
pcm-dvd: Move a variable to a smaller scope
...
This avoids an unused variable warning on big-endian systems.
2014-09-26 02:15:34 -07:00
Martin Storsjö
d07ddc93e2
avcodec: Fix a doxy comment to refer to the right function
...
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-25 10:01:25 +03:00
Diego Biurrun
103391ca90
dca: Remove some commented-out cruft
2014-09-20 13:49:52 +02:00
Gabriel Dume
45ff7c93dd
dca: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-16 04:42:32 -07:00
Gabriel Dume
ee0ebd3c14
dv: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 05:30:28 -07:00
Gabriel Dume
9752d07d33
dirac: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 01:39:47 -07:00
Diego Biurrun
1274ea8dba
Split off floating point AAN (I)DCT into separate components
2014-09-07 13:36:26 -07:00
Diego Biurrun
2143948381
Drop unnecessary av_unused attributes.
2014-09-05 13:55:04 +02:00
Diego Biurrun
213e606752
Replace av_unused attributes by block structures
...
This is more portable and avoids warnings with compilers that do not
properly support av_unused.
2014-09-05 13:55:04 +02:00
Diego Biurrun
096a1d5b46
rdft: Move some variables into a separate block
...
This avoids an unused variable warning with hardcoded tables.
2014-09-05 13:55:03 +02:00
Diego Biurrun
b574e1e97e
get_bits: Add OPEN_READER macro variant w/o size_plus8
...
This avoids a trillion warnings from MSVC.
2014-09-05 13:55:03 +02:00
Diego Biurrun
4d55e9de27
vc1: Split bits used in libavformat into a separate header
...
This reduces inter-library dependencies.
2014-09-04 07:11:03 -07:00
Diego Biurrun
f20518568a
build: Split WMA frequencies into a separate object file
...
These are the only WMA bits shared with binkaudio. Splitting them off
reduces the binnkaudio dependency on general WMA code.
2014-09-04 05:19:46 -07:00