1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-07-22 04:04:14 +02:00
Commit Graph

31935 Commits

Author SHA1 Message Date
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
Andreas Cadhalpun
0224b35c89 avcodec: add unpack packed B-frames bitstream filter
Fixes Ticket #2913

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 02:24:56 +02:00
Michael Niedermayer
aa6f58dd96 avcodec/h264_refs: More completely clear slice contexts in ff_h264_remove_all_refs()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 19:30:10 +02:00
Michael Niedermayer
fc58d5c43b avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
Fixes Ticket4408

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 19:28:33 +02:00
Michael Niedermayer
60e7d2d7b9 avcodec/h264_mb: assert that frame waiting code actually references 2 fields/1 frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 18:34:36 +02:00
Michael Niedermayer
429de04320 avcodec/h264_refs: Do not set reference to things which dont exist
Fixes deadlock
Fixes Ticket4428
Fixes Ticket4429

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 18:25:44 +02:00
Michael Niedermayer
98c5db89bb avcodec/h264_slice: make current_slice reset code more strict
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 17:00:12 +02:00
Michael Niedermayer
514d9bb55d avcodec/h264: use goto end instead of return for hwaccel fails as well
This is more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 14:40:40 +02:00
Andreas Cadhalpun
f62880bfb8 mpeg4: use a self-explanatory #define MAX_NVOP_SIZE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 02:23:58 +02:00
Michael Niedermayer
333eb37a96 avcodec/h264: silence ER warning when no slice threads are used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 02:15:16 +02:00
Michael Niedermayer
4b7356ce8f avcodec/h264: reenable ER except with slice threads by default
ER with slice threads is buggy and since the merge of the libav cleanup broken
as the ER context which is supposed to be per frame has been placed in
the slice context, so there are multiple per frame which does not work as is.

Theres no bug report about ER with frame threads. If someone knows of a
case where it crashes / fails without slice threads please mail me and
open a ticket on trac.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 01:43:14 +02:00
Michael Niedermayer
6da7625cc3 Merge commit 'a4d34e218f548d381e09c483e8dc6ad18a8d571c'
* commit 'a4d34e218f548d381e09c483e8dc6ad18a8d571c':
  h264: disable ER by default

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_picture.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 00:52:54 +02:00
Michael Niedermayer
235863463a Merge commit 'df528b11ac607de13a7c438f2a51f2119f71a03c'
* commit 'df528b11ac607de13a7c438f2a51f2119f71a03c':
  hevc: make sure no dangling pointers remain around on VPS/SPS change

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 22:16:10 +02:00
Michael Niedermayer
41dde62d7f Merge commit 'ce0bc09ee2580d49fec90a6eb0de2ba1b580c854'
* commit 'ce0bc09ee2580d49fec90a6eb0de2ba1b580c854':
  hevc: do not change the VPS if its contents are the same

Conflicts:
	libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:37:03 +02:00
Michael Niedermayer
d386a523ae Merge commit '7693ba0a0eecdcdba71b7fbd9a4a12d1ba7b82aa'
* commit '7693ba0a0eecdcdba71b7fbd9a4a12d1ba7b82aa':
  hevc: export stream parameters from extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:29:54 +02:00
Michael Niedermayer
a7a6194ec4 Merge commit '1ae7afd256f9af1eb4f63f9adcf03d581ce4e2b5'
* commit '1ae7afd256f9af1eb4f63f9adcf03d581ce4e2b5':
  hevc: split out setting AVCodecContext parameters

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:11:19 +02:00
Andreas Cadhalpun
1f47c2399d mpeg4: only show the divx_packed warning, when a packed frame is present
Otherwise it is shown even after the file was fixed with avidemux,
because the userdata string still ends with 'p'.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 20:23:24 +02:00
Rong Yan
af5fec9538 avcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec()
add marcos VEC_FMERGEH() VEC_FMERGEL()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 18:10:27 +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
James Almer
3000183732 avcodec/pngenc: don't return a value in a void function
Should fix compilation failures with strict compilers

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 23:22:28 +02:00
Donny Yang
b0a2aee408 png: Use libavutil's crc functions instead of zlib's
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 20:41:51 +02:00
Michael Niedermayer
c299fbbb22 avcodec/vda_h264: try to fix build
Found-by: Stefano Pigozzi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 16:04:22 +02:00
Rainer Hochecker
3e53211a57 vda: fix h264 decoding for avcC,vda wants the entire buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 15:06:28 +02:00
Timo Rothenpieler
764f87b6ab avcodec/nvenc: Fix profile parameter handling
It was not possible to set a profile before, the builtin profile
parameter does not seem to work propperly.
To be compatible with libx264, this overlays it with a local parameter
that expects a string, instead of an int, that takes the well known values
"high", "main" or "baseline".

Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 14:33:42 +02:00
Carl Eugen Hoyos
703402683a Bump lavc and lavf minor versions for apng muxer and encoder. 2015-04-02 14:09:11 +02:00
Donny Yang
d759844863 apng: Add a basic APNG encoder
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 04:02:43 +02:00
Pranav Vaish
f669d8c1b7 avcodec/ccaption_dec: Remove the GOTO statement 2015-04-02 00:06:44 +02:00
Michael Niedermayer
5dd5b7d531 Revert "avcodec/exr: fix memset first arg in reverse_lut()"
This reverts commit 586ba24ff2.

