summaryrefslogtreecommitdiff
path: root/libavcodec/h264.h
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-06
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: http: Remove the custom function for disabling chunked posts rtsp: Disable chunked http post through AVOptions movdec: Set frame_size for AMR h264_weight: remove duplication functions. swscale: align vertical filtersize by 2 on x86. libavfilter: reindent. matroskadec: empty blocks are in fact valid. avfilter: don't abort() on zero-size allocations. h264: improve calculation of codec delay. movenc: Set a correct packet size for AMR-NB mode 15, "no data" avformat: Add functions for doing global network initialization avformat: Add the https protocol avformat: Add the tls protocol, using OpenSSL or gnutls avformat: Initialize gnutls in ff_tls_init() w32threads: Wrap the mutex functions in inline functions returning int configure: Allow linking to the gnutls library avformat: Add ff_tls_init()/deinit() that initialize OpenSSL configure: Allow linking to openssl avcodec: Allow locking and unlocking an avformat specific mutex avformat: Split out functions from network.h to a new file, network.c Conflicts: Changelog configure doc/APIchanges libavcodec/internal.h libavcodec/version.h libavfilter/formats.c libavformat/matroskadec.c libavformat/mov.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: improve calculation of codec delay.Ronald S. Bultje2011-11-05
| | | | | | | | | | | | Fixes the following conformance suite samples: HCBP1_HHI_A.264, HCBP2_HHI_A.264, HCMP1_HHI_A.264 (main) HCHP1_HHI_B.264, HCHP2_HHI_A.264, HCHP3_HHI_A.264 (frext)
| * h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-21
| | | | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | h264_parser: fully parse first_mb_in_slice to more reliably detect AU ↵Michael Niedermayer2011-10-27
| | | | | | | | | | | | boundaries. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: fix the size of PPS::chroma_qp_tableLaurent Aimar2011-10-07
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: fix intra 16x16 mode check when using mbaff and constrained_intra_pred.Laurent Aimar2011-10-02
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: add entries for 11 and 12 bits in ff_h264_chroma_qp[][]Laurent Aimar2011-10-02
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: pass buffer & size to ff_h264_decode_extradata()Michael Niedermayer2011-09-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | calculate frame_num for recovery point "keyframe"John Stebbins2011-09-18
| | | | | | | | | | | | recovery points that have non-zero recovery_frame_cnt resulted in flagging incomplete frames as keyframes. This delays setting the keyframe flag till the frame has been fully constructed.
* | h264dec: Dont display trash before a keyframe.Michael Niedermayer2011-09-17
| | | | | | | | | | | | | | | | Fixes Ticket472 This may (or may not) cause problems with files that have no keyframes. Plese open a bugreport or mail me if you have a file for which this fails. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: improve MAX_SLICES too small check so it gives less false positives.Michael Niedermayer2011-09-12
| | | | | | | | | | | | Fixes Ticket273 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264dec: Prevent CABAC and CAVLC bitsteram overreadingMichael Niedermayer2011-09-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264dec: h264: 4:2:2 intra decodingBaptiste Coudurier2011-08-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: APIchanges: fill in missing hashes and dates. Add an APIChanges entry and bump minor versions for recent changes. ffmpeg: print the low bitrate warning after the codec is openend. doxygen: Move function documentation into the macro generating the function. doxygen: Make sure parameter names match between .c and .h files. h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h H.264: Add more x86 assembly for 10-bit H.264 predict functions lavf: fix invalid reads in avformat_find_stream_info() cmdutils: replace opt_default with opt_default2() and remove set_context_opts ffmpeg: use new avcodec_open2 and avformat_find_stream_info API. ffplay: use new avcodec_open2 and avformat_find_stream_info API. cmdutils: store all codec options in one dict instead of video/audio/sub ffmpeg: check experimental flag after codec is opened. ffmpeg: do not set GLOBAL_HEADER flag in the options context Conflicts: cmdutils.c doc/APIchanges ffmpeg.c ffplay.c libavcodec/version.h libavformat/version.h libswscale/swscale_unscaled.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.hDiego Biurrun2011-07-14
| | | | | | | | This fixes a bunch of unused function warnings.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: doc: Improve references to external URLs. h264: move decode_mb_skip() from h264.h to h.264_mvpred.h ffplay: skip return value of avcodec_decode_video2 / avcodec_decode_subtitle2 dnxhdenc: Replace a forward declaration by the proper #include. h264: move h264_mvpred.h include. pix_fmt: Fix number of bits per component in yuv444p9be lavf: deprecate AVFormatContext.timestamp ffmpeg: merge input_files_ts_scale into InputStream. ffmpeg: don't abuse a global for passing sample format from input to output ffmpeg: don't abuse a global for passing channel layout from input to output ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream() matroskaenc: make SSA default subtitle codec. oggdec: prevent heap corruption. Conflicts: doc/developer.texi doc/faq.texi doc/general.texi ffmpeg.c ffplay.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move decode_mb_skip() from h264.h to h.264_mvpred.hDiego Biurrun2011-07-12
| | | | | | | | This resolves a circular dependency between the headers.
| * h264: move h264_mvpred.h include.Ronald S. Bultje2011-07-12
| | | | | | | | | | | | | | | | Fixes the following compile error with darwin/gcc-4.2.1: In file included from libavcodec/error_resilience.c:33: libavcodec/h264.h: In function ‘decode_mb_skip’: libavcodec/h264.h:773: error: ‘always_inline’ function could not be inlined in call to ‘pred_pskip_motion’: the function body must appear before caller libavcodec/h264.h:1334: error: called from here
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: changelog: misc typo and wording fixes H.264: add filter_mb_fast support for >8-bit decoding doc: Remove outdated comments about gcc 2.95 and gcc 3.3 support. lls: use av_lfg instead of rand() in test program build: remove unnecessary dependency on libs from 'all' target H.264: avoid redundant alpha/beta calculations in loopfilter H.264: optimize intra/inter loopfilter decision mpegts: fix Continuity Counter error detection build: remove unnecessary FFLDFLAGS variable vp8/mt: flush worker thread, not application thread context, on seek. mt: proper locking around release_buffer calls. DxVA2: unbreak build after [657ccb5ac75ce34e62bd67f228d9bd36db72189e] hwaccel: unbreak build Eliminate FF_COMMON_FRAME macro. Conflicts: Changelog Makefile doc/developer.texi libavcodec/avcodec.h libavcodec/h264.c libavcodec/mpeg4videodec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Eliminate FF_COMMON_FRAME macro.Diego Biurrun2011-07-11
| | | | | | | | | | FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied to struct Picture. Replace by an embedded AVFrame structure in struct Picture.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) H.264: fix filter_mb_fast with 4:4:4 + 8x8dct alsa: limit buffer_size to 32768 frames. alsa: fallback to buffer_size/4 for period_size. doc: replace @pxref by @ref where appropriate mpeg1video: don't abort if thread_count is too high. segafilm: add support for videos with cri adx adpcm gxf: Fix 25 fps DV material in GXF being misdetected as 50 fps libxvid: Add const qualifier to silence compiler warning. H.264: improve qp_thresh check H.264: use fill_rectangle in CABAC decoding H.264: Remove redundant hl_motion_16/8 code H.264: merge fill_rectangle into P-SKIP MV prediction, to match B-SKIP H.264: faster P-SKIP decoding H.264: av_always_inline some more functions H.264: Add x86 assembly for 10-bit H.264 predict functions swscale: rename uv_off/uv_off2 to uv_off_px/byte. swscale: implement error dithering in planarCopyWrapper. swscale: error dithering for 16/9/10-bit to 8-bit. swscale: fix overflow in 16-bit vertical scaling. swscale: fix crash in 8-bpc bilinear output without alpha. ... Conflicts: doc/developer.texi libavdevice/alsa-audio.h libavformat/gxf.c libswscale/swscale.c libswscale/swscale_internal.h libswscale/swscale_unscaled.c libswscale/x86/swscale_template.c tests/ref/lavfi/pixdesc tests/ref/lavfi/pixfmts_copy tests/ref/lavfi/pixfmts_crop tests/ref/lavfi/pixfmts_hflip tests/ref/lavfi/pixfmts_null tests/ref/lavfi/pixfmts_scale tests/ref/lavfi/pixfmts_vflip Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * H.264: merge fill_rectangle into P-SKIP MV prediction, to match B-SKIPJason Garrett-Glaser2011-07-08
| |
| * H.264: faster P-SKIP decodingJason Garrett-Glaser2011-07-08
| | | | | | | | | | Inline the relevant parts of fill_decode_caches into P-SKIP mv prediction to avoid calling the whole thing.
| * H.264: av_always_inline some more functionsJason Garrett-Glaser2011-07-08
| | | | | | | | These weren't getting inlined all the time in all gcc versions.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (40 commits) H.264: template left MB handling H.264: faster fill_decode_caches H.264: faster write_back_* H.264: faster fill_filter_caches H.264: make filter_mb_fast support the case of unavailable top mb Do not include log.h in avutil.h Do not include pixfmt.h in avutil.h Do not include rational.h in avutil.h Do not include mathematics.h in avutil.h Do not include intfloat_readwrite.h in avutil.h Remove return statements following infinite loops without break RTSP: Doxygen comment cleanup doxygen: Escape '\' in Doxygen documentation. md5: cosmetics md5: use AV_WL32 to write result md5: add fate test md5: include correct headers md5: fix test program doxygen: Drop array size declarations from Doxygen parameter names. doxygen: Fix parameter names to match the function prototypes. ... Conflicts: libavcodec/x86/dsputil_mmx.c libavformat/flvenc.c libavformat/oggenc.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * H.264: template left MB handlingJason Garrett-Glaser2011-07-03
| | | | | | | | Faster H.264 decoding with ALLOW_INTERLACE off.
| * H.264: faster fill_decode_cachesJason Garrett-Glaser2011-07-03
| | | | | | | | Aliasing avoidance and general cleanup.
| * H.264: faster write_back_*Jason Garrett-Glaser2011-07-03
| | | | | | | | Avoid aliasing, unroll loops, and inline more functions.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6 ARM: NEON optimised vector_clip_int32() swscale: disable full_chroma_int when converting to non-24/32bpp RGB. suggest to use av_get_bytes_per_sample() in av_get_bits_per_sample_format() doxy ffmpeg: use av_get_bytes_per_sample() in place of av_get_bits_per_sample_fmt() put_bits: remove ALT_BITSTREAM_WRITER put_bits: always use intreadwrite.h macros libavformat: Add an example how to use the metadata API doxygen: Prefer member groups over grouping into modules doxygen: be more permissive when searching for API examples avformat: doxify the Metadata API lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format. lavf: use the correct pointer in av_open_input_stream(). avidec: infer absolute vs relative index from first packet Conflicts: libavformat/Makefile libavformat/avidec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * doxygen: Prefer member groups over grouping into modulesReinhard Tartler2011-07-02
| | | | | | | | | | | | | | | | | | Before this, almost all module groups have been used for grouping functions and fields in structures semantically. This causes them to not appear properly in the file documentation and needlessly clutters up the "Modules" index. Additionally, this commit streamlines some spelling and appearances.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: swscale: remove misplaced comment. ffmpeg: fix streaming to ffserver. swscale: split out RGB48 output functions from yuv2packed[12X]_c(). build: move vpath directives to main Makefile swscale: fix JPEG-range YUV scaling artifacts. build: move ALLFFLIBS to a more logical place ARM: factor some repetitive code into macros Fix SVQ3 after adding 4:4:4 H.264 support H.264: fix CODEC_FLAG_GRAY 4:4:4 H.264 decoding support ac3enc: fix allocation of floating point samples. Conflicts: ffmpeg.c libavcodec/dsputil_template.c libavcodec/h264.c libavcodec/mpegvideo.c libavcodec/snow.c libswscale/swscale.c libswscale/swscale_internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-13
| | | | | | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
| * Roll back 4:4:4 H.264 for nowJason Garrett-Glaser2011-06-13
| | | | | | | | Needs some ARM/PPC asm modifications.
| * 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-13
| | | | | | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
| * svq3: Move svq3-specific fields to their own context.Baptiste Coudurier2011-06-03
| | | | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * H264/MPEG frame-level multi-threading.Alexander Strange2011-06-02
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Revert "H264: Split out hl_motion and template it, this seems a bit faster"Michael Niedermayer2011-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a50f0bea25a3da605cd547fe3bdfd36c8764b847. This has been implemented differently in qatar and its better they maintain it for me instead of me having to spend an average 5sec more per merge Conflicts: libavcodec/h264.c Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-05-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (30 commits) AVOptions: make default_val a union, as proposed in AVOption2. arm/h264pred: add missing argument type. h264dsp_mmx: place bracket outside #if/#endif block. lavf/utils: fix ff_interleave_compare_dts corner case. fate: add 10-bit H264 tests. h264: do not print "too many references" warning for intra-only. Enable decoding of high bit depth h264. Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder. Add support for higher QP values in h264. Add the notion of pixel size in h264 related functions. Make the h264 loop filter bit depth aware. Template dsputil_template.c with respect to pixel size, etc. Template h264idct_template.c with respect to pixel size, etc. Preparatory patch for high bit depth h264 decoding support. Move some functions in dsputil.c into a new file dsputil_template.c. Move the functions in h264idct into a new file h264idct_template.c. Move the functions in h264pred.c into a new file h264pred_template.c. Preparatory patch for high bit depth h264 decoding support. Add pixel formats for 9- and 10-bit yuv420p. Choose h264 chroma dc dequant function dynamically. ... Conflicts: doc/APIchanges ffmpeg.c ffplay.c libavcodec/alpha/dsputil_alpha.c libavcodec/arm/dsputil_init_arm.c libavcodec/arm/dsputil_init_armv6.c libavcodec/arm/dsputil_init_neon.c libavcodec/arm/dsputil_iwmmxt.c libavcodec/arm/h264pred_init_arm.c libavcodec/bfin/dsputil_bfin.c libavcodec/dsputil.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264dsp.c libavcodec/h264idct.c libavcodec/h264pred.c libavcodec/mlib/dsputil_mlib.c libavcodec/options.c libavcodec/ppc/dsputil_altivec.c libavcodec/ppc/dsputil_ppc.c libavcodec/ppc/h264_altivec.c libavcodec/ps2/dsputil_mmi.c libavcodec/sh4/dsputil_align.c libavcodec/sh4/dsputil_sh4.c libavcodec/sparc/dsputil_vis.c libavcodec/utils.c libavcodec/version.h libavcodec/x86/dsputil_mmx.c libavformat/options.c libavformat/utils.c libavutil/pixfmt.h libswscale/swscale.c libswscale/swscale_internal.h libswscale/swscale_template.c tests/ref/seek/lavf_avi Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add support for higher QP values in h264.Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | In high bit depth, the QP values may now be up to (51 + 6*(bit_depth-8)). Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * Add the notion of pixel size in h264 related functions.Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | | | | | In high bit depth the pixels will not be stored in uint8_t like in the normal case, but in uint16_t. The pixel size is thus 1 in normal bit depth and 2 in high bit depth. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | SVQ3: Move svq3 specific fields to their own context.Baptiste Coudurier2011-05-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*Stefano Sabatini2011-05-02
| |
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (23 commits) ac3enc: correct the flipped sign in the ac3_fixed encoder Eliminate pointless '#if 1' statements without matching '#else'. Add AVX FFT implementation. Increase alignment of av_malloc() as needed by AVX ASM. Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX. mjpeg: Detect overreads in mjpeg_decode_scan() and error out. documentation: extend documentation for ffmpeg -aspect option APIChanges: update commit hashes for recent additions. lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums aac: add headers needed for log2f() lavc: remove FF_API_MB_Q cruft lavc: remove FF_API_RATE_EMU cruft lavc: remove FF_API_HURRY_UP cruft pad: make the filter parametric vsrc_movie: add key_frame and pict_type. vsrc_movie: fix leak in request_frame() lavfi: add key_frame and pict_type to AVFilterBufferRefVideo. vsrc_buffer: add sample_aspect_ratio fields to arguments. lavfi: add fieldorder filter scale: make the filter parametric ... Conflicts: Changelog doc/filters.texi ffmpeg.c libavcodec/ac3dec.h libavcodec/dsputil.c libavfilter/avfilter.h libavfilter/vf_scale.c libavfilter/vf_yadif.c libavfilter/vsrc_buffer.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Eliminate pointless '#if 1' statements without matching '#else'.Diego Biurrun2011-04-26
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * h264: Add Intra and Constrained Baseline profiles to avctx.profileJanne Grunau2011-02-01
| |
| * Make ff_h264_decode_rbsp_trailing static to h264.cDiego Elio Pettenò2011-01-25
| | | | | | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
| * Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje2011-01-20
| |
* | H264: Split out hl_motion and template it, this seems a bit fasterMichael Niedermayer2011-04-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>