Commit Graph

212 Commits

Author SHA1 Message Date
Michael Niedermayer
49f1b869b6 Merge commit '0ef256d51518f0e483c38b9ee3b993cf0709d00e'
* commit '0ef256d51518f0e483c38b9ee3b993cf0709d00e':
  libx264: Correctly manage constant rate factor params

Conflicts:
	libavcodec/libx264.c

See: 3a1c8951bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 01:21:39 +02:00
Luca Barbato
0ef256d515 libx264: Correctly manage constant rate factor params
By default they are set to -1.
2014-06-22 21:01:07 +02:00
Michael Niedermayer
3a1c8951bc avcodec/libx264: fix "bitrate reconfiguration" 2014-06-12 01:20:07 +02:00
Michael Niedermayer
8159fe255c Merge commit '2f4170312f605c1f02a14c01347e94cf46726dbd'
* commit '2f4170312f605c1f02a14c01347e94cf46726dbd':
  libx264: Support bitrate reconfiguration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 01:19:57 +02:00
Luca Barbato
2f4170312f libx264: Support bitrate reconfiguration
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-06-11 22:51:00 +02:00
Michael Niedermayer
0aac9b76bc avcodec/libx264: Implement reference frame count limiting based on level
This makes libavcodec/libx264.c behave more similar to the x264 command line
util

Fixes Ticket3307

Implementation based on x264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 02:57:10 +02:00
Michael Niedermayer
64b79141bd avcodec/libx264: move where x264opts is applied down so it isnt overridden by avctx & defaults
fixes x264opts opengop=1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 00:05:33 +01:00
James Darnley
f02832904d lavc/libx264: add a warning when using qscale
This addresses ticket #3238.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 13:13:07 +01:00
Vittorio Giovara
75177b2f5e libx264: check color_range 2014-03-16 23:31:30 +01:00
Michael Niedermayer
018e2b57ca avcodec/libx264: also consider ticks per frame for fps/timebase setup
Setting fps = 1/timebase is not correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-25 16:31:30 +01:00
Torsten Jager
48d39c8786 avcodec/libx264: Set colorspace details correctly
After adding colorspace support to xine-lib, I insist in proper
settings within media files at least when they do not follow
that implicit SD/HD routine.
2013-12-16 16:59:02 +01:00
Michael Niedermayer
2c9fc694f5 Merge commit '09cb75cdeba420d680bcb165a1ef668d8f381fed'
* commit '09cb75cdeba420d680bcb165a1ef668d8f381fed':
  libx264: set frame packing information when relevant information is found

Conflicts:
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 22:04:29 +01:00
Vittorio Giovara
09cb75cdeb libx264: set frame packing information when relevant information is found 2013-12-09 16:02:43 +01:00
Michael Niedermayer
5b0c70c249 Merge commit '57e7b3a89f5a0879ad039e8f04273b48649799a8'
* commit '57e7b3a89f5a0879ad039e8f04273b48649799a8':
  dnxhdenc: use the AVFrame API properly.
  libx264: use the AVFrame API properly.
  svq1enc: use the AVFrame API properly.
  gif: use the AVFrame API properly.

Conflicts:
	libavcodec/gif.c
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 12:19:55 +01:00
Anton Khirnov
d2287740d9 libx264: use the AVFrame API properly. 2013-11-16 17:47:50 +01:00
Clément Bœsch
b46f19100b cosmetics: group remaining .name and .long_name.
See b2bed9325.
2013-10-04 13:33:20 +00:00
Michael Niedermayer
ee77140afa Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
* commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2':
  cosmetics: Group .name and .long_name together in codec/format declarations

Conflicts:
	libavcodec/8svx.c
	libavcodec/alac.c
	libavcodec/cljr.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/dpxenc.c
	libavcodec/dvdec.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/ffv1dec.c
	libavcodec/flacdec.c
	libavcodec/flvdec.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/g726.c
	libavcodec/gif.c
	libavcodec/gifdec.c
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/iff.c
	libavcodec/imc.c
	libavcodec/libopencore-amr.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libspeexenc.c
	libavcodec/libvo-amrwbenc.c
	libavcodec/libvorbisenc.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/libxavs.c
	libavcodec/libxvid.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg4videodec.c
	libavcodec/msmpeg4dec.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/proresdec_lgpl.c
	libavcodec/proresenc_kostya.c
	libavcodec/ra144enc.c
	libavcodec/rawdec.c
	libavcodec/rv10.c
	libavcodec/sp5xdec.c
	libavcodec/takdec.c
	libavcodec/tta.c
	libavcodec/v210dec.c
	libavcodec/vp6.c
	libavcodec/wavpack.c
	libavcodec/xbmenc.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:34:23 +02:00