Fixes Ticket 4386

Found-by: Martin Vignali <martin.vignali@gmail.com>
2015-04-01 19:53:23 +02:00
Himangi Saraogi
5b02e84bdb lavc/smvjpegdec: Avoid null dereference and return meaningful error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 19:33:45 +02:00
Timo Rothenpieler
b63c9a9990 avcodec/nvenc: Fix typoed nv_status checks
Thanks to Wyatt Aaron for pointing this out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 11:55:26 +02:00
Donny Yang
3c912391dd avcodec/png: Clearly separate encoding header and frames
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-01 01:04:40 +02:00
Michael Niedermayer
2ddedfd39c avcodec/libx265: export choosen picture types
Fixes part of ticket 4285

Reviewed-by Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 20:21:10 +02:00
Donny Yang
749fbfd081 png: Clear up the calculation of max packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 16:15:36 +02:00
Michael Niedermayer
65a646eb0b avcodec/internal: Fix doxy for ff_alloc_packet2() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 16:14:22 +02:00
Rainer Hochecker
8b152c355f h264: avoid unnecessary calls to get_format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 12:14:39 +02:00
Michael Niedermayer
385fe984fc avcodec/snowenc: Check av_frame_ref() return value
Fixes CID1026740

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 04:33:50 +02:00
Michael Niedermayer
a38758a97e avcodec/h264_refs: fix null pointer dereference with -DTRACE
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 01:57:00 +02:00
Michael Niedermayer
a105931d3e Merge commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8'
* commit '4978850ca2cb1ec6908f5bc79cc592ca454d11e8':
  build: Split JPEG-related tables off into a separate component

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 01:11:02 +02:00
Michael Niedermayer
48183f144d Merge commit '87f87ccf32055aca25fa08e29e22cca1ba9976d5'
* commit '87f87ccf32055aca25fa08e29e22cca1ba9976d5':
  mjpeg: Use a more precise type for put_marker()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 00:48:04 +02:00
Michael Niedermayer
fda8b7ec7d avcodec/libdcadec: remove av_assert and check bits_per_sample more completely
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 22:32:47 +02:00
Michael Niedermayer
794e9fb5a6 Merge commit 'e6e3dcba0c6f11bd7022e2d3b9bcb7b6a09d6c80'
* commit 'e6e3dcba0c6f11bd7022e2d3b9bcb7b6a09d6c80':
  mjpeg: Move code only used in the encoder(s) to the appropriate header

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 21:05:23 +02:00
Michael Niedermayer
98263d7515 Merge commit '23944d29a22a2cd602753b3705f73011c3bf0b18'
* commit '23944d29a22a2cd602753b3705f73011c3bf0b18':
  indeo: Give Indeo4/5 shared code a more consistent name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 20:39:08 +02:00
Michael Niedermayer
f5c7531ab1 Merge commit '7d3183d3a4e800ab7a7fa24f49968a1b1bcc0161'
* commit '7d3183d3a4e800ab7a7fa24f49968a1b1bcc0161':
  qsv: Skip header compilation depending on what parts of qsv are enabled

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 20:31:50 +02:00
Himangi Saraogi
0187c2ccda tiff: Return more meaningful error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 19:34:26 +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
Donny Yang
9573737dfb png: Only init zlib once
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 18:30:30 +02:00
Donny Yang
e7ba79dc4e png: Calculate pixel format information only once
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 18:17:37 +02:00
Donny Yang
68ede913d0 png: Return slightly more meaningful error codes
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 17:59:08 +02:00
Michael Niedermayer
81487781e7 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/h264_refs: Fix compilation with -DTRACE.
  Fix make checkheaders if libmfx is not available.
  lavf/gif: Add an option max_gif_delay to limit the frame duration.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 13:19:50 +02:00
