Vittorio Giovara
419e3404d0
mpegvideo: Drop exchange_uv() function and use its code directly
...
Code is small enough that there is no advantage in a separate function.
2015-05-28 15:38:43 +01:00
Vittorio Giovara
4e17946f10
mpegvideo: Rework various functions not to use MpegEncContext directly
2015-05-22 15:34:39 +01:00
Vittorio Giovara
a3f4c930ac
mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly
2015-05-22 15:34:39 +01:00
Vittorio Giovara
d528045558
mpegvideo: Have ff_mpeg_unref_picture use AVCodecContext directly
...
This skips setting the memory to 0 but allows for reuse on different
contextes. Oracle did not report any unsual activity because of it.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
6f54dc43ce
mpegvideo: Drop stream_codec_tag
...
The field is unused.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
9c1db92ad3
mpegvideo: Drop err_recognition
...
It is just a duplicate of an AVCodecContext member so use it instead.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
848e86f74d
mpegvideo: Drop flags and flags2
...
They are just duplicates of AVCodecContext members so use those instead.
2015-05-22 15:34:39 +01:00
Vittorio Giovara and Michael Niedermayer
265d884eb0
avcodec/vmnc: Add back adapted comment about 24bit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-20 19:24:54 +02:00
Vittorio Giovara
7046bd9bc9
lavfi: Move avcodec header to the only filter needing it
...
af_ashowinfo, due to the enum AVAudioServiceType use.
2015-05-19 18:56:40 +01:00
Vittorio Giovara
eafbc6716c
vmnc: Delay pixel size check
...
Some clients incorrectly set 24 as bits_per_coded_sample, while
the actual value is preserved in one of the codec headers.
In order to work around this, delay the check until decode_frame().
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-05-19 18:55:30 +01:00
Vittorio Giovara
d84429d41e
dnxhd: Print unknown header when found
2015-05-12 16:30:48 +01:00
Vittorio Giovara
8fc11abe1f
mkv: Print unsupported mov tags when found
2015-05-12 15:28:31 +01:00
Vittorio Giovara
0348e74c01
quickdraw: Skip the empty 512 byte header for images
...
Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at >
2015-05-12 15:28:31 +01:00
Vittorio Giovara
6c8c7c2462
dump: Print AVAudioServiceType side data
2015-05-06 14:57:46 +01:00
Vittorio Giovara
04070dbca0
libx265: Fix 'braces around scalar initializer' warning
...
x265 Reordered the x265_picture fields in the commit
https://github.com/videolan/x265/commit/51b1518de2414431f36eac592db15b667c25a7b9#diff-945b5354d8767dfac13334f2d22cf58fR107
Now the first field is an integer and not an array.
2015-05-06 14:53:29 +01:00
Vittorio Giovara
d81fb63d87
fate: Add a PICT test
...
This stimulates the direct pixel mode in Quickdraw decoder.
2015-05-06 14:36:01 +01:00
Vittorio Giovara
7b734ee55d
lavf: Open PICT images with Quickdraw
...
Update the pictor test to use the pictor codec, as both formats share
the .pic file extension.
2015-05-06 14:27:34 +01:00
Vittorio Giovara
34efb8a169
quickdraw: Support direct pixel blocks
...
Data is stored in separated components so rework decode_rle() to support
stepping and offsets.
2015-05-06 14:27:34 +01:00
Vittorio Giovara
bb2cb0a66d
quickdraw: Switch to greedy parsing
...
Quickdraw packs data as a series of codes that the application is supposed
to handle, but it does not define any order in which they might appear.
Since it's unfeasible to support *all* opcodes defined by the spec,
only handle well-known blocks containing video data and ignore any unknown
or unsupported ones.
Move palette loading and rle decoding to separate functions to resue them
in other blocks and drop format initialization in init since it can
support more formats than pal8.
Validate width and height.
2015-05-06 14:26:30 +01:00
Vittorio Giovara
d00f1e0fc1
quickdraw: Convert to bytestream2
...
Add appropriate error messages and reduce r, g, b variables scope.
Drop the now redundant line checks in RLE decoding.
2015-05-06 14:26:30 +01:00
Vittorio Giovara
6503cbf842
ffv1enc: Add const attribute to input frame
...
warning: assigning to 'AVFrame *' (aka 'struct AVFrame *') from
'const AVFrame *' (aka 'const struct AVFrame *') discards
qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
2015-05-01 14:52:24 +01:00
Vittorio Giovara
0c69164f45
h263: Convert function to macro
2015-04-28 16:33:09 +01:00
Vittorio Giovara
59dfc2b0c8
h263: Drop commented-out code and a related otherwise unused function
2015-04-28 16:31:05 +01:00
Vittorio Giovara
c341820130
jpeglsenc: Mark codec as init-thread-safe and init-cleanup
...
Fixes a memory leak on init failure.
2015-04-28 16:29:29 +01:00
Vittorio Giovara
3919a45726
jpeglsenc: Check memory allocations
...
Convert exisiting free functions to av_freep() to avoid accidental
double frees, and always intialize all buffers to NULL.
2015-04-28 16:27:16 +01:00
Vittorio Giovara
f5ba67ee13
flacenc: Move a scratch buffer to struct used by the function
...
This avoids allocating/freeing memory at every function call,
checking its return value, and carrying the error around.
2015-04-28 16:25:09 +01:00
Vittorio Giovara
18db1286b0
libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
eae7338e15
libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
74a1cad7e3
lclenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
bb428e00ac
hqx: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
43171886e0
huffyuvenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
d90133b77b
asvenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:10 +01:00
Vittorio Giovara
a4edaeb50f
hq_hqa: Fix table data for profile 17
...
The table had a wrong table height and was missing the first line of bytes.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-04-24 14:55:10 +01:00
Vittorio Giovara
b17cbb0b1c
riff: Add GMP4 fourcc for mpeg4
2015-04-24 14:55:10 +01:00
Vittorio Giovara
3c04ec04df
riff: Add GLV4 fourcc for mpeg4
2015-04-24 14:55:10 +01:00
Vittorio Giovara
5bba3ab0cf
internal: Make dlog/tlog a no-op when disabled
...
Improves Coverity analysis, avoiding "double semicolon" CIDs.
2015-04-24 14:55:10 +01:00
Vittorio Giovara and Michael Niedermayer
32da94fa7f
lavf: Reset global flag on deinit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-23 13:55:55 +02:00
Vittorio Giovara and Michael Niedermayer
45340f9fc7
network: Do not leave context locked on error
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-23 13:42:33 +02:00
Vittorio Giovara
eaa2d123f0
log: Print a full backtrace along with error messages under Valgrind
...
Useful to understand where and in what execution state a certain message
is generated. It is enabled only when optimizations are disabled, since
function names are not printed otherwise.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-04-20 19:20:57 +01:00
Vittorio Giovara
bd5ad8b23d
hq_hqa: Fix reading hqa quantization matrix index
...
Value is stored as a byte.
2015-04-20 19:20:22 +01:00
Vittorio Giovara
1746dc382d
hqxdsp.h: #include "stddef.h"
...
It is required by ptrdiff_t, fixes make checkheaders.
2015-04-20 19:19:23 +01:00
Vittorio Giovara
98cab39798
lavf: Fix variables constness in ff_iso8601_to_unix_time()
...
warning: assigning to
'char *' from 'const char *' discards qualifiers
[-Wincompatible-pointer-types-discards-qualifiers]
2015-04-20 18:43:33 +01:00
Vittorio Giovara
86e1a35802
h264_ps: Return meaningful error codes and address a memory leak
...
Bug-Id: CID 1026763
2015-04-20 14:59:40 +01:00
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
9286de0459
mov: Double-check that alias path is not an absolute path
...
nlvl_to and nlvl_from can be set to 1 if both alias and target files
are in the same directory, so actually check the first character of the
string. We can do this because MacOS filepaths (alis type 2) are always
converted to UNIX filepaths (alis type 18).
2015-04-19 22:50:24 +01:00
Vittorio Giovara
376589e5dd
mov: Read alternate absolute path in dref alis
...
Absolute paths can be stored in alis type 2 and 18 according to my research:
the first is the canonical MacOS filepath, with path level separated by
colons, and the volume name within the filepath, while the second should be the
absolute filesystem path from the mount point.
2015-04-19 22:48:14 +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
fcda30f2dc
fate: Prefix cllc tests with canopus
...
They belong to the same family of codecs.
2015-04-19 22:36:50 +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
Vittorio Giovara
1a3eb042c7
Replace av_dlog with normal av_log at trace level
...
This applies to every library where performance is not critical.
2015-04-19 12:41:59 +01:00
Vittorio Giovara
c253340ae6
log: Introduce a more verbose debug level
...
And deprecate av_dlog macro.
2015-04-19 12:41:59 +01:00
Vittorio Giovara and Michael Niedermayer
7498f2221e
h264: Do not fail on unsupported timing info
...
The spec madandate both time_scale and num_units_in_tick greater than 0,
however since they are not essential for decoding, just ignore the whole
block and try to finish parsing the VUI.
Related to Ticket4445.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-04-16 03:41:41 +02:00
Vittorio Giovara and Diego Biurrun
73dacabfc9
ffv1: Check memory allocations
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2015-04-13 17:51:31 +02:00
Vittorio Giovara
783df7d5c5
riff: Add 'M705' FourCC for mpeg2video
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
be089af38f
mov: Rely on box type rather than file type for colr atom
...
Although it's not allowed to use only allows 'nclc' in ISOM files, there
are samples that do not always respect this rule. This change prevents
atom overread and a spurious color range initialization.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-04-09 13:46:54 +02:00
Vittorio Giovara
f8fd0c29ce
v210: Fix typo in header guards
2015-04-09 13:40:44 +02:00
Vittorio Giovara
312a9ef04b
pixfmt: Update documentation with prefixed pixel formats
2015-03-23 20:53:28 +00:00
Vittorio Giovara
592a04054e
pixdesc: Replace a few leftover instances of non AV-prefixed flags
2015-03-23 20:53:28 +00:00
Vittorio Giovara
7419b34825
fate: Add test for tscc2 in mov
...
Rename the existing tscc2 test.
2015-03-23 20:53:28 +00:00
Vittorio Giovara
e4fe535d12
mov: Write the display matrix in order
...
This will allow to copy the matrix as is and it is just cleaner to keep
the matrix in the same order specified by the mov standard (which is
also explicitly described in the documentation).
In order to preserve compatibility, flip the angle sign in the display API
av_display_rotation_set() and av_display_rotation_get(), and improve the
documentation mentioning the rotation direction.
2015-03-23 20:53:28 +00:00
Vittorio Giovara
6289706b35
fate: Move tdsc to the appropriate screen capture file
2015-03-17 13:36:10 +00:00
Vittorio Giovara
423f5d50e4
mov: Fix little endian audio detection
...
Set this field to TRUE if the audio component is to operate on
little-endian data, and FALSE otherwise.
However TRUE and FALSE are not defined. Since this flag is just a boolean,
interpret all values except for 0 as little endian.
Sample-Id: 64bit_FLOAT_Little_Endian.mov
2015-03-17 13:34:23 +00: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
Vittorio Giovara
02d76141d6
riff: Add 'tshd' FourCC for H.264
2015-03-17 13:34:22 +00: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
Vittorio Giovara
6bdae41d3e
matroskadec: Check memory allocations
...
CC: libav-stable@libav.org
2015-03-12 17:48:14 +00:00
Vittorio Giovara
c3bd1d60af
formats: Check memory allocations
2015-03-12 17:46:47 +00:00
Vittorio Giovara
5a2645cafe
nutdec: Prevent leaks on memory error
...
Bug-Id: CID 205122 / CID 205123
2015-03-12 15:29:59 +00:00
Vittorio Giovara
edca1dd552
xcbgrab: Check av_strdup() allocation
...
Bug-Id: CID 1274038
2015-03-12 15:29:59 +00: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
Vittorio Giovara
7a76c6c4df
configure: Enable colored output for gcc 4.9+
2015-03-11 18:01:36 +00:00
Vittorio Giovara
bacc92b59b
rtpdec_vp9: Drop extra sanity check for size of input packet
...
In this case len is always at least 1, since it is checked against
RTP_VP9_DESC_REQUIRED_SIZE + 1 and then it is reduced by
RTP_VP9_DESC_REQUIRED_SIZE before entering the has_pic_id check.
Bug-Id: CID 1270811
2015-03-11 18:01:25 +00:00
Vittorio Giovara
fe99c52fa9
mp3: Properly use AVCodecContext API
...
Rather than having an unitialized context on the stack, allocate it with
defaults and free it when unneeded.
CC: libav-stable@libav.org
2015-03-11 17:57:56 +00:00
Vittorio Giovara
9272c965d9
matroskaenc: Fix type used for chapter timestamps
2015-03-11 17:56:51 +00: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
Vittorio Giovara
ad94c6ca0b
siff: Use the correct type for packet size variables
...
The avio functions used here return an unsigned value.
Also reduce a variable scope.
CC: libav-stable@libav.org
Bug-Id: CID 1258461
2015-03-09 12:58:17 +00:00
Vittorio Giovara
9f25a10992
matroskaenc: Also validate chapter end time
...
This prevents it to be written as unsigned. Also add an error message.
CC: libav-stable@libav.org
Bug-Id: CID 1265717
2015-03-09 12:57:19 +00:00
Vittorio Giovara
bfeb83a8b7
rtpdec_hevc: Drop extra sanity check for size of input packet
...
In this case len is always at least 3, since it is checked against
RTP_HEVC_PAYLOAD_HEADER_SIZE + 1 before entering the switch block.
Bug-Id: CID 1238784
2015-03-09 12:57:01 +00:00
Vittorio Giovara
7b9cb7b365
avprobe: Export coded_{width,height} in -show_streams
2015-03-08 20:41:50 +00: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
Vittorio Giovara
0af3b65880
asf: do not export XMP metadata by default
...
Similarly to what has been done for MOV, display XMP metadata only when
users explicitly require it.
The Extensible Metadata Platform tag can contain various kind of data
which are not strictly related to the video file, such as history of
edits and saves from the project file.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-03-03 15:30:52 +00:00
Vittorio Giovara
994d8f3095
fate: Add AIC test with odd sizes
2015-03-03 15:08:45 +00: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
Vittorio Giovara and Michael Niedermayer
43e5e3c077
colormatrix: Accept bt601 aliases as input
...
As far as matrix coefficients are concerned, BT470BG and SMPTE170M
match BT601. This is similar to the check performed in vf_scale.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-02-26 19:26:05 +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
Vittorio Giovara
e570f895cd
libschroedinger: Check memory allocations
2015-02-22 22:32:18 +00:00
Vittorio Giovara
521979e6b1
configure: Properly fail when libcdio/cdparanoia is not found
2015-02-22 22:31:54 +00:00