summaryrefslogtreecommitdiff
path: root/libavcodec/h264.h
Commit message (Collapse)AuthorAge
* Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'Michael Niedermayer2013-04-19
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5e83d9aced2fc2b2e1360452794c58aba55d497c': h264: fully support cropping. Conflicts: doc/APIchanges libavcodec/h264.c libavcodec/h264_ps.c libavcodec/options_table.h libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: fully support cropping.Anton Khirnov2013-04-19
| | | | | | | | | | | | Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com> Fixes Bug 378.
* | h264: add an argument to CHROMA for consistencyMichael Niedermayer2013-03-21
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '23e85be58fc64b2e804e68b0034a08a6d257e523'Michael Niedermayer2013-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '23e85be58fc64b2e804e68b0034a08a6d257e523': h264: add a parameter to the CHROMA444 macro. h264: add a parameter to the CHROMA422 macro. Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: add a parameter to the CHROMA444 macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
| * h264: add a parameter to the CHROMA422 macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
* | Merge commit '6d2b6f21eb45ffbda1103c772060303648714832'Michael Niedermayer2013-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '6d2b6f21eb45ffbda1103c772060303648714832': h264: add a parameter to the CABAC macro. h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro. Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: add a parameter to the CABAC macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
| * h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
* | Merge commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4'Michael Niedermayer2013-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4': h264: add a parameter to the FIELD_PICTURE macro. h264: add a parameter to the FRAME_MBAFF macro. Conflicts: libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: add a parameter to the FIELD_PICTURE macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
| * h264: add a parameter to the FRAME_MBAFF macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
* | Merge commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7'Michael Niedermayer2013-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7': h264: add a parameter to the MB_FIELD macro. h264: add a parameter to the MB_MBAFF macro. Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: add a parameter to the MB_FIELD macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
| * h264: add a parameter to the MB_MBAFF macro.Anton Khirnov2013-03-21
| | | | | | | | This way it does not look like a constant.
* | Merge commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e'Michael Niedermayer2013-03-21
|\| | | | | | | | | | | | | | | | | | | | | * commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e': h264: make ff_h264_frame_start static. Conflicts: libavcodec/h264.c libavcodec/h264.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: make ff_h264_frame_start static.Anton Khirnov2013-03-21
| | | | | | | | It is not called from outside h264.c
* | Merge commit '759001c534287a96dc96d1e274665feb7059145d'Michael Niedermayer2013-03-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '759001c534287a96dc96d1e274665feb7059145d': lavc decoders: work with refcounted frames. Anton Khirnov (1): lavc decoders: work with refcounted frames. Clément Bœsch (47): lavc/ansi: reset file lavc/ansi: re-do refcounted frame changes from Anton fraps: reset file lavc/fraps: switch to refcounted frames gifdec: reset file lavc/gifdec: switch to refcounted frames dsicinav: resolve conflicts smc: resolve conflicts zmbv: resolve conflicts rpza: resolve conflicts vble: resolve conflicts xxan: resolve conflicts targa: resolve conflicts vmnc: resolve conflicts utvideodec: resolve conflicts tscc: resolve conflicts ulti: resolve conflicts ffv1dec: resolve conflicts dnxhddec: resolve conflicts v210dec: resolve conflicts vp3: resolve conflicts vcr1: resolve conflicts v210x: resolve conflicts wavpack: resolve conflicts pngdec: fix compilation roqvideodec: resolve conflicts pictordec: resolve conflicts mdec: resolve conflicts tiertexseqv: resolve conflicts smacker: resolve conflicts vb: resolve conflicts vqavideo: resolve conflicts xl: resolve conflicts tmv: resolve conflicts vmdav: resolve conflicts truemotion1: resolve conflicts truemotion2: resolve conflicts lcldec: fix compilation libcelt_dec: fix compilation qdrw: fix compilation r210dec: fix compilation rl2: fix compilation wnv1: fix compilation yop: fix compilation tiff: resolve conflicts interplayvideo: fix compilation qpeg: resolve conflicts (FIXME/TESTME). Hendrik Leppkes (33): 012v: convert to refcounted frames 8bps: fix compilation 8svx: resolve conflicts 4xm: resolve conflicts aasc: resolve conflicts bfi: fix compilation aura: fix compilation alsdec: resolve conflicts avrndec: convert to refcounted frames avuidec: convert to refcounted frames bintext: convert to refcounted frames cavsdec: resolve conflicts brender_pix: convert to refcounted frames cinepak: resolve conflicts cinepak: avoid using AVFrame struct directly in private context cljr: fix compilation cpia: convert to refcounted frames cscd: resolve conflicts iff: resolve conflicts and do proper conversion to refcounted frames 4xm: fix reference frame handling cyuv: fix compilation dxa: fix compilation eacmv: fix compilation eamad: fix compilation eatgv: fix compilation escape124: remove unused variable. escape130: convert to refcounted frames evrcdec: convert to refcounted frames exr: convert to refcounted frames mvcdec: convert to refcounted frames paf: properly free the frame data on decode close sgirle: convert to refcounted frames lavfi/moviesrc: use refcounted frames Michael Niedermayer (56): Merge commit '759001c534287a96dc96d1e274665feb7059145d' resolve conflicts in headers motion_est: resolve conflict mpeg4videodec: fix conflicts dpcm conflict fix dpx: fix conflicts indeo3: resolve confilcts kmvc: resolve conflicts kmvc: resolve conflicts h264: resolve conflicts utils: resolve conflicts rawdec: resolve conflcits mpegvideo: resolve conflicts svq1enc: resolve conflicts mpegvideo: dont clear data, fix assertion failure on fate vsynth1 with threads pthreads: resolve conflicts frame_thread_encoder: simple compilefix not yet tested snow: update to buffer refs crytsalhd: fix compile dirac: switch to new API sonic: update to new API svq1: resolve conflict, update to new API ffwavesynth: update to new buffer API g729: update to new API indeo5: fix compile j2kdec: update to new buffer API linopencore-amr: fix compile libvorbisdec: update to new API loco: fix compile paf: update to new API proresdec: update to new API vp56: update to new api / resolve conflicts xface: convert to refcounted frames xan: fix compile&fate v408: update to ref counted buffers v308: update to ref counted buffers yuv4dec: update to ref counted buffers y41p: update to ref counted frames xbm: update to refcounted frames targa_y216: update to refcounted buffers qpeg: fix fate/crash cdxl: fix fate tscc: fix reget buffer useage targa_y216dec: fix style msmpeg4: fix fate h264: ref_picture() copy fields that have been lost too update_frame_pool: use channel field h264: Put code that prevents deadlocks back mpegvideo: dont allow last == current wmalossless: fix buffer ref messup ff_alloc_picture: free tables in case of dimension mismatches h264: fix null pointer dereference and assertion failure frame_thread_encoder: update to bufrefs ec: fix used arrays snowdec: fix off by 1 error in dimensions check h264: disallow single unpaired fields as references of frames Paul B Mahol (2): lavc/vima: convert to refcounted frames sanm: convert to refcounted frames Conflicts: libavcodec/4xm.c libavcodec/8bps.c libavcodec/8svx.c libavcodec/aasc.c libavcodec/alsdec.c libavcodec/anm.c libavcodec/ansi.c libavcodec/avs.c libavcodec/bethsoftvideo.c libavcodec/bfi.c libavcodec/c93.c libavcodec/cavsdec.c libavcodec/cdgraphics.c libavcodec/cinepak.c libavcodec/cljr.c libavcodec/cscd.c libavcodec/dnxhddec.c libavcodec/dpcm.c libavcodec/dpx.c libavcodec/dsicinav.c libavcodec/dvdec.c libavcodec/dxa.c libavcodec/eacmv.c libavcodec/eamad.c libavcodec/eatgq.c libavcodec/eatgv.c libavcodec/eatqi.c libavcodec/error_resilience.c libavcodec/escape124.c libavcodec/ffv1.h libavcodec/ffv1dec.c libavcodec/flicvideo.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/g723_1.c libavcodec/gifdec.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_direct.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/huffyuvdec.c libavcodec/idcinvideo.c libavcodec/iff.c libavcodec/indeo2.c libavcodec/indeo3.c libavcodec/internal.h libavcodec/interplayvideo.c libavcodec/ivi_common.c libavcodec/jvdec.c libavcodec/kgv1dec.c libavcodec/kmvc.c libavcodec/lagarith.c libavcodec/libopenjpegdec.c libavcodec/mdec.c libavcodec/mimic.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mmvideo.c libavcodec/motion_est.c libavcodec/motionpixels.c libavcodec/mpc7.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/msrle.c libavcodec/msvideo1.c libavcodec/nuv.c libavcodec/options_table.h libavcodec/pcx.c libavcodec/pictordec.c libavcodec/pngdec.c libavcodec/pnmdec.c libavcodec/pthread.c libavcodec/qpeg.c libavcodec/qtrle.c libavcodec/r210dec.c libavcodec/rawdec.c libavcodec/roqvideodec.c libavcodec/rpza.c libavcodec/smacker.c libavcodec/smc.c libavcodec/svq1dec.c libavcodec/svq1enc.c libavcodec/targa.c libavcodec/tiertexseqv.c libavcodec/tiff.c libavcodec/tmv.c libavcodec/truemotion1.c libavcodec/truemotion2.c libavcodec/tscc.c libavcodec/ulti.c libavcodec/utils.c libavcodec/utvideodec.c libavcodec/v210dec.c libavcodec/v210x.c libavcodec/vb.c libavcodec/vble.c libavcodec/vcr1.c libavcodec/vmdav.c libavcodec/vmnc.c libavcodec/vp3.c libavcodec/vp56.c libavcodec/vp56.h libavcodec/vp6.c libavcodec/vqavideo.c libavcodec/wavpack.c libavcodec/xl.c libavcodec/xxan.c libavcodec/zmbv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
| |
* | Merge commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51'Michael Niedermayer2013-03-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51': configure: Add missing h264chroma dependencies to vp5, vp6 Add missing error_resilience includes to files that use ER Conflicts: configure libavcodec/mpeg12.c libavcodec/mpeg4videodec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add missing error_resilience includes to files that use ERDiego Biurrun2013-03-07
| |
* | h264: make it possible to compile without error_resilience.Ronald S. Bultje2013-03-03
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '040c565e51985477a8fa5e42d2ddfb26ebde6608'Michael Niedermayer2013-02-24
|\| | | | | | | | | | | | | | | | | | | | | * commit '040c565e51985477a8fa5e42d2ddfb26ebde6608': doc: developer: Allow tabs in the vim configuration for Automake files Remove pointless av_cold attributes in header files Conflicts: libavcodec/h264.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove pointless av_cold attributes in header filesDiego Biurrun2013-02-23
| | | | | | | | | | | | The init functions marked as av_cold have to be executed in any case, so there is no gain from trying to mark paths leading to such functions as unlikely.
| * h264/svq3: Stop using draw_edgesRonald S. Bultje2013-02-19
| | | | | | | | | | | | | | | | | | | | | | Instead, only extend edges on-demand when the motion vector actually crosses the visible decoded area using ff_emulated_edge_mc(). This changes decoding time for cathedral from 8.722sec to 8.706sec, i.e. 0.2% faster overall. More generally (VP8 uses this also), low-motion content gets significant speed improvements, whereas high-motion content tends to decode in approximately the same time. Signed-off-by: Martin Storsjö <martin@martin.st>
| * h264: Don't store intra pcm samples in h->mbRonald S. Bultje2013-02-19
| | | | | | | | | | | | | | | | | | Instead, keep them in the bitstream buffer until we read them verbatim, this saves a memcpy() and a subsequent clearing of the target buffer. decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from 6121.4 to 6095.5 cycles, i.e. 26 cycles faster. Signed-off-by: Martin Storsjö <martin@martin.st>
* | h264: Fix handling of changing reference counts between slicesMichael Niedermayer2013-02-20
| | | | | | | | | | | | | | Fixes out of array accesses Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: put visualization and debug support backMichael Niedermayer2013-02-19
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264/svq3: stop using draw_edges.Ronald S. Bultje2013-02-18
| | | | | | | | | | | | | | | | | | | | | | Instead, only extend edges on-demand when the motion vector actually crosses the visible decoded area using ff_emulated_edge_mc(). This changes decoding time for cathedral from 8.722sec to 8.706sec, i.e. 0.2% faster overall. More generally (VP8 uses this also), low-motion content gets significant speed improvements, whereas high-motion content tends to decode in approximately the same time. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: don't store intra pcm samples in h->mb.Ronald S. Bultje2013-02-18
| | | | | | | | | | | | | | | | | | Instead, keep them in the bitstream buffer until we read them verbatim, this saves a memcpy() and a subsequent clearing of the target buffer. decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from 6121.4 to 6095.5 cycles, i.e. 26 cycles faster. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: deMpegEncContextize Conflicts: libavcodec/dxva2_h264.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_mb_template.c libavcodec/h264_parser.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264_sei.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: deMpegEncContextizeAnton Khirnov2013-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'c5fcdb440237f06f6c954185ab60970cabf786a2'Michael Niedermayer2013-02-07
|\| | | | | | | | | | | | | | | * commit 'c5fcdb440237f06f6c954185ab60970cabf786a2': error_resilience: remove a useless if() and FIXME h264: remove silly macros Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: remove silly macrosAnton Khirnov2013-02-06
| | | | | | | | | | They serve no useful purpose and wreak all kind of havoc when h264.h is included elsewhere.
* | Merge commit '79dad2a932534d1155079f937649e099f9e5cc27'Michael Niedermayer2013-02-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '79dad2a932534d1155079f937649e099f9e5cc27': dsputil: Separate h264chroma Conflicts: libavcodec/dsputil_template.c libavcodec/ppc/dsputil_ppc.c libavcodec/vc1dec.c libavcodec/vc1dsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Separate h264chromaDiego Biurrun2013-02-06
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-24
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: dsputil: Separate h264 qpel Conflicts: libavcodec/dsputil_template.c libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Separate h264 qpelMans Rullgard2013-01-24
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'Michael Niedermayer2013-01-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f': Drop DCTELEM typedef Conflicts: libavcodec/alpha/dsputil_alpha.h libavcodec/alpha/motion_est_alpha.c libavcodec/arm/dsputil_init_armv6.c libavcodec/bfin/dsputil_bfin.h libavcodec/bfin/pixels_bfin.S libavcodec/cavs.c libavcodec/cavsdec.c libavcodec/dct-test.c libavcodec/dnxhdenc.c libavcodec/dsputil.c libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/eamad.c libavcodec/h264_cavlc.c libavcodec/h264idct_template.c libavcodec/mpeg12.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/ppc/dsputil_altivec.c libavcodec/proresdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Drop DCTELEM typedefDiego Biurrun2013-01-22
| | | | | | | | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: avoid pointless copying of ref lists lavr: always reset mix function names and pointers in mix_function_init() lavr: call mix_function_init() in ff_audio_mix_set_matrix() fate: update ref after rv30_loop_filter fix rv30: fix masking in rv30_loop_filter() Conflicts: tests/ref/fate/filter-delogo tests/ref/fate/rv30 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: avoid pointless copying of ref listsAnton Khirnov2013-01-18
| | | | | | | | | | | | | | | | 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.
* | Merge commit 'd8c772de53d29afb1bada88afa859fce8489c668'Michael Niedermayer2013-01-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd8c772de53d29afb1bada88afa859fce8489c668': nutdec: Always return a value from nut_read_timestamp() configure: Make warnings from -Wreturn-type fatal errors x86: ABS2: port to cpuflags vdpau: Remove av_unused attribute from function declaration h264: fix ff_generate_sliding_window_mmcos() prototype. Conflicts: configure libavformat/nutdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: fix ff_generate_sliding_window_mmcos() prototype.Anton Khirnov2013-01-14
| | | | | | | | | | | | | | It's been returning an error value since bad446e251405dc250c3cbee199072e083a1e4b9 Also check for the errors it returns.
| * h264: don't clobber mmco opcode tables for non-first slice headers.Ronald S. Bultje2013-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * h264: support frame parameter changes during frame-mtJanne Grunau2012-12-18
| | | | | | | | Fixes CVE-2012-2782.
* | h264: don't clobber mmco opcode tables for non-first slice headers.Ronald S. Bultje2013-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Michael Niedermayer <michaelni@gmx.at>
* | h264: support frame size changes with multi threadingMichael Niedermayer2012-12-19
| | | | | | | | | | | | Based on code by Janne Grunau Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'ed2d7d5868a4a5d914f1e5488d63ea696a3b2937'Michael Niedermayer2012-12-19
|\| | | | | | | | | | | | | | | * commit 'ed2d7d5868a4a5d914f1e5488d63ea696a3b2937': ff_h264_direct_ref_list_init: fix B slice check. h264: increase dist_scale_factor for up to 32 references Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: increase dist_scale_factor for up to 32 referencesJanne Grunau2012-12-18
| | | | | | | | | | Compute dist_scale_factor_field only for MBAFF since that is the only case in which it is used.