Michael Niedermayer
93704e09c7 Merge commit '72025ac36c740f031d7e413041fdfe97087c83c4'
* commit '72025ac36c740f031d7e413041fdfe97087c83c4':
  lavc: add libdcadec decoder

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/libdcadec.c

See: 519868de7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 13:01:26 +02:00
Carl Eugen Hoyos
b3673f3414 lavc/h264_refs: Fix compilation with -DTRACE. 2015-03-29 12:34:43 +02:00
Carl Eugen Hoyos
d371471c59 Fix make checkheaders if libmfx is not available. 2015-03-29 12:34:13 +02:00
Michael Niedermayer
268ff17cb7 Merge commit 'c48456166e95648719a8be8f8613f9dee98205c1'
* commit 'c48456166e95648719a8be8f8613f9dee98205c1':
  lavc: add MMAL hardware decoder wrapper

Conflicts:
	Changelog
	configure
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-29 11:32:24 +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
Carl Eugen Hoyos
dcac15a84c lavc/dnxhd: Fix pix_fmt change.
Fixes ticket #4400.
2015-03-28 17:36:02 +01:00
Donny Yang
fe57514f8a png: Minor whitespace change and added missing comment
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 17:16:55 +01:00
Donny Yang
5904d039ce png: Use av_freep() instead of av_free()
Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 17:16:55 +01:00
Michael Niedermayer
048b6331e0 avcodec/qsv_internal: Fix project name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 03:44:19 +01:00
Michael Niedermayer
0a731e4596 Merge commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2'
* commit '72b7441a10f578a1d0be7083d8f5adf6a01921c2':
  lavc: add Intel libmfx-based H.264 encoder

Conflicts:
	Changelog
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:33:27 +01:00
Michael Niedermayer
d985976e54 Merge commit '9ba27c2348d26000257e891e40a72facb0d916be'
* commit '9ba27c2348d26000257e891e40a72facb0d916be':
  qsvdec: add 'decode' to the non-static function names

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:25:20 +01:00
Michael Niedermayer
b12eacb383 Merge commit 'd0a63d8b989647ffdb5f40da8e1feaffe1a8e791'
* commit 'd0a63d8b989647ffdb5f40da8e1feaffe1a8e791':
  qsvdec: split off some code that will be shared with the encoder

Conflicts:
	libavcodec/Makefile
	libavcodec/qsvdec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:16:21 +01:00
Michael Niedermayer
151ae8ea5b Merge commit 'b04d009b0e1a34b717f3d3bbf407aef0c742aff1'
* commit 'b04d009b0e1a34b717f3d3bbf407aef0c742aff1':
  qsv: rename to qsvdec

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 01:03:23 +01: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
Michael Niedermayer
0245abc7c1 avcodec/x86/hpeldsp_init: Put CONFIG_* first in if()
This is more consistent and may fix a build failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
cd5a48e549 avcodec/h264_slice: Put CONFIG_GRAY first in if()
This is more consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
47aee6f047 avcodec/arm/flacdsp_init_arm: Put CONFIG_FLAC_DECODER first in if()
This is more consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
71258e5d87 avcodec/ac3dec: Put CONFIG* first in if()
This may fix build failures with EAC3 disabled and is more consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Philip Langdale
21adb9964e avcodec/nvenc: Need a separate class for each encoder
The encoders can't share a class instance.

Signed-off-by: Philip Langdale <philipl@overt.org>
2015-03-25 15:32:09 -07:00
Himangi Saraogi
b020a25df2 avcodec/j2kenc: Initialize variable to silence compiler warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 15:06:36 +01:00
James Almer
23e1303c0a avcodec/nvenc_h265: add missing version bump and changelog entry
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-25 03:59:34 -03:00
Philip Langdale
21175d8586 avcodec/nvenc: Add support for H.265 encoding
Sufficiently new nvenc hardware (GM20x or later) has support for H.265
encoding. This works the same as the H.264 encoder except the
codec parameters are different.

Due to the fact that common codec parameters are not shareable, there's
quite a bit of conditional logic you'd wish we could do without, but
such is life.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-03-24 21:42:07 -07:00
Michael Niedermayer
354db19ff4 avcodec/h264: Remove bits_per_raw_sample hacks
Fixes assertion failure

