Michael Niedermayer
dc7a8f7310
avcodec/h263dec: Document padding_bug_score heuristic used for wrong stuffing
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years ago
Michael Niedermayer
de841fbea7
avcodec/h263dec: Check slice_ret in mspeg4 slice loop
...
Fixes infinite loop
Fixes: 6858/clusterfuzz-testcase-ffmpeg_AV_CODEC_ID_MSMPEG4V3_fuzzer-4681563766784000
Fixes: 6890/clusterfuzz-testcase-ffmpeg_AV_CODEC_ID_WMV1_fuzzer-4756103142309888
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 years ago
Kieran Kunhya
f9d3841ae6
mpeg4video: Add support for MPEG-4 Simple Studio Profile.
...
This is a profile supporting > 8-bit video and has a higher quality DCT
7 years ago
Mark Thompson
2fcb009011
lavc: Add hardware config metadata for decoders supporting hardware output
...
This includes a pointer to the associated hwaccel for decoders using
hwaccels - these will be used later to implement the hwaccel setup
without needing a global list.
Also added is a new file listing all hwaccels as external declarations -
this will be used later to generate the hwaccel list at configure time.
7 years ago
Mark Thompson
758fbc54fe
lavc: Add hardware config metadata for decoders supporting hardware output
...
This includes a pointer to the associated hwaccel for decoders using
hwaccels - these will be used later to implement the hwaccel setup
without needing a global list.
Also added is a new file listing all hwaccels as external declarations -
this will be used later to generate the hwaccel list at configure time.
7 years ago
Philip Langdale
6b77a10e43
avcodec: Implement mpeg4 nvdec hwaccel
...
This was predictably nightmarish, given how ridiculous mpeg4 is.
I had to stare at the cuvid parser output for a long time to work
out what each field was supposed to be, and even then, I still don't
fully understand some of them. Particularly:
vop_coded: If I'm reading the decoder correctly, this flag will always
be 1 as the decoder will not pass the hwaccel any frame
where it is not 1.
divx_flags: There's obviously no documentation on what the possible
flags are. I simply observed that this is '0' for a
normal bitstream and '5' for packed b-frames.
gmc_enabled: I had a number of guesses as to what this mapped to.
I picked the condition I did based on when the cuvid
parser was setting flag.
Also note that as with the vdpau hwaccel, the decoder needs to
consume the entire frame and not the slice.
7 years ago
Michael Niedermayer
f670c13f13
avcodec: Rename ff_mpv_decode_mb() to ff_mpv_reconstruct_mb
...
The new name more accuratly describes what the function does
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Anton Khirnov
14bb15bfd5
pthread_frame: ensure the threads don't run simultaneously with hwaccel
...
Merges Libav commit 8dfba25c
.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
8 years ago
Michael Niedermayer
cde007dcd3
avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecs
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Anton Khirnov
8dfba25ce8
pthread_frame: ensure the threads don't run simultaneously with hwaccel
8 years ago
Michael Niedermayer
eb7aa6bde4
avcodec/h263dec: Return the correct error code in explode mode
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years ago
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Mark Thompson
d264c720f7
lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPI
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
Derek Buitenhuis
21f9468402
avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPAT
...
Libav, for some reason, merged this as a public API function. This will
aid in future merges.
A define is left for backwards compat, just in case some person
used it, since it is in a public header.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
9 years ago
Rémi Denis-Courmont
d35d0c723e
vdpau: remove dysfunctional H.263 support
...
The VDPAU API never explicitly supported H.263 in the first place.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Vittorio Giovara
4628443ca3
h263: Drop uninitialized variable use from log message
9 years ago
Gwenole Beauchesne
9f8e57efe4
vaapi: define a unique pixel format for VA-API (AV_PIX_FMT_VAAPI).
...
Deprecate older VA pixel formats (MOCO, IDCT) as it is now very unlikely
to ever be useful in the future. Only keep plain AV_PIX_FMT_VAAPI format
that is aliased to the older VLD variant.
This is an API change.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9 years ago
Ronald S. Bultje
030b5a4f77
lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU.
9 years ago
Sebastien Zwickert
11d923d414
avcodec: add new Videotoolbox hwaccel.
9 years ago
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Vittorio Giovara
925b80d640
mpegvideo: Move OutFormat enum to mpegutils.h
...
It is necessary to avoid circular header dependencies.
10 years ago
Vittorio Giovara
2f15846ad7
mpegvideo: wmv2: Move function declarations
10 years ago
Philip Langdale
9ae766d1c6
avcodec/vdpau: Re-factor pre-hwaccel helper functions into separate header
...
h264.h and hevc.h are mutually exclusive due to defining some of the same
names. As such, we need to avoid forcing h264.h to be included if we want
hevc decode acceleration to be possible.
However, some of the pre-hwaccel helper functions need h264.h. To avoid
messy collisions, let's move the declaration of all those helpers to
a separate header which we will exclude for the hevc support (which will
be hwaccel-only).
Signed-off-by: Philip Langdale <philipl@overt.org>
10 years ago
Vittorio Giovara
4e17946f10
mpegvideo: Rework various functions not to use MpegEncContext directly
10 years ago
Vittorio Giovara
9c1db92ad3
mpegvideo: Drop err_recognition
...
It is just a duplicate of an AVCodecContext member so use it instead.
10 years ago
Vittorio Giovara
848e86f74d
mpegvideo: Drop flags and flags2
...
They are just duplicates of AVCodecContext members so use those instead.
10 years ago
Carl Eugen Hoyos
101f26e758
lavc/h263: Set color_range for gray decoding.
10 years ago
Michael Niedermayer
9025bc588a
avcodec/h263dec: use PIX_FMT_GRAY8 when the user specified CODEC_FLAG_GRAY
...
Fixes Ticket4542
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
0c69164f45
h263: Convert function to macro
10 years ago
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
10 years ago
Andreas Cadhalpun
f62880bfb8
mpeg4: use a self-explanatory #define MAX_NVOP_SIZE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
a764402394
avcodec/h263dec: Try to use codec_tag instead of the stream_codec_tag
...
If this causes problems then the stream_codec_tag should be enabled again
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rémi Denis-Courmont
c80a816142
h263dec: call get_format() on resolution changes
...
Fail safe if the pixel format changes.
10 years ago
Rémi Denis-Courmont
1f29e5d7a2
h263dec: call get_format after setting resolution and profile
...
Bug-Id: 541
10 years ago
Josh Allmann
9a03c23235
h263dec: Force padding bug workaround for H.263.
...
Fixes decoding of http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years ago
Michael Niedermayer
d225b0f7aa
avcodec/h263dec: Fix decoding messenger.h263
...
Fixes http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263
Fixes regression since b239f3f6
Found-by: Josh Allmann
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
4dee4a4470
avcodec/mpegvideo: Factor ff_mpv_decode_init() out
...
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Gabriel Dume
4b1f5e5090
cosmetics: Write NULL pointer inequality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years ago
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years ago
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
10 years ago
John Stebbins
b869eea7ea
h263dec: Fix order of initialization
...
ff_MPV_common_init requires the frame dimensions which get parsed in
*_decode_picture_header.
10 years ago
John Stebbins
998c9f15d1
idct: remove call to ff_idctdsp_init from ff_MPV_common_init
...
One step in untangling the mpegvideo code and fixing some problems in
the order that initialization is being done in h263dec and h261dec.
10 years ago
Diego Biurrun
7b9ef8d701
mpeg: Split error resilience bits off into a separate file
11 years ago
Justin Ruggles
9e500efdbe
Add av_image_check_sar() and use it to validate SAR
11 years ago
Diego Biurrun
368f50359e
dsputil: Split off quarterpel bits into their own context
11 years ago
Anton Khirnov
5c1d7246cd
lavc: set AVCodecContext.hwaccel in ff_get_format()
...
This way each decoder does not have to do the same thing manually.
11 years ago
Anton Khirnov
632ad2248e
lavc: Add an internal wrapper around get_format()
...
It will be useful in the following commits.
11 years ago
Michael Niedermayer
336901e060
avcodec/h263dec: use AV_EF_IGNORE_ERR
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
56cc178485
avcodec/h263dec: fix "incompatible pointer type" warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago