Vittorio Giovara
21c90d86d2
mpegvideo: Add missing include
2015-07-22 13:35:44 +01:00
Michael Niedermayer
d08d8b61aa
dds: Fix 32bpp bitmaps decoding
...
Found-By: ami_stuff
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-22 13:35:44 +01:00
Vittorio Giovara
57214b2f7f
dds: Fix palette decoding
...
Red and blue channels were decoded in the wrong order.
Found-By: ami_stuff
2015-07-22 13:35:44 +01:00
Vittorio Giovara
ea4d46e729
dds: Fix enum declaration
...
Drop the global variables with anonymous enum type.
2015-07-22 13:35:43 +01:00
Anton Khirnov
ecee1148af
qsvenc_hevc: use the correct HW plugin UID
2015-07-22 12:11:46 +02:00
Luca Barbato
6b2b26e7af
dds: Decode using optimal slices sizes
...
Enjoy some cache locality and use less threads.
About the same speedup provided to HAP.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-21 12:14:25 +02:00
Luca Barbato
977105407c
hap: Decode using optimal slices sizes
...
Enjoy some cache locality and use less threads.
About 5x speedup (from 60ms to 12ms to decode a 4k frame).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-21 12:14:25 +02:00
Janne Grunau
9ed6f9a17c
arm: use a local label instead of the function symbol in ff_prefetch_arm
...
Avoids a relocation which might end out of range for thumb2.
Reported-By: Ludovic Fauvet <etix@videolan.org>
Bug-Id: https://bugs.webkit.org/show_bug.cgi?id=137022
CC: libav-stable@libav.org
2015-07-20 23:10:29 +02:00
Janne Grunau
f56d8d8dd7
h264: aarch64: intra prediction optimisations
2015-07-20 23:10:29 +02:00
Vittorio Giovara
40cf1bbacc
Deprecate avctx.coded_frame
...
The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.
There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.
The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:50 +01:00
Vittorio Giovara
5d3addb937
Add a quality factor packet side data
...
This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:47 +01:00
Vittorio Giovara
d6604b29ef
Gather all coded_frame allocations and free functions to a single place
...
Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().
This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 14:16:15 +01:00
Vittorio Giovara
91f9b6579a
flashsvenc: Keep coded_frame.key_frame a write-only variable
2015-07-20 14:13:42 +01:00
Vittorio Giovara
75c1ed2e4c
ffv1enc: Use input frame to set SAR and interlacing
2015-07-20 14:13:42 +01:00
Vittorio Giovara
10a9149de2
ffv1enc: Keep coded_frame.key_frame a write-only variable
2015-07-20 14:13:42 +01:00
Vittorio Giovara
efc618aff9
qtrleenc: Keep coded_frame.key_frame a write-only variable
2015-07-20 14:13:42 +01:00
Vittorio Giovara
f3b4a92241
libtheoraenc: Keep coded_frame.key_frame a write-only variable
2015-07-20 14:13:42 +01:00
Vittorio Giovara
d6006dd9f0
libvpxenc: Do not entangle coded_frame
...
Keep coded_frame.key_frame a write-only variable.
2015-07-20 14:13:42 +01:00
Vittorio Giovara
7fc8d8a1b3
libxvid: Do not entangle coded_frame
2015-07-20 14:13:42 +01:00
Vittorio Giovara
56672aeaee
svq1enc: Do not entangle coded_frame
2015-07-20 14:13:42 +01:00
Vittorio Giovara
05fb4c9aaf
proresenc: Do not entangle coded_frame
2015-07-20 14:13:42 +01:00
Vittorio Giovara
91767360d8
a64multienc: Do not entangle coded_frame
...
This change (and the following ones of the same kind) is mainly to
simplify wrapping this section with an #if FF_API block later on.
No functional changes are applied, the fields of the context coded_frame
fields are directly initialized, instead of keeping a reference to the
coded_frame itself.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 14:12:48 +01:00
Vittorio Giovara
95e2317ed8
roqvideoenc: Drop unneeded initialization
...
Its fields are never initialized to begin with.
2015-07-20 13:57:25 +01:00
Vittorio Giovara
1f171de8ca
mpegvideo_enc: Drop unnneded initialization
...
coded_frame is already initialized where needed.
2015-07-20 13:57:18 +01:00
Anton Khirnov
69b92f1b99
qsvenc: properly handle asynchronous encoding
...
Wait for async_depth frames before syncing.
2015-07-19 10:06:53 +02:00
Anton Khirnov
f5c4d38c78
qsvdec: properly handle asynchronous decoding
...
Wait for async_depth frames before syncing.
2015-07-19 09:47:45 +02:00
Janne Grunau
256ef19844
h264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1
2015-07-18 00:28:49 +02:00
Henrik Gramner
a344e5d094
x86: bswapdsp: Don't treat 32-bit integers as 64-bit
...
The upper halves are not guaranteed to be zero in x86-64.
Also use `test` instead of `and` when the result isn't used for anything other
than as a branch condition, this allows some register moves to be eliminated.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-17 20:02:28 +02:00
Vittorio Giovara
f5ee23004d
configure: Factor out g722dsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
a623aa0069
configure: Factor out wmv2dsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
d42191c78b
configure: Factor out vp8dsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
d4aea1aa40
configure: Factor out vp56dsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
5cb4bdb2a0
configure: Factor out rv34dsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
575ec60e54
configure: Factor out mss34dsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
2edc77dc7b
configure: Factor out ividsp module
2015-07-17 18:46:24 +01:00
Vittorio Giovara
b075869bc1
configure: Factor out flacdsp module
2015-07-17 18:46:23 +01:00
Luca Barbato
e1319aa1c1
libx264: Add support for the MPEG2 encoder
2015-07-17 10:47:48 +02:00
Vittorio Giovara
0cf5588d69
hq_hqa: Fix decoding when INFO section is absent
2015-07-17 01:49:42 +01:00
Kieran Kunhya
b0017579b6
h264: Add support for Closed Caption export
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-17 01:44:22 +01:00
Luca Barbato
c88c5eef53
hevc: Split the struct setup from the pps parsing
2015-07-15 19:39:44 +02:00
Luca Barbato
32c8d89c03
hevc: Print the non-supported chroma_format_idc
...
And drop the spurious newline.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-13 21:59:53 +02:00
Luca Barbato
8e373fe048
hevc: Factor out the pixel format mapping from the sps parser
...
The function will grow larger as more formats are supported.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-13 21:59:53 +02:00
James Almer
1b9a8e5f1d
dxva2_hevc: unbreak compilation after recent sps/pps changes
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-07-13 09:00:37 +02:00
Anton Khirnov
a062a55d37
hevc_parser: fix standalone build with the hevc decoder disabled
...
The parser depends on hevc_ps, which in turn needs some data tables.
Found-by: James Almer <jamrial@gmail.com>
2015-07-13 08:58:21 +02:00
Anton Khirnov
b9f76d19d8
hevc_ps: make sure failing to decode an SPS always returns an error
...
Some of the goto err clauses do not set the error code. It seems better
to fall back on INVALIDDATA instead of adding it everywhere explicitly.
2015-07-13 07:49:03 +02:00
Anton Khirnov
077b559433
hevc: handle a NULL sps in set_sps() properly
...
This can happen in update_thread_context(), when the previous frame was
corrupted.
2015-07-12 18:57:10 +02:00
Anton Khirnov
18156b53f9
hevc: do not pass an entire HEVCContext into export_stream_params()
...
It only needs the parameter sets.
2015-07-12 18:52:02 +02:00
Anton Khirnov
650060dfb6
hevc_parser: parse and export some stream parameters
...
Particularly those that will be needed by the QSV decoder.
More can be added later as necessary.
2015-07-12 18:15:40 +02:00
Anton Khirnov
7f78155dc6
hevc: improve a comment
...
That loop does the actual full decoding, so 'parse' can be misleading.
2015-07-12 18:15:40 +02:00
Anton Khirnov
d82e1adc20
hevc: move splitting the packet into NALUs into a separate function
...
This function is independent of the decoding context, so we'll be able
to use it in the parser.
2015-07-12 18:15:39 +02:00