Fixes: f12c79769501ee471a5c731b8304ffcb/signal_sigabrt_7ffff6ac8cc9_3766_cov_4267830138_undemuxable_h264.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 04:14:38 +01:00
Timo Rothenpieler
48f7c30bf7 avcodec/nvenc: Drop support for old nvenc api
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 17:25:11 +01:00
Michael Niedermayer
c20eab5c85 avcodec/msrledec: More verbose error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 16:07:57 +01:00
Michael Niedermayer
f7e1367f58 avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
Fixes out of array access
Fixes: da14e86d8462be6493eab16bc2d40f88/asan_heap-oob_204cfd2_528_cov_340150052_COMPRESS.BMP

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 16:07:26 +01:00
Michael Niedermayer
2850131f2c Merge commit 'b21af32aed7e343f962753943e9f16baedfb1750'
* commit 'b21af32aed7e343f962753943e9f16baedfb1750':
  lavc: Prefer x264 over openh264 if both libraries are available

See: ddae03f69b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 02:23:29 +01:00
Hendrik Leppkes
1ddd3e23a4 vaapi_h264: fix slice data offset 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
Hendrik Leppkes
ae4f5d944c dxva2_h264: fix slice offset in long slice structs 2015-03-23 20:53:29 +00:00
Hendrik Leppkes
aba3030a55 vaapi_h264: fix slice data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 16:12:08 +01:00
Hendrik Leppkes
cf1fba0fb8 dxva2_h264: fix slice offset in long slice structs
Fixes Ticket #4384

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 16:12:08 +01:00
Michael Niedermayer
7517e932ff avcodec/snow: fix support for odd dimensions
Fixes Ticket3914

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 23:34:53 +01:00
Michael Niedermayer
a089d567f1 avcodec/jpeglsdec: support PAL1-PAL7
Fixes Ticket3933

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 20:31:03 +01:00
Michael Niedermayer
797ba4d53b avcodec/h264_cavlc: Drop local_ref_count
This basically switches to the implementation from f6f7d15041
which seems faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 14:39:38 +01:00
Michael Niedermayer
563a8b4aac avcodec/h264_cabac: Drop local_ref_count
7966 -> 7897 decicycles

This basically switches to the implementation from f6f7d15041
which seems faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 14:39:32 +01:00
Michael Niedermayer
0346783c98 avcodec/h264.h: Drop unused macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 00:29:01 +01:00
Michael Niedermayer
141b9d5c3b avcodec/h264_slice: update slice context linesizes when a new picture is allocated
previously they where only updated when decoding started and would thus have
been inconsistent for a longer period of time leaving more chances for
problems

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:45:46 +01:00
Michael Niedermayer
fa7c08d5e1 Merge commit 'c28ed1d743443e783537d279ae721be3bbdf7646'
* commit 'c28ed1d743443e783537d279ae721be3bbdf7646':
  h264: move [uv]linesize to the per-slice context

Conflicts:
	libavcodec/h264_mb.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:16:36 +01:00
Michael Niedermayer
a6cb0534e2 Merge commit 'b53569e0681ff7bc99103ab4c961dbac3cc0fce6'
* commit 'b53569e0681ff7bc99103ab4c961dbac3cc0fce6':
  h264_cabac: remove now unnecessary H264Context function parameters

Conflicts:
	libavcodec/h264_cabac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:13:25 +01:00
Michael Niedermayer
d8151a7e94 Merge commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3'
* commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3':
  h264: use a smaller struct for the ref lists

Conflicts:
	libavcodec/h264_direct.c
	libavcodec/h264_mb.c
	libavcodec/h264_picture.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:05:34 +01:00
Michael Niedermayer
e970b576d2 Merge commit '94295106d20b32666a8c4e0d028ef79b9d3f3b7a'
* commit '94295106d20b32666a8c4e0d028ef79b9d3f3b7a':
  h264_mb: remove an unused function parameter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:43:07 +01:00
Michael Niedermayer
8c6370afe3 Merge commit '2b4c38d3c647f409080606ef02b3363ada00be2c'
* commit '2b4c38d3c647f409080606ef02b3363ada00be2c':
  h264: drop some mpegvideo remnants from draw_horiz_band()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:42:14 +01:00
Michael Niedermayer
0f8bb0efc3 Merge commit '5bf3c0fa49afd5bbf43aa841ff78007d72c80736'
* commit '5bf3c0fa49afd5bbf43aa841ff78007d72c80736':
  h264: drop the now unused per-slice H264Contexts

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:41:17 +01:00
Michael Niedermayer
8bdcec3111 Merge commit '51d8725a6e4c7f989d6f0f38b59cb54a2d72846c'
* commit '51d8725a6e4c7f989d6f0f38b59cb54a2d72846c':
  h264: use the main H264Context as the parent for all slice contexts

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:33:27 +01:00
Michael Niedermayer
b1e6d8a226 Merge commit '92e0b7342c0490894cbcea4461380321e0569de2'
* commit '92e0b7342c0490894cbcea4461380321e0569de2':
  h264_slice: constify all the uses of H264Context during slice decoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:32:33 +01:00