Diego Biurrun
b2bed9325d cosmetics: Group .name and .long_name together in codec/format declarations 2013-10-03 23:32:01 +02:00
Kieran Kunhya
58894ab3f9 lavc: add support for interleaved chroma formats to libx264.
Interleaved chroma is x264's native format

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 14:15:04 +02:00
Kieran Kunhya
283fb76d3d lavc: Add support for interleaved chroma formats to libx264. Interleaved chroma is x264's native format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 19:55:57 +02:00
Carl Eugen Hoyos
79209f5d6c Allow encoding YUVJ422P and YUVJ444P with libx264.
Reviewed-by: Reimar
2013-09-21 09:54:06 +02:00
Michael Niedermayer
560e9365b6 Merge commit 'bc54c2ae3ca6abd225dc331eafc12108513158de'
* commit 'bc54c2ae3ca6abd225dc331eafc12108513158de':
  libx264: add shortcut for the bluray compatibility option

Conflicts:
	doc/encoders.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:26:04 +02:00
Luca Barbato
bc54c2ae3c libx264: add shortcut for the bluray compatibility option
As for intra-refresh it is just a commodity.
2013-08-05 16:13:35 +02:00
Michael Niedermayer
b909428dab Merge commit '4719040cd1b54381796b22056a9ae37bd2b4668d'
* commit '4719040cd1b54381796b22056a9ae37bd2b4668d':
  libx264: Define X264_API_IMPORTS on MSVC/ICL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:23:46 +02:00
Derek Buitenhuis
4719040cd1 libx264: Define X264_API_IMPORTS on MSVC/ICL
libx264 has a few data exports which require X264_API_IMPORTS
to be defined if we link to libx264 dynamically on Windows.

