summaryrefslogtreecommitdiff
path: root/doc/APIchanges
Commit message (Collapse)AuthorAge
* doc/APIchanges: add missing entry for the new runtime param AVOption flagJames Almer2019-10-14
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: add max_samplesMichael Niedermayer2019-09-25
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/version: bump for hwcontext_videotoolbox api changeAman Gupta2019-09-04
| | | | | | | av_map_videotoolbox_format_from_pixfmt2() added in previous commit to support full-range pixel formats. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avutil/pixfmt: Add EBU Tech. 3213-E AVColorPrimaries valueRaphaël Zumer2019-09-01
| | | | | | | | | | This is an alias for JEDEC P22. The name associated with the value is also changed from jedec-p22 to ebu3213 to match ITU-T H.273. Signed-off-by: Raphaël Zumer <rzumer@tebako.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/avio: remove 4k limit from avio_printfMarton Balint2019-08-17
| | | | | | | | We do this by switching to AVBPrint. v2: Also set IO context error flag in case of ENOMEM. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/avio: add avio_print_string_array and avio_printMarton Balint2019-08-17
| | | | | | | These functions can be used to print a variable number of strings consecutively to the IO context. Unlike av_bprintf, no temporary buffer is necessary. Signed-off-by: Marton Balint <cus@passwd.hu>
* lavu/tx: add support for double precision FFT and MDCTLynne2019-08-02
| | | | | | | Simply moves and templates the actual transforms to support an additional data type. Unlike the float version, which is equal or better than libfftw3f, double precision output is bit identical with libfftw3.
* doc/APIchanges: Fill in missing Fields, add 4.2 cut markerMichael Niedermayer2019-07-21
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: add FF_DECODE_ERROR_DECODE_SLICES for AVFrame.decode_error_flagsAmir Pauker2019-06-29
| | | | | Signed-off-by: Amir Pauker <amir@livelyvideo.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: add FF_DECODE_ERROR_CONCEALMENT_ACTIVE flag for ↵Amir Pauker2019-06-16
| | | | | | | | | | AVFrame.decode_error_flags FF_DECODE_ERROR_CONCEALMENT_ACTIVE is set when the decoded frame has error(s) but the returned value from avcodec_receive_frame is zero i.e. concealed errors Signed-off-by: Amir Pauker <amir@livelyvideo.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu: bump minor and update APIchanges for the new transform APILynne2019-05-16
|
* doc/APIchanges: update for 3153a6502aGyan Doshi2019-04-20
| | | | Entry for added avcodec flag AV_CODEC_FLAG_DROPCHANGED
* lavf: bump version/add APIchanges entry when cleanup applehttpJun Zhao2019-04-20
| | | | | | | commit abfeba9 "lavf/hls: Cleanup the applehttp" missed the version bump and APIchanges entry. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avcodec: Add discard_sample_percentageMichael Niedermayer2019-01-28
| | | | | Suggested-by: BBB Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: add ROI (Region Of Interest) data struct and bump versionGuo, Yejun2019-01-17
| | | | | | | | | | | | | | | The encoders such as libx264 support different QPs offset for different MBs, it makes possible for ROI-based encoding. It makes sense to add support within ffmpeg to generate/accept ROI infos and pass into encoders. Typical usage: After AVFrame is decoded, a ffmpeg filter or user's code generates ROI info for that frame, and the encoder finally does the ROI-based encoding. The ROI info is maintained as side data of AVFrame. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* APIChanges: add missing entry for SMPTE2094-40 HDR Dynamic metadata APIJames Almer2018-12-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/APIchanges: Update for 4.1Michael Niedermayer2018-11-01
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/pixdesc: Add av_write_image_line2(), av_read_image_line2()Michael Niedermayer2018-10-27
| | | | | | | | | This is needed because of 32bit float formats (which are difficult to store in 16bits) This also fixes undefined behavior found by fate Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: add entry for AV_FRAME_DATA_S12M_TIMECODEJames Almer2018-10-24
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mediacodec: add av_mediacodec_render_buffer_at_time()Aman Gupta2018-10-11
| | | | | | | | | | The existing av_mediacodec_release_buffer allows the user to render or discard the Surface-backed frame. This new method allows the user to control exactly when the frame will be rendered to its SurfaceView. Available since Android API 21. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec: add AV_PKT_DATA_AFD to allow AFD data to be embedded in AVPacketDevin Heitmueller2018-09-09
| | | | | | | | | | Create a new AVPacket side data type for Active Format Description, which mirrors the side data type found in AVFrame. The primary use case for this is ensuring AFD gets preserved in the V210 encoder, so that the decklink libavdevice can output AFD. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/bsf: add a flushing mechanism to AVBSFContextJames Almer2018-08-16
| | | | | | Meant to reset the internal bsf state without the need to reinitialize it. Signed-off-by: James Almer <jamrial@gmail.com>
* doc: remove AVStream private fields from APIchangesAman Gupta2018-05-21
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat: add fields to AVProgram/AVStream for PMT change trackingAman Gupta2018-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These fields will allow the mpegts demuxer to expose details about the PMT/program which created the AVProgram and its AVStreams. In mpegts, a PMT which advertises streams has a version number which can be incremented at any time. When the version changes, the pids which correspond to each of it's streams can also change. Since ffmpeg creates a new AVStream per pid by default, an API user needs the ability to (a) detect when the PMT changed, and (b) tell which AVStream were added to replace earlier streams. This has been a long-standing issue with ffmpeg's handling of mpegts streams with PMT changes, and I found two related patches in the wild that attempt to solve the same problem: The first is in MythTV's ffmpeg fork, where they added a void (*streams_changed)(void*); to AVFormatContext and call it from their fork of the mpegts demuxer whenever the PMT changes. The second was proposed by XBMC in https://ffmpeg.org/pipermail/ffmpeg-devel/2012-December/135036.html, where they created a new AVMEDIA_TYPE_DATA stream with id=0 and attempted to send packets to it whenever the PMT changed. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat/mpegts: tag video streams with still imagesAman Gupta2018-05-17
| | | | | | | | | | | | Parses the video_stream_descriptor (H.222 2.6.2) to look for the still_picture_flag. This is exposed to the user via a new AV_DISPOSITION_STILL_IMAGE. See for example https://tmm1.s3.amazonaws.com/music-choice.ts, whose video stream only updates every ~6 seconds. Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/hwcontext_cuda: add CUstream in cuda hwctxTimo Rothenpieler2018-05-10
|
* avutil/pixdesc: add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8Marton Balint2018-04-30
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* lavu/opt: add AV_OPT_FLAG_DEPRECATEDClément Bœsch2018-04-26
|
* lavu/threadmessage: add av_thread_message_queue_nb_elems()Clément Bœsch2018-04-26
|
* doc/APIchanges: Fix typos in hashesMichael Niedermayer2018-04-16
| | | | | | Thanks-to: Moritz Barsnick <barsnick@gmx.net> for finding the correct ones Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: Add 4.0 cut pointMichael Niedermayer2018-04-16
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: Fill in missing stuffMichael Niedermayer2018-04-16
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPALwm42018-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PSEUDOPAL pixel formats are not paletted, but carried a palette with the intention of allowing code to treat unpaletted formats as paletted. The palette simply mapped the byte values to the resulting RGB values, making it some sort of LUT for RGB conversion. It was used for 1 byte formats only: RGB4_BYTE, BGR4_BYTE, RGB8, BGR8, GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap formats. The last one, GRAY8, is more common, but its treatment is grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming from typical Y video planes was not mapped to the correct RGB values. This cannot be fixed, because AVFrame.color_range can be freely changed at runtime, and there is nothing to ensure the pseudo palette is updated. Also, nothing actually used the PSEUDOPAL palette data, except xwdenc (trivially changed in the previous commit). All other code had to treat it as a special case, just to ignore or to propagate palette data. In conclusion, this was just a very strange old mechnaism that has no real justification to exist anymore (although it may have been nice and useful in the past). Now it's an artifact that makes the API harder to use: API users who allocate their own pixel data have to be aware that they need to allocate the palette, or FFmpeg will crash on them in _some_ situations. On top of this, there was no API to allocate the pseuo palette outside of av_frame_get_buffer(). This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes the pseudo palette optional. Nothing accesses it anymore, though if it's set, it's propagated. It's still allocated and initialized for compatibility with API users that rely on this feature. But new API users do not need to allocate it. This was an explicit goal of this patch. Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0. Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition, FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation functions manually changed to not allocating a palette.
* avcodec/avpacket: add av_packet_make_refcounted()James Almer2018-04-01
| | | | | | | | It works as a drop in replacement for the deprecated av_dup_packet(), to ensure a packet is reference counted. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter: bump version for the latest API changeJames Almer2018-04-01
| | | | | | And fix the entry in doc/APIchanges Signed-off-by: James Almer <jamrial@gmail.com>
* Revert "lavd: add new API for iterating input and output devices"Josh de Kock2018-03-31
| | | | | | | | | | This reverts commit 0fd475704e871ef3a535947596a012894bae3cbd. Revert "lavd: fix iterating of input and output devices" This reverts commit ce1d77a5e7cebce11074bf6f9e38ad6da37338ff. Signed-off-by: Josh de Kock <josh@itanimul.li>
* lavfi: add new iteration APIJosh de Kock2018-03-31
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* doc/APIchanges: fix lavu version for the AVEncryptionInfo additionJames Almer2018-03-27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: add a subcharenc mode that disables UTF-8 checkwm42018-03-25
| | | | | | | | This is for applications which want to explicitly check for invalid UTF-8 manually, and take actions that are better than dropping invalid subtitles silently. (It's pretty much silent because sporadic avcodec error messages are so common that you can't reasonably display them in a prominent and meaningful way in a application GUI.)
* avcodec/avcodec.h: Add encryption info side data.Jacob Trimble2018-03-24
| | | | | | | | This new side-data will contain info on how a packet is encrypted. This allows the app to handle packet decryption. Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/avpacket: add av_packet_make_writable()James Almer2018-03-21
| | | | | | | Useful as well to quickly make a packet reference counted when it isn't already so. Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/frame: add QP side datawm42018-03-18
| | | | | | | | | | | | | | | | | | | This adds a way for an API user to transfer QP data and metadata without having to keep the reference to AVFrame, and without having to explicitly care about QP APIs. It might also provide a way to finally remove the deprecated QP related fields. In the end, the QP table should be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS. There are two side data types, because I didn't care about having to repack the QP data so the table and the metadata are in a single AVBufferRef. Otherwise it would have either required a copy on decoding (extra slowdown for something as obscure as the QP data), or would have required making intrusive changes to the codecs which support export of this data. The new side data types are added under deprecation guards, because I don't intend to change the status of the QP export as being deprecated (as it was before this patch too).
* avutil: bump version after the latest AVOption flag additionJames Almer2018-03-16
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: add missing version bump for AV_CRC_8_EBUJames Almer2018-03-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mediacodecdec: add delay_flush optionAman Gupta2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | The default behavior of the mediacodec decoder before this commit was to delay flushes until all pending hardware frames were returned to the decoder. This was useful for certain types of applications, but was unexpected behavior for others. The new default behavior with this commit is now to execute flushes immediately to invalidate all pending frames. The old behavior can be enabled by setting delay_flush=1. With the new behavior, video players implementing seek can simply call flush on the decoder without having to worry about whether they have one or more mediacodec frames still buffered in their rendering pipeline. Previously, all these frames had to be explictly freed (or rendered) before the seek/flush would execute. The new behavior matches the behavior of all other lavc decoders, reducing the amount of special casing required when using the mediacodec decoder. Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
* frame: add an av_frame_new_side_data_from_buf functionRostislav Pehlivanov2018-03-01
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avutil/crypto: change length parameter to size_t on the remaining modulesJames Almer2018-02-15
| | | | | | | See 651ee9346105b9d492e01172ab447c04d03fa32e fcc4ed1efa1a7575dc45fe57ce552af331941469 Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'Mark Thompson2018-02-12
|\ | | | | | | | | | | | | * commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d': lavfi: Add support for increasing hardware frame pool sizes Merged-by: Mark Thompson <sw@jkqxz.net>
| * lavfi: Add support for increasing hardware frame pool sizesMark Thompson2018-02-11
| | | | | | | | | | AVFilterContext.extra_hw_frames functions identically to the field of the same name in AVCodecContext.
* | Merge commit '5b145290df2998a9836a93eb925289c6c8b63af0'Mark Thompson2018-02-12
|\| | | | | | | | | | | | | * commit '5b145290df2998a9836a93eb925289c6c8b63af0': lavc: Add support for increasing hardware frame pool sizes Merged-by: Mark Thompson <sw@jkqxz.net>