Ronald S. Bultje
1fd1f58bd6 vp9: make above buffer pointer 32-byte aligned.
Fixes ticket #4383

Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-21 17:13:46 -03:00
Michael Niedermayer
84ae7294cb Merge commit '3178f4d33ff62243f7cdddb081db516ea34396c9'
* commit '3178f4d33ff62243f7cdddb081db516ea34396c9':
  h264: move rbsp_buffer into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:16:21 +01:00
Michael Niedermayer
830e548b9e Merge commit '582683b6ac798ed2a004a4e2121b7bd47892bbfd'
* commit '582683b6ac798ed2a004a4e2121b7bd47892bbfd':
  h264: move remaining ER stuff into the per-slice context

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_picture.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:00:34 +01:00
Michael Niedermayer
44309dd294 avcodec/mpegvideo: support mbskip_table==NULL in ff_print_debug_info2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:28:56 +01:00
Michael Niedermayer
dd186b5825 avcodec/error_resilience: Fix mbskip_table==NULL codepath
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:24:03 +01:00
Michael Niedermayer
b37b0a58e3 Merge commit '5bc69f38c1af71fbcbfb4b5efa77d0aeb5424c04'
* commit '5bc69f38c1af71fbcbfb4b5efa77d0aeb5424c04':
  error_resilience: do not require mbintra/skip tables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 19:03:10 +01:00
Michael Niedermayer
44e4a86c8a Merge commit 'c377e04d8aa74d030672e9a4788a700b0695fc14'
* commit 'c377e04d8aa74d030672e9a4788a700b0695fc14':
  h264: move top_borders into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:58:59 +01:00
Michael Niedermayer
3d1d8e1f95 Merge commit '36d04801ba9d8622c2d759c172aea18561bac74d'
* commit '36d04801ba9d8622c2d759c172aea18561bac74d':
  h264: move the scratch buffers into the per-slice context

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_slice.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:50:53 +01:00
Michael Niedermayer
2730163329 Merge commit '34d4c605e9a5116d5289b35633ade5b01cacab24'
* commit '34d4c605e9a5116d5289b35633ade5b01cacab24':
  h264_loopfilter: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:26:10 +01:00
Michael Niedermayer
e845b9573d Merge commit '7505c8dfba255f8e6c6dbb574d0cec91da16f24d'
* commit '7505c8dfba255f8e6c6dbb574d0cec91da16f24d':
  h264_cavlc: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:19:58 +01:00
Michael Niedermayer
eb058a8dc5 Merge commit 'ba7e165b864d69da4f0c79ec7757cb351535002f'
* commit 'ba7e165b864d69da4f0c79ec7757cb351535002f':
  h264_cabac: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:19:24 +01:00
Michael Niedermayer
9f2fad1af7 Merge commit '5c4b98de4d101ea715ef86847306a510afd0db0c'
* commit '5c4b98de4d101ea715ef86847306a510afd0db0c':
  h264.c: constify all uses of H264Context in slice and lower-level functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:18:40 +01:00
Michael Niedermayer
9d0450ae94 Merge commit 'e9b2383bf86b38ad18a001801aee20c8182e29bd'
* commit 'e9b2383bf86b38ad18a001801aee20c8182e29bd':
  h264: move mb_mbaff into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:07:01 +01:00
Michael Niedermayer
d511dc6530 Merge commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191'
* commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191':
  h264: move mb_field_decoding_flag into the per-slice context

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:03:54 +01:00
Michael Niedermayer
a0b39747b7 Merge commit '6490a0c0fbe0e55f765ea2aa2e8495181ea1f719'
* commit '6490a0c0fbe0e55f765ea2aa2e8495181ea1f719':
  h264_mb: constify all uses of H264Context

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_mb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:23:10 +01:00
Michael Niedermayer
06e5b331f5 Merge commit '51822879e7732ee8175dad98dde1a135f6e5c1a4'
* commit '51822879e7732ee8175dad98dde1a135f6e5c1a4':
  h264_mb: constify block_offset

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:22:15 +01:00
Michael Niedermayer
bc5383e6c4 Merge commit '3bea6409a1868354a1d29b34de424c3636c222b7'
* commit '3bea6409a1868354a1d29b34de424c3636c222b7':
  h264_mvpred: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:21:44 +01:00
Michael Niedermayer
a81a6dcb11 Merge commit '460176aa19acb8d8bdb52af1ec97891e0f65843c'
* commit '460176aa19acb8d8bdb52af1ec97891e0f65843c':
  h264.h: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:14:36 +01:00
