Anton Khirnov
76e74e4831
h264: remove obsolete comment.
2013-01-29 07:32:47 +01:00
Anton Khirnov
47318953dd
mpegvideo: remove some unused variables from Picture.
2013-01-29 07:32:36 +01:00
Anton Khirnov
231fd1ed39
utvideoenc/v410enc: do not set AVFrame.reference.
...
That field will be deprecated.
2013-01-29 07:32:21 +01:00
Anton Khirnov
e6b1c3bbe7
pthread: make ff_thread_release_buffer idempotent.
...
I.e. don't do anything on already released frames.
2013-01-29 07:32:10 +01:00
Anton Khirnov
aec50f79e7
rawdec: use AVPALETTE_SIZE instead of magic constants.
2013-01-29 07:31:43 +01:00
Anton Khirnov
e6da5d215b
mimic: remove a pointless cast.
2013-01-29 07:31:24 +01:00
Anton Khirnov
30d62507cd
mdec: return meaningful error codes.
2013-01-29 07:31:15 +01:00
Anton Khirnov
f713411d4c
mdec: cosmetics, reformat
2013-01-29 07:27:36 +01:00
Anton Khirnov
098eed95bc
mdec: merge mdec_common_init() into decode_init().
...
There is no point in keeping those two functions separate.
2013-01-29 07:27:23 +01:00
Anton Khirnov
f1c395944c
eatgv: use fixed-width types where appropriate.
2013-01-29 07:27:08 +01:00
Diego Biurrun
c59211b437
x86: Simplify some arch conditionals
2013-01-29 00:10:53 +01:00
Diego Biurrun
438ea561ad
bfin: Separate VP3 initialization code
2013-01-28 21:03:12 +01:00
Luca Barbato
f550583c00
bfin: update VP3 idct
...
The block must be set to 0.
2013-01-28 21:00:59 +01:00
Michael Niedermayer
834e9fb056
x86: hpeldsp: Fix a typo, use the right register
...
This makes the code actually work.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-28 12:49:37 +02:00
Luca Barbato
4839fbe2d1
shorten: fix array subscript is below array bounds warning
...
Incidentally fixes alpha builds.
2013-01-28 07:24:51 +01:00
Daniel Kang
05b0998f51
dsputil: Fix error by not using redzone and register name
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-28 07:23:20 +01:00
Martin Storsjö
2026eb1408
arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
...
This makes the plain-armv6 version use the same registers as the
armv6t2 version above.
This fixes fate-vp8 on plain-armv6 devices.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-27 13:17:25 +02:00
Daniel Kang
96753bd00d
dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
...
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:48 +01:00
Daniel Kang
0eedf5d74d
dsputil: add missing HAVE_YASM guard
...
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:46 +01:00
Rémi Denis-Courmont
78bc4d69eb
hwaccel: do not offer unsupported pixel formats
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 07:03:22 +01:00
Rémi Denis-Courmont
ec0e92002b
vdpau: add missing pixel format for H.264
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 07:03:22 +01:00
Daniel Kang
71155d7b41
dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 06:45:31 +01:00
Ronald S. Bultje
f90ff772e7
Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm.
2013-01-26 20:35:42 -08:00
Anton Khirnov
04f4dbc2fa
mpegvideo_enc: fix indentation in load_input_picture()
2013-01-26 13:08:38 +01:00
Anton Khirnov
3f47d316cd
mpegvideo_enc: do not modify the input frame.
2013-01-26 13:08:32 +01:00
Anton Khirnov
7bcaeb408e
mjpegdec: fix indentation
2013-01-26 13:08:07 +01:00
Anton Khirnov
0ce033f888
rawdec: cosmetics, reformat
2013-01-26 13:07:41 +01:00
Anton Khirnov
b965cb906b
mimic: return meaningful error codes.
2013-01-26 13:06:41 +01:00
Anton Khirnov
a0cabd0a27
mimic: cosmetics, reformat
2013-01-26 13:04:15 +01:00
Anton Khirnov
04e1249609
iff: drop ff_ prefix from a static function.
2013-01-26 13:02:33 +01:00
Anton Khirnov
9221c0af77
pngdec: cosmetics, reformat.
...
Also remove a commented out line.
2013-01-26 13:02:19 +01:00
Anton Khirnov
edb2426b75
dxa: return meaningful error codes.
2013-01-26 13:01:14 +01:00
Anton Khirnov
adf0110d87
eatgq: cosmetics, reformat.
2013-01-26 13:00:59 +01:00
Anton Khirnov
f337c29017
eatgq: return meaningful error codes.
2013-01-26 12:56:39 +01:00
Anton Khirnov
4b7598e2fe
eatgv: cosmetics, reformat
2013-01-26 12:56:24 +01:00
Anton Khirnov
ade402804a
eatgv: return meaningful error codes.
2013-01-26 12:54:35 +01:00
Anton Khirnov
0859eaa012
cyuv: return meaningful error codes.
2013-01-26 12:54:23 +01:00
Anton Khirnov
6837bd6e49
txd: return meaningful error codes.
2013-01-26 12:54:07 +01:00
Anton Khirnov
69c25c9284
dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
...
Do not assume that frame dimensions are mod16 (or that height is mod32
for interlaced).
CC:libav-stable@libav.org
2013-01-26 12:30:08 +01:00
Diego Biurrun
033a86f9bb
x86: h264qpel: Move stray comment to the right spot and clarify it
2013-01-26 11:19:22 +01:00
Michael Karcher
0e3afacd4d
atrac3: use correct loop variable in add_tonal_components()
...
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-25 16:16:24 -05:00
Gavriloaie Eugen-Andrei
29b553c1a6
libx264: introduce -x264-params private option
...
It is a shortcut to set all the params using x264_param_parse,
makes simpler importing settings from other software using x264.
2013-01-25 17:20:03 +01:00
Vittorio Giovara
a84fb6e06f
h264: Allow discarding the cropping information from SPS
...
Some 3D systems overload the meaning of the field for other purposes.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 07:50:35 +01:00
Diego Biurrun
33552a5f7b
arm: Add mathops.h to ARCH_HEADERS list
...
It is an arch-specific header not suitable for standalone compilation.
2013-01-24 20:59:22 +01:00
Janne Grunau
c5c2060cf5
x86: h264qpel: add cpu flag checks for init function
...
The code was copied from per cpu extension init function so the checks
for supported extensions was overlooked.
2013-01-24 19:03:59 +01:00
Janne Grunau
6bdb841b46
h264: copy h264qpel dsp context to slice thread copies
2013-01-24 17:06:52 +01:00
Janne Grunau
8e148b8742
arm: h264qpel: use neon h264 qpel functions only if supported
2013-01-24 17:06:52 +01:00
Mans Rullgard
e9d817351b
dsputil: Separate h264 qpel
...
The sh4 optimizations are removed, because the code is
100% identical to the C code, so it is unlikely to
provide any real practical benefit.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-24 10:44:43 +01:00
Martin Storsjö
57ed8debb9
wmv2: Propagate the wmv2 idct permutation type to the dsputils context
...
This fixes encoding where the idct setting originally was set to
FF_IDCT_AUTO and dsputil chose a default idct with a non-null
permutation - even if the permutation tables were updated,
dct_quantize in x86/mpegvideoenc_template.c also checked the
value of this type variable.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 00:32:35 +02:00
Ronald S. Bultje
baf35bb4bc
dsputil: remove one array dimension from avg_no_rnd_pixels_tab.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
2612c4dc78
dsputil: remove 9/10 bits hpel functions.
...
These are never used.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
2bef1a83d7
dsputil: remove some never-assigned function pointers from the struct.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
32ff643228
dsputil: remove avg_no_rnd_pixels8.
...
This is never used.
2013-01-22 18:41:36 -08:00
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2013-01-22 18:32:56 -08:00
Ronald S. Bultje
2e4bb99f4d
vorbisdsp: convert x86 simd functions from inline asm to yasm.
2013-01-22 18:02:24 -08:00
Ronald S. Bultje
0ee8293a77
vp3dsp: don't do aligned reads on input.
...
The input is not guaranteed to be aligned.
2013-01-22 17:32:07 -08:00
Tim Walker
40cf1add12
mlp_parser: cosmetics: re-indent.
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker
ed1b01131e
mlp: implement support for AVCodecContext.request_channel_layout.
...
Also wrap usage of AVCodecContext.request_channels in FF_API_REQUEST_CHANNELS directives.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker
b0c7e3ffd0
mlp_parser: account for AVCodecContext.request_channels when setting the channel layout.
...
Allows users to configure the output based on what's actually decoded, rather than the full native layout.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker
1fd2deedcc
mlpdec: set the channel layout.
...
Fixes bug 401.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker
3ffcccb4fb
mlpdec: TrueHD: use Libav channel order.
...
Fixes bug 208.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker
99ccd2ba10
mlp: store the channel layout for each substream.
...
Also stop storing the channel arrangement in the header info, as it's unused outside of ff_mlp_read_major_sync.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Diego Biurrun
73b704ac60
arm: Add some missing header #includes
2013-01-22 21:24:10 +01:00
Ronald S. Bultje
d56668bd80
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
...
This makes the aac decoder and all voice codecs independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
5959bfaca3
floatdsp: move butterflies_float from dsputil to avfloatdsp.
...
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
42d3246948
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
...
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
55aa03b9f8
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
2013-01-22 11:55:42 -08:00
Michael Smith
0881cbf314
proresdec: support mixed interlaced/non-interlaced content
...
Set interlaced to false if we don't have an interlaced frame
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-22 05:40:57 +01:00
Ronald S. Bultje
4a73fbd9c5
vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.
...
The function is only used in VP3 and VP5, so no need to have it in
DSPContext.
2013-01-21 18:08:55 -08:00
Diego Biurrun
4f56e773fe
x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
...
CC: libav-stable@libav.org
2013-01-21 23:54:32 +01:00
Luca Barbato
9146e872c6
Revert "fate: Use wmv2 IDCT for wmv2 tests"
...
This reverts commit ce378f0dd0
.
2013-01-21 19:43:53 +01:00
Diego Biurrun
4af5310d29
get_bits/put_bits: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-21 17:03:41 +01:00
Daniel Kang
9f00b1cbab
dsputilenc: x86: Convert pixel inline asm to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 09:54:10 +01:00
Brad Smith
c7df1532e5
libgsm: detect libgsm header path
...
Libgsm header can reside either in the base include dir or in
the gsm subdir.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 07:59:35 +01:00
Ronald S. Bultje
ce378f0dd0
fate: Use wmv2 IDCT for wmv2 tests
2013-01-21 07:35:54 +01:00
Ronald S. Bultje
1768e43ceb
vorbisdsp: change block_size type from int to intptr_t.
...
This saves one instruction in the x86-64 assembly.
2013-01-20 22:26:42 -08:00
Ronald S. Bultje
93af2734ee
lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.
...
This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
2013-01-20 22:15:28 -08:00
Ronald S. Bultje
e6bc38fd49
wmv2: move IDCT to its own DSP context.
...
This allows us to remove FF_IDCT_WMV2, which serves no practical purpose
other than to be able to select the WMV2 IDCT for MPEG (or vice versa)
and get corrupt output.
Fate tests for all wmv2-related tests change, because (for some obscure
reason) they forced use of the MPEG IDCT. You would get the same changes
previously by not using -idct simple in the fate test (or replacing it
with -idct auto).
2013-01-20 22:12:35 -08:00
Ronald S. Bultje
8a4f26206d
dsputil: remove butterflies_float_interleave.
...
The function is unused.
2013-01-20 21:57:35 -08:00
Mathias Rauen
04ea5491a8
ac3dec: fix non-optimal dithering of zero bit mantissas
...
Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-20 14:20:47 -05:00
Diego Biurrun
d9bf716945
ppc: vorbisdsp: Drop some unnecessary #includes
...
Also fixes compilation with AltiVec disabled.
2013-01-20 17:38:11 +01:00
Martin Storsjö
d160a2fb4c
ppc: Include string.h for memset
...
This fixes build failures on ppc machines with a compiler that
supports -Werror=implicit-function-declaration.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:10:21 +02:00
Janne Grunau
68f18f0351
videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
...
libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that
assembling armv5te code will always succeed even if the default -march
flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code
with the default arch.
Fixes the missing symbol ff_prefetch_arm with --cpu= not including
armv5te.
CC: libav-stable@libav.org
2013-01-20 15:20:00 +01:00
Mans Rullgard
0b711ca3f3
dsputil: drop non-compliant "fast" qpel mc functions
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-20 14:50:42 +01:00
Luca Barbato
4603ec85ed
get_bits: change the failure condition in init_get_bits
...
Too much code relies in having init_get_bits fed with a valid
buffer and set its dimension to 0.
Check for NULL buffer instead.
2013-01-20 13:37:56 +01:00
Ronald S. Bultje
0e02b381b4
Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.
...
The function is never used.
2013-01-19 22:37:45 -08:00
Ronald S. Bultje
fef906c77c
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
...
Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.
2013-01-19 22:21:10 -08:00
Ronald S. Bultje
aeaf268e52
vp3: integrate clear_blocks with idct of previous block.
...
This is identical to what e.g. vp8 does, and prevents the function call
overhead (plus dependency on dsputil for this particular function).
Arm asm updated by Janne Grunau <janne-libav@jannau.net>.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2013-01-19 22:04:55 -08:00
Xi Wang
992b031838
mpegvideo: fix loop condition in draw_line()
...
The loop condition `x = ex' is incorrect. It should be `x <= ex'.
This bug was introduced in commit c65dfac4
"mpegvideo.c: K&R formatting
and cosmetics."
CC:libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 22:20:43 +01:00
Clément Bœsch
40976257bc
dvdsubdec: parse the size from the extradata
...
Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 15:12:58 +01:00
Diego Biurrun
822b0728f0
x86: dsputil: Drop some unused macro definitions
2013-01-18 22:24:58 +01:00
Anton Khirnov
940b8b5861
h264: avoid pointless copying of ref lists
...
ref_list is constructed from other fields per slice when needed, so do
not copy it for both frame and slice threading.
default_ref_list is constructed per frame and still needs to be copied
to per-slice contexts for slice threading, but a copy is not needed for
frame threading.
2013-01-18 07:56:05 +01:00
Xi Wang
783e37f7ef
rv30: fix masking in rv30_loop_filter()
...
The mask `x && (1 << y)' is incorrect and always yields true.
The correct form should be `x & (1 << y)'.
CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-17 21:55:27 +01:00
Luca Barbato
80ac87c13d
lavc: support ZenoXVID custom tag
...
Looks like this kind of samples are produced by certain Russian
equipment.
2013-01-17 21:41:18 +01:00
Martin Storsjö
e33db35b4a
theora: Skip zero-sized headers
...
This fixes a regression since d9cf5f51
with theora over RTP
(possibly with other variants of theora as well).
In theora over RTP, the second of the 3 headers turns out to be
0 bytes long, which prior to d9cf5f51
worked just fine. After
d9cf5f51
, reading from the bitstream reader fails (since the reader
wasn't initialized but returned an error if initialized with 0 bits).
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-17 19:06:56 +02:00
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-16 10:45:45 +01:00
Ronald S. Bultje
fb845ffdd3
h264: add 3 pixels below for subpixel filter wait position
...
If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.
This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 22:00:34 +01:00
Joakim Plate
f924d52975
dvdsubdec: Support palette in mkv
...
Matroska stores palette information as plain text in extradata.
Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 20:51:51 +01:00
Diego Biurrun
dae1d507af
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
2013-01-15 17:29:43 +01:00
Diego Biurrun
0b22107d95
rv34_parser: Adjust #if for disabling individual parsers
...
As CONFIG_ values are always defined, they have to be checked via #if.
2013-01-15 16:20:14 +01:00
Luca Barbato
47812070a2
libx264: use the library specific default rc_initial_buffer_occupancy
...
By default libav sets it to 3/4 while x264 sets it to 9/10.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Luca Barbato
bff3607547
lavc: set the default rc_initial_buffer_occupancy
...
rc_buffer_size is not set before.
Solve the initial the rate control underflow issue reported in
bug 222.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Diego Biurrun
51969a652c
x86: ABS2: port to cpuflags
2013-01-14 21:56:55 +01:00
Rémi Denis-Courmont
171f1446f0
vdpau: Remove av_unused attribute from function declaration
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 21:56:55 +01:00
Anton Khirnov
ea382767ad
h264: fix ff_generate_sliding_window_mmcos() prototype.
...
It's been returning an error value since
bad446e251
Also check for the errors it returns.
2013-01-14 21:36:08 +01:00
Maximilian Seesslen
055b373080
libtheoraenc: fix granularity of video quality
...
The floating point version of av_clip has to be used when
converting the quality level.
Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Ronald S. Bultje
bad446e251
h264: don't clobber mmco opcode tables for non-first slice headers.
...
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.
Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.
This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 19:20:47 +01:00
Luca Barbato
3f111804eb
libvpx: make vp8 and vp9 selectable
...
Support older libvpx versions.
2013-01-14 19:20:47 +01:00
Luca Barbato
dab1f543fc
libvpx: support vp9
...
This feature is experimental use at your risk
2013-01-14 19:20:47 +01:00
Tom Finegan
66aabd76a9
mkv: support vp9 tag
2013-01-14 19:20:47 +01:00
Diego Biurrun
ba0c72a9ae
build: Remove stray Makefile entry for non-existent VCR1 encoder
2013-01-14 17:02:04 +01:00
Michael Niedermayer
30aeada3d8
svq1enc: Fix assignments in if()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:49 +02:00
Michael Niedermayer
1d7ffd06e4
lavc: Fix assignments in if() when calling ff_af_queue_add
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:44 +02:00
Michael Niedermayer
59d5680310
h264: Fix assignments in if()
...
Fixes null pointer dereference later, since if this function failed,
a positive return value was returned to the caller.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:38 +02:00
Anton Khirnov
60a42ef44c
truemotion2: cosmetics, reformat
2013-01-14 11:39:57 +01:00
Anton Khirnov
df9036830b
truemotion2: return meaningful error codes.
2013-01-14 11:39:49 +01:00
Anton Khirnov
a4a26f5188
tscc: remove some pointless comments and empty lines.
2013-01-14 11:39:42 +01:00
Anton Khirnov
ac1e93f555
tscc: return meaningful error codes.
2013-01-14 11:39:33 +01:00
Anton Khirnov
b627c3010b
loco: cosmetics, reformat
2013-01-14 11:39:23 +01:00
Anton Khirnov
1a31dff937
loco: return meaningful error codes.
2013-01-14 11:39:15 +01:00
Anton Khirnov
a9d970a019
flicvideo: return meaningful error codes.
2013-01-14 11:38:58 +01:00
Anton Khirnov
6b3a1229bb
vcr1: remove disabled encoder stub
2013-01-14 11:38:45 +01:00
Anton Khirnov
74a9a624c5
vcr1: return a meaningful error code.
2013-01-14 11:38:38 +01:00
Anton Khirnov
e4ca055b3c
rpza: return a meaningful error code.
2013-01-14 11:38:31 +01:00
Anton Khirnov
80cf2ebc59
qdrw: cosmetics, reformat
2013-01-14 11:37:55 +01:00
Anton Khirnov
688b132b88
qdrw: return meaningful error codes.
2013-01-14 11:37:43 +01:00
Anton Khirnov
8f17829455
qtrle: return a meaningful error code.
2013-01-14 11:37:31 +01:00
Anton Khirnov
048ffb9bb2
gifdec: return meaningful error codes.
2013-01-14 11:37:17 +01:00
Anton Khirnov
3d973e461b
interplayvideo: remove a static variable.
2013-01-14 11:36:45 +01:00
Anton Khirnov
089b3d6815
interplayvideo: return meaningful error codes.
2013-01-14 11:36:33 +01:00
Anton Khirnov
14cf33e957
lcldec: return meaningful error codes.
2013-01-14 11:36:22 +01:00
Anton Khirnov
01cbc6f6ad
targa: return meaningful error codes.
2013-01-14 11:36:11 +01:00
Anton Khirnov
62d9655217
qpeg: return a meaningful error code.
2013-01-14 11:35:54 +01:00
Anton Khirnov
3344f5cb74
nuv: return meaningful error codes.
2013-01-14 11:35:17 +01:00
Anton Khirnov
a1c525f7eb
pcx: return meaningful error codes.
2013-01-14 11:35:04 +01:00
Anton Khirnov
6bf70127d1
tmv: return meaningful error codes.
2013-01-14 11:34:53 +01:00
Anton Khirnov
9e6764900a
msrle: return meaningful error codes.
2013-01-14 11:34:18 +01:00
Anton Khirnov
8fd4d1f9b9
cscd: return meaningful error codes.
2013-01-14 11:34:08 +01:00
Luca Barbato
e28ac6e5e2
lavc: introduce the convenience function init_get_bits8
...
Accept the buffer size in bytes and check for overflow before passing
the value in bits to init_get_bits.
2013-01-14 04:49:14 +01:00
Luca Barbato
d9cf5f5169
lavc: check for overflow in init_get_bits
...
Fix an undefined behaviour and make the function return a proper
error in case of overflow.
CC: libav-stable@libav.org
2013-01-14 04:49:14 +01:00
Anton Khirnov
90cfc084e3
avpacket: free side data in av_free_packet().
...
Freeing it in av_destruct_packet(), as is done currently, would mean
that we allow it to be allocated with other means. But that would make
av_packet_new_side_data() unsafe.
Side data is not expected to be large, so copying it if required
shouldn't be a problem.
2013-01-13 16:31:40 +01:00
Rémi Denis-Courmont
7752532789
vdpau: Add VC-1 decoding via hwaccel infrastructure
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:18 +01:00
Rémi Denis-Courmont
51b56a0716
vdpau: Add H.264 decoding via hwaccel infrastructure
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:08 +01:00
Rémi Denis-Courmont
200e8ac920
vdpau: Add MPEG-4 decoding via hwaccel infrastructure
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:02 +01:00
Rémi Denis-Courmont
aaf9d0e8f3
vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:53:47 +01:00
Rémi Denis-Courmont
44e065d56c
vdpau: Add context and common helpers for hwaccel support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:41:27 +01:00
Luca Barbato
f61272f0ef
ratecontrol: K&R cosmetic formatting
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-12 12:00:49 +01:00
Luca Barbato
c1d1ef4ecd
zmbv: Reset the decoder on keyframe errors
...
Prevent the crash on fuzzed files as reported in bug 63.
2013-01-11 05:07:42 +01:00
Vladimir Pantelic
7b8c5b263b
vc1dec: prevent a crash due missing pred_flag parameter
...
Handle pred_flag parameter not given to get_mvdata_interlaced()
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 04:57:41 +01:00
Ronald Bultje
ec86ba5731
vp3: Fix double free in vp3_decode_end()
...
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-10 20:05:42 +01:00
Justin Ruggles
f7bf72a4a1
idcinvideo: correctly set AVFrame defaults
2013-01-09 14:49:06 -05:00
Alexandra Khirnova
d744801f1a
xan: Convert to bytestream2
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-09 09:59:55 +01:00
Diego Biurrun
a0c5917f86
Drop Snow codec
...
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Christophe Gisquet
4f50646697
x86: sbrdsp: Implement SSE qmf_post_shuffle
...
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Christophe Gisquet
44a0036d10
x86: sbrdsp: Implement SSE sum64x5
...
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Diego Biurrun
5b4dfbffc2
x86: ABS1: port to cpuflags
2013-01-06 13:57:01 +01:00
Anton Khirnov
de16f08e48
v210x: cosmetics, reformat
2013-01-06 13:31:40 +01:00
Anton Khirnov
6689474b91
v210x: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
39039f2405
r210dec: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
4324a3ce75
vb: cosmetics, reformat
2013-01-06 13:31:40 +01:00
Anton Khirnov
9dbbda235d
vb: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
a0ffcee1ee
ptx: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
b2a7b81b9c
tiff: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
26a161a166
vqavideo: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
edfe05ddf1
mss2: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
f0547c9bd0
v210dec: return meaningful error codes
2013-01-06 13:31:40 +01:00
Anton Khirnov
c04c64c08e
indeo2: cosmetics, reformat
2013-01-06 13:31:40 +01:00
Anton Khirnov
7b1fbd4729
indeo2: check decoding errors.
2013-01-06 13:31:40 +01:00
Anton Khirnov
6ea2c9a4cf
indeo2: return meaningful error codes
2013-01-06 13:31:40 +01:00
Anton Khirnov
6781b5315e
rl2: cosmetics, reformat
2013-01-06 13:31:40 +01:00
Anton Khirnov
3c6e5a840c
rl2: use fixed-width integer types where appropriate
2013-01-06 13:31:40 +01:00
Anton Khirnov
126abaaaae
rl2: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
7c8fceef6c
cljr: return a meaningful error code.
2013-01-06 13:31:40 +01:00
Anton Khirnov
80344261aa
fraps: cosmetics, reformat
2013-01-06 13:31:40 +01:00
Anton Khirnov
57d11e5e28
fraps: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
405486c28b
kgv1dec: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
e1a7061d63
kmvc: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
f3fcb1a7b2
wnv1: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
0c19b23bd5
dpx: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
b61e0b99df
truemotion1: return meaningful error codes
2013-01-06 13:31:40 +01:00
Anton Khirnov
380242ca50
pnm: return meaningful error codes.
2013-01-06 13:31:40 +01:00
Anton Khirnov
84f2847de3
xl: return a meaningful error code.
2013-01-06 13:31:40 +01:00
Anton Khirnov
d47dabbac2
xan: return a meaningful error code.
2013-01-06 13:31:40 +01:00
Anton Khirnov
4aebb8d999
xxan: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
aaf208329f
zmbv: return more meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
01b60883ea
yop: use a meaningful error code.
2013-01-06 13:31:39 +01:00
Anton Khirnov
11c3f2047e
c93: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
2b011a43e9
bmv: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
abcc235481
bmp: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
6a97ea65b6
bink: operate with pointers to AVFrames instead of whole structs.
...
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov
86d4e75422
bink: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
86e09b9e60
bfi: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
fc2a94c15e
bethsoftvideo: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
e83c1e2d0b
avs: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
620faee5d1
aura: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
38de3365ca
asvdec: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
b3b17f7800
ansi: return a meaningful error code
2013-01-06 13:31:39 +01:00
Anton Khirnov
b622e2b540
anm: return meaningful error codes
2013-01-06 13:31:39 +01:00
Anton Khirnov
18009e60d2
aasc: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
313da47aa1
8bps: return meaningful error codes.
2013-01-06 13:31:39 +01:00
Anton Khirnov
f7d15d2f42
4xm: operate with pointers to AVFrames instead of whole structs.
...
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov
85383d139a
4xm: eliminate a pointless indirection
2013-01-06 13:31:39 +01:00
Anton Khirnov
aa15afb7ce
4xm: simplify code with FFSWAP
2013-01-06 13:31:39 +01:00
Anton Khirnov
10c26e928a
4xm: return meaningful error codes
2013-01-06 13:31:39 +01:00
Clément Bœsch
3048fae63c
build: Avoid detecting bogus components named 'x'
...
The function find_things() in configure is confused by component
registration calls as part of multiline macros defining combined
component registration. Coalesce those macros into one line to
work around the issue.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:11:25 +02:00
Janne Grunau
9ac44ad9d0
h264: check SPS entries directly to detect pixel format changes
...
Comparing AVCodecContext.pix_fmt against the get_pixel_format() return
value has the side effect of calling the get_format() callback on each
slice. Users of the callback will probably handle hardware accelerator
initialization in the callback.
2013-01-03 11:09:00 +01:00
Diego Biurrun
117f79de2d
truemotion2: Sanitize tm2_read_header()
...
Also give a variable a more sensible name.
2012-12-31 11:20:45 +01:00
Anton Khirnov
fb0cb11f09
cavsdec: export picture type in the output frame
2012-12-30 18:52:26 +01:00
Anton Khirnov
7d84826400
cavs: deMpegEncContextize
...
It does not use any of the mpegvideo infrastructure, just a few fields
from the context.
Fixes a segfault with the emu edge flag, since emu edge buffer is now
allocated as a part of the frame buffer allocation and cavs calls
ff_get_buffer() directly, it does not use mpegvideo buffer management.
Fixes a memleak of the last frame.
2012-12-30 18:48:11 +01:00
Anton Khirnov
64bb3fa6b7
cavs: cosmetics, reformat top part
2012-12-30 18:47:54 +01:00
Anton Khirnov
185c2ef849
cavsdec: cosmetics, reformat
2012-12-30 18:47:30 +01:00
Diego Biurrun
015da965a6
libavcodec/utils: Add braces to shut up gcc warnings
...
libavcodec/utils.c:1050:5: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/utils.c:1314:5: warning: missing braces around initializer [-Wmissing-braces]
2012-12-30 01:52:04 +01:00
Luca Barbato
d615da60c1
snow: use VideoDSPContext
...
It was left over from the initial conversion.
2012-12-29 18:05:49 +01:00
Diego Biurrun
c73c87b412
cosmetics: Prettyprint codec/format/filter registration files
2012-12-28 19:18:13 +01:00
Janne Grunau
1f4ea4e068
mpegvideo: initialize videodsp with correct pixel depth
...
Fixes decoding of 9/10 bit per pixel h264 videos as reported in
https://bugzilla.libav.org/show_bug.cgi?id=404 .
2012-12-26 00:24:21 +01:00
Anton Khirnov
0a9132b84c
wnv1: cosmetics, reformat
2012-12-24 09:18:19 +01:00
Anton Khirnov
51648da4dc
xan: remove a trivially true if().
...
This function used to be shared with the xxan decoder, but that is not
true anymore.
2012-12-24 09:17:57 +01:00
Anton Khirnov
99e36ddd3e
ansi: do not depend on get_buffer() initializing the frame.
...
The background changes from 128 (used by the default/cmdutils
get_buffer()) to 0. This looks more correct.
2012-12-24 09:17:45 +01:00
Anton Khirnov
261f0b14ed
zerocodec: remove an unused variable.
2012-12-24 09:17:40 +01:00
Anton Khirnov
8adfacff5c
zmbv: remove some pointless comments and empty lines
2012-12-24 09:17:34 +01:00
Anton Khirnov
c6303f8d70
yop: simplify/sanitize the decoding loop
...
Do not overwrite linesize set by get_buffer().
The last frame in the FATE test is not decoded anymore, since the file
is cut and a part of it is missing.
2012-12-24 09:16:51 +01:00
Anton Khirnov
f6e395e132
c93: set palette_has_changed.
2012-12-24 09:16:11 +01:00
Anton Khirnov
3eab600752
bmp: cosmetics, reformat
2012-12-24 09:15:30 +01:00
Martin Storsjö
0940580adb
lavc: Correct the description of pkt_dts
...
The description as updated in 6e5c44b0f made it sound like it is
handled exactly like the pts, which it is not. Clarify that it
is the packet that triggered returning the frame instead of just
the last avpacket (in case of frame threading, it won't be the
dts of the last packet).
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-23 20:52:21 +02:00
Diego Biurrun
f3298f1299
Return proper error code after av_log_ask_for_sample()
2012-12-23 18:56:56 +01:00
Anton Khirnov
b6d7d4efae
8bps: cosmetics
...
Remove some pointless comments and empty lines.
2012-12-23 11:17:53 +01:00
Anton Khirnov
c64cf2a37b
aasc: cosmetics, reformat
2012-12-23 11:17:53 +01:00
Anton Khirnov
808b2227d7
ansi: remove an extra return
2012-12-23 11:17:53 +01:00
Anton Khirnov
c3a76c3dec
asvdec: cosmetics, reformat
2012-12-23 11:17:53 +01:00
Anton Khirnov
bdfa24514e
aura: cosmetics, reformat
2012-12-23 11:17:53 +01:00
Anton Khirnov
b047c68783
4xm: don't rely on get_buffer() initializing the frame.
2012-12-23 11:17:53 +01:00
Anton Khirnov
2ca5ca2957
huffyuv: split encoder and decoder into separate files.
2012-12-23 11:17:49 +01:00
Anton Khirnov
6e5c44b043
lavc: make pkt_{p,d}ts doxy less confusing
2012-12-23 10:35:32 +01:00
Anton Khirnov
418693bdc5
lavc: rewrite and extend AVFrame doxy
2012-12-23 10:35:27 +01:00
Justin Ruggles
5778299c7e
ttadec: fix last frame handling when seeking
...
Using a frame count, as is done currently, does not work at all with
seeking. Instead, when the number of samples in the final frame has
been decoded, we check if only the 32-bit CRC is remaining. If so, we
assume that it is the final frame.
There is no longer a need to keep total_frames in TTAContext.
2012-12-22 14:45:35 -05:00
Justin Ruggles
68a04b0cce
alacdec: do not be too strict about the extradata size
...
Sometimes the extradata has duplicate atoms, but that shouldn't prevent
decoding. Just ensure that it is at least 36 bytes as a sanity check.
CC: libav-stable@libav.org
2012-12-22 12:18:41 -05:00
Justin Ruggles
aef5150719
flac: only set channel layout if not previously set or on channel count change
...
Fixes Bug 402
2012-12-22 01:35:28 -05:00
Diego Biurrun
511cf612ac
miscellaneous typo fixes
2012-12-21 00:18:34 +01:00
Luca Barbato
6906b19346
lavc: add missing files for arm
...
Across the many retouches those did not make the main commit.
2012-12-20 14:07:23 +01:00
Ronald S. Bultje
8c53d39e7f
lavc: introduce VideoDSPContext
...
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-20 13:40:45 +01:00
Anton Khirnov
5823686261
mpeg12: do not decode extradata more than once.
...
Fixes CVE-2012-2803.
CC: libav-stable@libav.org
2012-12-19 22:32:54 +01:00
Victor Lopez
1c8bf3bfed
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
...
Fixes bug 396.
CC: libav-stable@libav.org
2012-12-19 13:40:48 +01:00
Janne Grunau
45635885e4
mpegvideo: increase edge_emu_buffer size for VC1
...
The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before f1d8763a02
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.
Fixes occasionally fate errors in vc1_sa10143.
2012-12-19 07:57:22 +01:00
Janne Grunau
acb571c89a
avcodec: bump minor for adaptive h264 frame-mt
...
Also adds forgotten Changelog entry.
2012-12-18 20:26:53 +01:00
Janne Grunau
9e696d2e5f
h264: support frame parameter changes during frame-mt
...
Fixes CVE-2012-2782.
2012-12-18 19:55:10 +01:00
Janne Grunau
f1d8763a02
mpegvideo: allocate scratch buffers after linesize is known
...
Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.
Fixes fuzzed sample nasa-8s2.ts_s244342.
2012-12-18 19:48:30 +01:00
Michael Niedermayer
ed2d7d5868
ff_h264_direct_ref_list_init: fix B slice check.
...
Fixes null pointer dereference.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-12-18 19:44:22 +01:00
Janne Grunau
73ad2c2fa7
h264: increase dist_scale_factor for up to 32 references
...
Compute dist_scale_factor_field only for MBAFF since that is the only
case in which it is used.
2012-12-18 19:36:58 +01:00
Diego Biurrun
523c7bd23c
misc typo, style and wording fixes
2012-12-18 13:36:51 +01:00
Michael Niedermayer
c9aab8a123
h264: use mbaff ref indices in fill_colmap() only for mbaff references
...
Prevents writing beyond array bounds.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-18 11:02:23 +01:00