In a similar fashion to how we handle our compat snprintf
implementation, if we define it all the time, the compiler
will first try and link to __imp_x264_symbol_name, and failing
that, as in the case of a static libx264, will attempt to link
to the non-prefixed symbol, which has already been pulled in by
other x264 functions' object files.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-21 08:56:25 -04:00
Sean McGovern
bf18abb2eb Rename "AVClass class" as "AVClass component_class" for external codecs.
The aix header math.h defines "extern int class()" for C.
This fixes compilation on aix with external libraries enabled.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-04 18:02:17 +02:00
Michael Niedermayer
2187600f47 libx264: silence: warning: the address of val will always evaluate as true
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 16:39:00 +02:00
Michael Niedermayer
5d22ac488b libx264: zero x264_picture before use.
This prevents use of uninitialized memory by ffmpeg later
(i_qpplus1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 22:44:08 +02:00
Gunther Piez
acc4a7e5b3 Ticket #2540 Enable threading when using -c:v libx264rgb
Signed-off-by: Gunther Piez <gupiez@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 13:38:15 +02:00
Carl Eugen Hoyos
75c7e4583f Do not (re-)set libx264 parameter b_tff if interlaced encoding was not requested.
Reconfiguring can break x264 lossless encoding.

Fixes ticket #2165.
2013-03-16 20:13:44 +01:00
Michael Niedermayer
a77a27a24b Merge commit '2f325a6fd4421c4dd4e26d7065e5d4bf26ed52f2'
* commit '2f325a6fd4421c4dd4e26d7065e5d4bf26ed52f2':
  libx264: change i_qfactor to use x264cli's default
  qtrle: use AV_LOG_ERROR in an error message.

Conflicts:
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:05:16 +01:00
John Van Sickle
2f325a6fd4 libx264: change i_qfactor to use x264cli's default
This also allows libx264 to modify its i_qfactor value
when using the "-tune" setting. Previously it had a static
value of 1.25

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-23 13:34:52 +01:00
Michael Niedermayer
d235d240d8 Merge commit 'ded3673d77943c376d94e8157b1238bbd1eeca2d'
* commit 'ded3673d77943c376d94e8157b1238bbd1eeca2d':
  doc: document libx264 options and mappings
  libx264: introduce -x264-params private option

Conflicts:
	doc/encoders.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 14:18:48 +01:00
Gavriloaie Eugen-Andrei
29b553c1a6 libx264: introduce -x264-params private option
It is a shortcut to set all the params using x264_param_parse,
makes simpler importing settings from other software using x264.
2013-01-25 17:20:03 +01:00
Michael Niedermayer
e074fe2962 Merge commit '47812070a267cbdf74164e154d03d99bf8ced100'
* commit '47812070a267cbdf74164e154d03d99bf8ced100':
  libx264: use the library specific default rc_initial_buffer_occupancy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:51:14 +01:00
Luca Barbato
47812070a2 libx264: use the library specific default rc_initial_buffer_occupancy
By default libav sets it to 3/4 while x264 sets it to 9/10.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Michael Niedermayer
ac627b3d38 Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
* commit '716d413c13981da15323c7a3821860536eefdbbb':
  Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat

Conflicts:
	doc/examples/muxing.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	libavcodec/8bps.c
	libavcodec/aasc.c
	libavcodec/aura.c
	libavcodec/avcodec.h
	libavcodec/avs.c
	libavcodec/bfi.c
	libavcodec/bmp.c
	libavcodec/bmpenc.c
	libavcodec/c93.c
	libavcodec/cscd.c
	libavcodec/cyuv.c
	libavcodec/dpx.c
	libavcodec/dpxenc.c
	libavcodec/eatgv.c
	libavcodec/escape124.c
	libavcodec/ffv1.c
	libavcodec/flashsv.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/huffyuv.c
	libavcodec/iff.c
	libavcodec/imgconvert.c
	libavcodec/indeo3.c
	libavcodec/kmvc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c
	libavcodec/motionpixels.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pamenc.c
	libavcodec/pcxenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c
	libavcodec/pnmenc.c
	libavcodec/ptx.c
	libavcodec/qdrw.c
	libavcodec/qpeg.c
	libavcodec/qtrleenc.c
	libavcodec/raw.c
	libavcodec/rawdec.c
	libavcodec/rl2.c
	libavcodec/sgidec.c
	libavcodec/sgienc.c
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavcodec/sunrast.c
	libavcodec/targa.c
	libavcodec/targaenc.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/tmv.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavcodec/vb.c
	libavcodec/vp3.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/xwddec.c
	libavcodec/xwdenc.c
	libavcodec/yop.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_hflip.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/movenc.c
	libavformat/mxf.h
	libavformat/utils.c
	libavformat/yuv4mpeg.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libswscale/input.c
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	libswscale/x86/yuv2rgb.c
	libswscale/x86/yuv2rgb_template.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Anton Khirnov
716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Michael Niedermayer
5fe808578c libx264: fix open GOP
Found-by: relaxed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 01:56:01 +02:00
Michael Niedermayer
46a35959d8 Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
  ogg: check that the expected number of headers had been parsed
  libx264: change default to closed gop to match x264cli
  Use avcodec_free_frame() to free AVFrames.
  lavf: use a malloced AVFrame in try_decode_frame().
  lavc: add avcodec_free_frame().
  lavc: ensure extended_data is set properly on decoding
  lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
  lavc: use av_mallocz to allocate AVFrames.
  lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/src_movie.c
	libavformat/oggdec.c
	libavformat/oggdec.h
	libavformat/oggparsetheora.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
John Van Sickle
a716006a7d libx264: change default to closed gop to match x264cli
open-gop can be enabled with "-flags -cgop"

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-24 19:23:03 +02:00
Michael Niedermayer
406cdddbdd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: add forgotten ;
  matroskadec: fix a sanity check.
  matroskadec: only return corrupt packets that actually contain data
  lavf: zero data/size of the packet passed to read_packet().
  ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
  ARM: align PIC offset pools to 4 bytes
  ARM: swap source operands in some add instructions
  configure: update tms470 detection for latest version
  lavf probe: prevent codec probe with no data at all seen
  motion_est: fix use of inline on extern functions

Conflicts:
	libavcodec/motion_est_template.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 14:44:32 +02:00
Anton Khirnov
e52e4fe10d libx264: add forgotten ; 2012-09-21 09:20:09 +02:00
Michael Niedermayer
5864ce13d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: read Xing frame TOC index
  mp3dec: use named constants for Xing header flags
  libx264: add support for nal-hrd, required for Blu-ray streams.
  mov: support random access point grouping
  matroskadec: properly support BlockDuration

Conflicts:
	libavcodec/libx264.c
	libavformat/isom.h
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 21:46:35 +02:00
John Van Sickle
9bf41210a9 libx264: add support for nal-hrd, required for Blu-ray streams.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-19 20:59:24 +02:00
Lyubomir Marinov
63951aec2b libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 21:31:57 +02:00
Lyubomir Marinov
fd9cd8cd5a libx264: connect AVCodecContext.rtp_payload_size to x264_params_t.i_slice_max_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 21:31:57 +02:00
Derek Buitenhuis
59db014b5b Revert "lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE"
You should not need to enable verbose logging and all the output that comes
with it in order to get things like the obtained bitrate from a first
pass encode. Many things parse this output.

Also, since it is marked as info in libx264, it should be marked as
info in libavcodec as well.

This reverts commit 911519caec.
2012-09-13 10:57:50 -04:00
Stefano Sabatini
911519caec lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE
AV_LOG_INFO is more geared towards messages to be read by the user, the
statistics shown by libx264 with X264_LOG_INFO are more useful at the
debugging level.

Help reducing the log spam.
2012-09-07 09:59:12 +02:00
Michael Niedermayer
98840ee017 Merge commit 'c7b610aa0b1bac47eea0056b13fe6e982b85844a'
* commit 'c7b610aa0b1bac47eea0056b13fe6e982b85844a':
  avopt: Explicitly store float/double option defaults in .dbl

Conflicts:
	libavcodec/ac3dec.c
	libavcodec/libx264.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:44:05 +02:00