Michael Niedermayer
48d00b527b Merge commit 'd27b8248a6ee7e64c68c46c23e00d703b9caa50c'
* commit 'd27b8248a6ee7e64c68c46c23e00d703b9caa50c':
  h264_direct: constify all uses of H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:13:56 +01:00
Michael Niedermayer
55215383dc Merge commit 'f42485dbce614b3f63182845da43db690b427b7c'
* commit 'f42485dbce614b3f63182845da43db690b427b7c':
  h264: use a separate GetBitContext for slice data

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_parser.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:13:24 +01:00
Michael Niedermayer
727b202330 Merge commit '2ea00e35e4e0b58f7a306dd55d8f72a21c32c946'
* commit '2ea00e35e4e0b58f7a306dd55d8f72a21c32c946':
  h264: do not abuse the context as a temporary storage in get_last_needed_nal()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:02:23 +01:00
Michael Niedermayer
eba2c2321b Merge commit '404a416d4b1fcbf9db5569481d8181f296c01ea9'
* commit '404a416d4b1fcbf9db5569481d8181f296c01ea9':
  h264: remove some remnants of data partitioning

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:00:51 +01:00
Michael Niedermayer
72bec029ee Merge commit '7bbc254d646ed9cf6deffc3fda75ae6729f95979'
* commit '7bbc254d646ed9cf6deffc3fda75ae6729f95979':
  h264: move resync_mb_{x,y} into the per-slice context

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:54:48 +01:00
Michael Niedermayer
d76559fb5f Merge commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977'
* commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977':
  h264: move mb_{x,y} into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_mb.c
	libavcodec/h264_slice.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:46:15 +01:00
Michael Niedermayer
668c65e7e7 Merge commit '0edbe6faa7ef80daf0e84353cbe733389bf1a522'
* commit '0edbe6faa7ef80daf0e84353cbe733389bf1a522':
  h264: move mb_xy into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:18:29 +01:00
Michael Niedermayer
db4234c500 Merge commit '07c5ca551b7327d3c4e33738cc0cd2d5ac2779fa'
* commit '07c5ca551b7327d3c4e33738cc0cd2d5ac2779fa':
  h264: move is_complex into the per-slice context

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:10:31 +01:00
Michael Niedermayer
70eec8f432 Merge commit '47a0d393504d6726c4a235951153bee0abb3f7d6'
* commit '47a0d393504d6726c4a235951153bee0abb3f7d6':
  h264: move mb_skip_run into the per-slice context

Conflicts:
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:09:14 +01:00
Michael Niedermayer
da7f4c32ab Merge commit '9951907f6fc37a8d41566dbee09f7c15ff587de6'
* commit '9951907f6fc37a8d41566dbee09f7c15ff587de6':
  h264: move redundant_pic_count into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:07:53 +01:00
Michael Niedermayer
04d23cf1c5 Merge commit 'a9b201cacf85d710b102010cb4baef97f00ea39b'
* commit 'a9b201cacf85d710b102010cb4baef97f00ea39b':
  h264: move cabac_init_idc into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:06:57 +01:00
Michael Niedermayer
7d23931632 Merge commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff'
* commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff':
  h264: move loopfilter parameters into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:59:20 +01:00
Michael Niedermayer
ad6cee117e Merge commit 'bd3e460b73dd54a68dc253e010c239cefc8d8d55'
* commit 'bd3e460b73dd54a68dc253e010c239cefc8d8d55':
  h264: move direct_cache into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:58:50 +01:00
Michael Niedermayer
6a2e1ff02a Merge commit '6479c79f5517e2881bc881e737b2dbce69553878'
* commit '6479c79f5517e2881bc881e737b2dbce69553878':
  h264: move mvd_cache into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:58:05 +01:00
Michael Niedermayer
c9841c05be Merge commit 'a67f8ae9a2c8529bf6a635e8ca4e3483592708b1'
* commit 'a67f8ae9a2c8529bf6a635e8ca4e3483592708b1':
  h264: move mvd_table into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:57:21 +01:00
Michael Niedermayer
a4952e7343 Merge commit '5c8280c3075dd54f26752c3a1185647578421703'
* commit '5c8280c3075dd54f26752c3a1185647578421703':
  h264: move last_qscale_diff into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:48:53 +01:00
Michael Niedermayer
4c5c913dd8 Merge commit 'e7226984ac13aacb84eae77a372df8ff7685848f'
* commit 'e7226984ac13aacb84eae77a372df8ff7685848f':
  h264: move [{top,left}_]cbp into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:48:13 +01:00
Michael Niedermayer
f5d4d61824 Merge commit '30da98adbda6de1f55188f9058a3a5c715049633'
* commit '30da98adbda6de1f55188f9058a3a5c715049633':
  h264: move cabac[_state] into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:45:44 +01:00
Michael Niedermayer
d86e8f235e avcodec/h264_slice: Merge 2 memcpy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:37:05 +01:00
Michael Niedermayer
739edc1a7e Merge commit 'bf03a878a76dea29b36f368759e9f66102b39a5f'
* commit 'bf03a878a76dea29b36f368759e9f66102b39a5f':
  h264: move mb[_{padding,luma_dc}] into the per-slice context

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_cavlc.c
	libavcodec/h264_mb.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:36:57 +01:00
Michael Niedermayer
35a788d953 Merge commit 'b063582e0c4f775a8ba377488bd085595e0e7fae'
* commit 'b063582e0c4f775a8ba377488bd085595e0e7fae':
  h264: move intra_pcm_ptr into the per-slice context

Conflicts:
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:27:29 +01:00
Michael Niedermayer
cc2cfdc497 Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'
* commit '95eb35f30513e335990ad0d5dca6ddc318477291':
  h264: move the ref lists variables into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_direct.c
	libavcodec/h264_mb.c
	libavcodec/h264_picture.c
	libavcodec/h264_refs.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:18:10 +01:00
Michael Niedermayer
27b3522ba3 Merge commit '7747726667c86877feed30c9e18460cb8e63f551'
* commit '7747726667c86877feed30c9e18460cb8e63f551':
  h264: move map_col_to_list0[_field] into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:46:23 +01:00
Michael Niedermayer
bd76a4822f Merge commit 'ee0d774dfa94655e44707ff3e02f4a4d282c1963'
* commit 'ee0d774dfa94655e44707ff3e02f4a4d282c1963':
  h264: move dist_scale_factor[_field] into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:39:49 +01:00
Michael Niedermayer
20477a4ecb Merge commit 'be69f0a800903b7573b18d9287d18b2f368b8b11'
* commit 'be69f0a800903b7573b18d9287d18b2f368b8b11':
  h264: move col_{parity,fieldoff} into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:39:32 +01:00
Michael Niedermayer
a8ac4c9b06 Merge commit '066aafced4dc6c7c9e7b37082635472249f1e93e'
* commit '066aafced4dc6c7c9e7b37082635472249f1e93e':
  h264: move direct_spatial_mv_pred into the per-slice context

Conflicts:
	libavcodec/h264_mvpred.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:38:59 +01:00
Michael Niedermayer
4ffbeddd35 Merge commit 'ed451a08a46b2b07fd2dba3e55ffddd18ae6e3d6'
* commit 'ed451a08a46b2b07fd2dba3e55ffddd18ae6e3d6':
  h264: move sub_mb_type into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:37:55 +01:00
Michael Niedermayer
97c8ecaada Merge commit '56febc993b928ccc039a32158ca60b234c311875'
* commit '56febc993b928ccc039a32158ca60b234c311875':
  h264: move the slice type variables into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:30:19 +01:00
Michael Niedermayer
2cc08cad9e Merge commit '5f390eef8ee2b8adab00c5d2923a52aa261eb999'
* commit '5f390eef8ee2b8adab00c5d2923a52aa261eb999':
  h264: move mb_[uv]linesize into the per-slice context

Conflicts:
	libavcodec/h264.h
	libavcodec/h264_mb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:16:29 +01:00
Michael Niedermayer
892a6d0028 Merge commit '99a35d1ccbb6b6cd260ce5c8369a897a79fe6a3a'
* commit '99a35d1ccbb6b6cd260ce5c8369a897a79fe6a3a':
  h264: move neighbor_transform_size into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:14:05 +01:00
Michael Niedermayer
f1436a7f96 Merge commit 'e6287f077c3e8e4aca11e61dd4bade1351439e6b'
* commit 'e6287f077c3e8e4aca11e61dd4bade1351439e6b':
  h264: move {mv,ref}_cache into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_mb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:06:30 +01:00
Michael Niedermayer
b7e0356cc3 Merge commit 'f69574cf7aca4fe4d57a2155e925f37fc863474d'
* commit 'f69574cf7aca4fe4d57a2155e925f37fc863474d':
  h264: move non_zero_count_cache into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:02:02 +01:00
