Michael Niedermayer
ecd39520b8
avcodec/h264: Partially decode and display single fields try #2
...
This like the previous attempt does not fully correctly decode this
type of non standard H.264, but it now works fully automatic
requiring no manual filters or flags to be used
See Ticket2254
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 00:47:24 +01:00
wm4
e0e33ebe6b
h264: unref leaking error recovery picture
...
This leaked a frame on each avcodec_flush_buffers() call, if frame
threading was enabled. It caused severe memory usage in player if you
were seeking a lot.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 20:11:39 +01:00
Michael Niedermayer
855463c007
avcodec/h264: Keep a reference to the last picture for EC
...
This and the next commit improve error concealment for
green-block-artifacts-from-canon-100-hs.MOV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 17:30:02 +01:00
Michael Niedermayer
751731540f
Merge commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68'
...
* commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68':
vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:17:20 +01:00
Michael Niedermayer
57089084ba
Merge commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5'
...
* commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5':
h264: factor hwaccel pixel formats list
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:15:34 +01:00
Rémi Denis-Courmont
ebd5320afd
vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
...
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
4cfbeef31d
h264: factor hwaccel pixel formats list
...
This is to avoid proliferation of similar tables in following changes.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:48 +01:00
Michael Niedermayer
38c3ffbd55
Merge commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1'
...
* commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1':
mpegvideo: move REBASE_PICTURE where it is used
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:27:10 +01:00
Vittorio Giovara
d75190aa93
mpegvideo: move REBASE_PICTURE where it is used
...
Drop an unused #undef from h264 decoder.
2014-12-15 15:46:34 +01:00
Michael Niedermayer
547fce9585
avcodec/h264_slice: Clear table pointers to avoid stale pointers
...
Might fix Ticket3889
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 01:56:38 +01:00
Michael Niedermayer
09450c5509
avcodec/h264: fix time_base and framerate
...
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
17085a0251
Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'
...
* commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41':
lavc: deprecate the use of AVCodecContext.time_base for decoding
Conflicts:
libavcodec/avcodec.h
libavcodec/h264.c
libavcodec/mpegvideo_parser.c
libavcodec/utils.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:49:31 +02:00
Anton Khirnov
7ea1b3472a
lavc: deprecate the use of AVCodecContext.time_base for decoding
...
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.
Add a new field, called 'framerate', to replace the use of time_base for
decoding.
2014-10-15 06:37:43 +00:00
Michael Niedermayer
28b1698a7c
Merge commit 'ce42316321145c435029dc288c2b5f1d48519dde'
...
* commit 'ce42316321145c435029dc288c2b5f1d48519dde':
h264: Always invoke the get_format() callback
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:21:56 +02:00
Rémi Denis-Courmont
ce42316321
h264: Always invoke the get_format() callback
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Michael Niedermayer
570397c731
Merge commit 'e87f5e4e5f2e2e36b0b7826d708cda7049877af0'
...
* commit 'e87f5e4e5f2e2e36b0b7826d708cda7049877af0':
h264: fully check cropping amount from sps
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 22:01:45 +02:00
Vittorio Giovara
e87f5e4e5f
h264: fully check cropping amount from sps
...
Even if sps.crop is true, the cropping amount may be zero.
Fixes a sample with a valid but broken container cropping.
2014-08-26 13:31:29 -04:00
Carl Eugen Hoyos
cc0acdbd68
lavc/h264_slice: Add a missing newline to an error message.
2014-08-24 15:33:10 +02:00
Michael Niedermayer
1fa35e4352
avcodec/h264_slice: More complete cleanup in h264_slice_header_init()
...
Fixes null pointer dereference
Fixes Ticket3873
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 03:47:14 +02:00
Michael Niedermayer
c1df467d73
Merge commit '835f798c7d20bca89eb4f3593846251ad0d84e4b'
...
* commit '835f798c7d20bca89eb4f3593846251ad0d84e4b':
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
Conflicts:
libavcodec/h261dec.c
libavcodec/intrax8.c
libavcodec/mjpegenc.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/rv10.c
libavcodec/x86/mpegvideoenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:11:56 +02:00
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
2014-08-15 01:26:33 -07:00
Michael Niedermayer
3a2d1465c8
Merge commit '2d60444331fca1910510038dd3817bea885c2367'
...
* commit '2d60444331fca1910510038dd3817bea885c2367':
dsputil: Split motion estimation compare bits off into their own context
Conflicts:
configure
libavcodec/Makefile
libavcodec/arm/Makefile
libavcodec/dvenc.c
libavcodec/error_resilience.c
libavcodec/h264.h
libavcodec/h264_slice.c
libavcodec/me_cmp.c
libavcodec/me_cmp.h
libavcodec/motion_est.c
libavcodec/motion_est_template.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/x86/Makefile
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:27:40 +02:00
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
2014-07-17 09:07:10 -07:00
Michael Niedermayer
5fce29ef29
Merge commit '2db953f84671997e936f91140ffb5143c1537844'
...
* commit '2db953f84671997e936f91140ffb5143c1537844':
h264: K&R formatting cosmetics
Conflicts:
libavcodec/h264.c
libavcodec/h264_direct.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 14:00:01 +02:00
Luca Barbato
2db953f846
h264: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-17 03:05:24 -07:00
Michael Niedermayer
0dceefc5fa
Merge commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2'
...
* commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2':
Add av_image_check_sar() and use it to validate SAR
Conflicts:
libavcodec/dpx.c
libavcodec/dvdec.c
libavcodec/ffv1dec.c
libavcodec/utils.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 22:20:28 +02:00
Justin Ruggles
9e500efdbe
Add av_image_check_sar() and use it to validate SAR
2014-06-20 10:39:33 -04:00
Stefano Sabatini
d381109ce8
lavc/h264_slice: clarify informational message in case of disabled slice multi-threaded decoding
...
Also suggest what can be done to workaround the limitation.
2014-06-20 12:12:46 +02:00
Michael Niedermayer
5bf5e6b1c0
avcodec/h264: Use named identifier for single thread fall-back return from ff_h264_decode_slice_header()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 19:49:26 +02:00
Michael Niedermayer
7eae8cd870
avcodec/h264: fix frame skip code
...
Fixes Ticket3475
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:28:52 +02:00
Michael Niedermayer
9025072e6c
avcodec/h264_slice: support skipping loop filtering for non key frames
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:18:55 +02:00
Michael Niedermayer
9140d37af2
avcodec/h264: use the correct level for droping non intra frames
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:18:43 +02:00
Michael Niedermayer
0f45e643cc
avcodec/h264_slice: fix macro ()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
5449239a03
Merge commit '67afcefb35932b420998f6f3fda46c7c85848a3f'
...
* commit '67afcefb35932b420998f6f3fda46c7c85848a3f':
lavc: Add new VDA hwaccel
Conflicts:
configure
libavcodec/vda.h
libavcodec/vda_h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 01:57:02 +02:00
Michael Niedermayer
fa0f7c024e
Merge commit 'a871ef0cc936612bdb0e643196be72efcf0c8986'
...
* commit 'a871ef0cc936612bdb0e643196be72efcf0c8986':
hwaccel: Rename priv_data_size to frame_priv_data_size
Conflicts:
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:49:13 +02:00
Michael Niedermayer
f2f99f07a5
Merge commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f'
...
* commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f':
lavc: set AVCodecContext.hwaccel in ff_get_format()
Conflicts:
libavcodec/mpeg12dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:28:40 +02:00
Anton Khirnov
67afcefb35
lavc: Add new VDA hwaccel
...
It leverages the new hwaccel 1.2 features:
- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-11 15:00:03 +02:00
Anton Khirnov
a871ef0cc9
hwaccel: Rename priv_data_size to frame_priv_data_size
...
This describes more accurately what this field is for.
2014-05-11 14:59:07 +02:00
Anton Khirnov
5c1d7246cd
lavc: set AVCodecContext.hwaccel in ff_get_format()
...
This way each decoder does not have to do the same thing manually.
2014-05-11 14:59:07 +02:00
Anton Khirnov
632ad2248e
lavc: Add an internal wrapper around get_format()
...
It will be useful in the following commits.
2014-05-11 14:59:07 +02:00
Michael Niedermayer
7ef01a7878
avcodec/h264: mark recovery_cnt==0 frames as keyframes
...
Fixes Ticket3063
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 16:01:45 +02:00
Michael Niedermayer
37ce3188de
Merge commit '9d76dd952ffd9fffc7f9fb5cc5af6d093ba54521'
...
* commit '9d76dd952ffd9fffc7f9fb5cc5af6d093ba54521':
h264: drop commented out cruft
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:38:13 +02:00
Anton Khirnov
9d76dd952f
h264: drop commented out cruft
2014-04-29 14:49:42 +02:00
Carl Eugen Hoyos
ced0d6c14d
Use correct msvc type specifiers for ptrdiff_t and size_t.
...
The Windows runtime aborts if it finds %t or %z.
Fixes ticket #3472 .
Reviewed-by: Ronald Bultje
2014-04-24 18:01:30 +02:00
Michael Niedermayer
928b5708f9
Merge commit '34c5a6660a9e5e3cf301691bb29d011638953dc2'
...
* commit '34c5a6660a9e5e3cf301691bb29d011638953dc2':
h264: codec reinit: remove statements without effect
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:50:32 +02:00
Janne Grunau
34c5a6660a
h264: codec reinit: remove statements without effect
...
avctx->coded_{height,width} will always equal h->{height,width} since
init_dimensions() does that explicitly, Size changes are detected by
changes in mb_{height,width} earlier and propagated through the
needs_reinit variable.
2014-04-19 16:22:06 +02:00
Michael Niedermayer
8710ee11d7
avcodec/h264: clear cur_pic structure instead of duplicating it in ff_h264_update_thread_context()
...
Fixes crash
Found-by: iive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 23:57:32 +02:00
Michael Niedermayer
bce2abc936
avcodec/h264: use ff_h264_set_erpic() instead of memset
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 20:09:19 +01:00
Michael Niedermayer
ffd77f94a2
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264: Split h264 slice decoding from nal decoding
Conflicts:
libavcodec/Makefile
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 01:33:02 +01:00
Luca Barbato
f51d0f39c0
h264: Split h264 slice decoding from nal decoding
2014-03-23 22:41:12 +01:00