Michael Niedermayer
6ec279b54c Merge commit '64c81b2cd0dcf1fe66c381a5d2c707dddcf35a7e'
* commit '64c81b2cd0dcf1fe66c381a5d2c707dddcf35a7e':
  h264: move *_samples_available into the per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_mb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:59:16 +01:00
Michael Niedermayer
20f5be1038 avcodec/h264_cabac: Fix intra4x4_pred_mode_cache argument to av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:46:32 +01:00
Michael Niedermayer
6abd1e901c Merge commit '7d8154edd594981e7891d57de91f2260f8a62939'
* commit '7d8154edd594981e7891d57de91f2260f8a62939':
  h264: move intra4x4_pred_mode[_cache] into the per-slice context

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:44:38 +01:00
Michael Niedermayer
61635c7a88 Merge commit '8b00f4df20f4a8ab0656fdaf7d00233a6515a052'
* commit '8b00f4df20f4a8ab0656fdaf7d00233a6515a052':
  h264: move some neighbour information into the per-slice context

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:42:44 +01:00
Michael Niedermayer
a2740a060b Merge commit '4bd5ac200d15b4f458a50f66006549825f9fc865'
* commit '4bd5ac200d15b4f458a50f66006549825f9fc865':
  h264: move {chroma,intra16x16}_pred_mode into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:35:38 +01:00
Michael Niedermayer
c07b7e483a Merge commit '5355ed6b20e941430c4f8fb82644e87a65366d61'
* commit '5355ed6b20e941430c4f8fb82644e87a65366d61':
  h264: move {prev,next}_mb_skipped into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:35:05 +01:00
Michael Niedermayer
acd6b407c3 Merge commit '06789ad3b71296a9e2fbd0278632d97a5d9af8d7'
* commit '06789ad3b71296a9e2fbd0278632d97a5d9af8d7':
  h264: move qp_thresh into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:34:33 +01:00
Michael Niedermayer
c27f53b9fb Merge commit 'd231e84b06a9964c840cff4e228509f706165fb6'
* commit 'd231e84b06a9964c840cff4e228509f706165fb6':
  h264: move the quantizers into the per-slice context

Conflicts:
	libavcodec/dxva2_h264.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:24:23 +01:00
Michael Niedermayer
cc31d9ce80 Merge commit 'd40ae0e595fe90b5583b9269f8bb000402bde5a6'
* commit 'd40ae0e595fe90b5583b9269f8bb000402bde5a6':
  h264: do not copy qscale when updating per-thread contexts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:20:54 +01:00
Michael Niedermayer
756dc7bd18 Merge commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87'
* commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87':
  h264: split weighted pred-related vars into per-slice context

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_mb.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:13:12 +01:00
Michael Niedermayer
06c70d4537 avcodec/hevc_ps: Check cropping parameters more correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 12:55:03 +01:00
Michael Niedermayer
665e0c10a6 Merge commit 'd8a45d2d49f54fde042b195f9d5859251252493d'
* commit 'd8a45d2d49f54fde042b195f9d5859251252493d':
  h264_ps: properly check cropping parameters against overflow

Conflicts:
	libavcodec/h264_ps.c

See: c3bd306e78
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 12:09:03 +01: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
Michael Niedermayer
0e69c16e96 Merge commit 'c929659bdd7d2d5848ea52e685a3164c7b901bb0'
* commit 'c929659bdd7d2d5848ea52e685a3164c7b901bb0':
  hevc: make the crop sizes unsigned

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 11:11:17 +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
Michael Niedermayer
294bb6cbd7 avcodec/hevc_refs: Silence "Could not find ref with POC" for CRA/BLA
Avoids error messages during seeking

Found-by: cousin_luigi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 04:09:46 +01:00
Martin Vignali
276a8666d2 avcodec/metasound_data: remove unused variable lsp16s
the table was duplicated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 22:33:15 +01:00
Michael Niedermayer
2a8198b32f avcodec/libvpxenc: Set min/max quantizer to 0 for lossless mode
Fixes Ticket4246

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 19:22:33 +01:00
James Almer
6b940b8c99 x86/xvididct: add some yasm guards
Should fix compilation on compilers with less-than-ideal dead code elimination

Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 02:38:20 -03:00
James Almer
b0fea4ad7e x86/xvididct: remove obsolete function prototypes
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 02:38:14 -03:00
Martin Vignali
7fb186784a avcodec/dv: remove unused var dvquantareas
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 04:39:10 +01:00
Martin Vignali
5f9d30ae8f avcodec/dv: remove unused var dv100qstep
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-20 04:39:01 +01:00
James Almer
03e9b1931b avcodec/libdcadec: add missing version bump and changelog entry 2015-03-19 21:09:42 -03:00