180 Commits

Author SHA1 Message Date
Quentin Renard 3a54564426 Added ASTIAV_LOG_BUF_SIZE C constant to avoid log callback vsprintf overflow 2026-04-01 09:59:51 +00:00
Tryanks a541263dfd Now compatible with n8.0 (#178)
* n7.1: Migrate deprecated methods, fields, and definitions

* n7.1: Add new definitions

* n7.1: Add new field

* n7.1: Update doxygen url

* n8.0: Clean up remaining n7.x deprecations

* n8.0: Add new CodecIDs and fields

* n8.0: Migration to n8.0

* n8.0: Refactor swscale with Publicly expose struct SwsContext, enum SwsDither, and enum SwsAlphaBlend

n8.0: Stash commit

* n8.0: Update doxygen url

* n8.0: Fix windows.patch to apply new library.mak in n8.0

* n8.0: Clean up and organize the APIs, remove redundant implementations, and reorder the enum fields

* n8.0: Refactor SoftwareScaleContext to simplify and optimize update logic and remove redundant code

* Add tests for supported sample rates and frame rates in codec encoders

* Revert changes in `Free` and `Class`, other minor improvements

* Adapt the examples to the current library

* Update breaking changes
v0.40.0
2026-01-13 15:10:38 +01:00
Quentin Renard 3087ae237e Replaced log.Fatal with log.Println in examples v0.39.0 2025-12-05 08:36:42 +00:00
eTaulay f97d21c3c9 Fix IO context (#175)
Co-authored-by: jianhuatian <jianhuatian@tencent.com>
2025-12-05 08:53:06 +01:00
Quentin Renard 884553ed01 Examples now ignore decoded frames with non monotonic PTS 2025-12-03 14:01:08 +00:00
Tryanks a6e3f5ac33 Add metadata support to Frame (#171) 2025-11-06 15:16:06 +01:00
Quentin Renard 96ce2376a2 Added devcontainer 2025-10-27 17:04:25 +00:00
Quentin Renard a7292eff12 Added error recognition flags 2025-09-23 14:15:49 +02:00
Quentin Renard 3cf710387d Fixed resampling audio example 2025-08-19 16:20:14 +02:00
Quentin Renard 5215dcddb1 Added setters for codec context color attributes 2025-08-19 12:16:59 +02:00
Quentin Renard 71be247528 Added stream disposition flags setter 2025-08-08 10:34:49 +02:00
Quentin Renard 9363923192 Added disposition flags 2025-08-07 17:18:52 +02:00
Quentin Renard a04a77a051 Added sample format is planar and bytes per sample v0.38.0 2025-08-07 11:44:05 +02:00
Maizer 15c6928fe3 Add AVPixFmtDescriptor to retrieve flags for AVPixelFormat (#154)
* 1. Adds hardware_frames_constraints to retrieve valid HWPixelFormats and SWPixelFormats for specific hardware frame configurations.

2. Implements a HardwareFramesConstraints method in hardware_device_context to obtain these constraints for a given hardware frames context.

* Add AVPixFmtDescriptor to retrieve flags for AVPixelFormat

feat(PixelFormat): Expose `AVPixFmtDescriptor` via `Descriptor()` method

This commit introduces support for `AVPixFmtDescriptor`, which provides
detailed information about an `AVPixelFormat`, including its flags.

A new `Descriptor()` method has been added to the `PixelFormat` type
(or class) to retrieve its corresponding `AVPixFmtDescriptor`. This allows
for easier access to extended properties of pixel formats.
2025-05-23 16:01:02 +02:00
Quentin Renard b9f3da6912 Added dictionary copy 2025-05-22 09:11:03 +02:00
Quentin Renard bce37accc6 Added bitstream filter private data 2025-05-19 16:27:09 +02:00
Quentin Renard 3cf943164f Bumped golang version to 1.21 in go.mod v0.37.0 2025-05-15 14:39:02 +02:00
Quentin Renard 60e3d4181c Bumped golang version to 1.21 for github actions 2025-05-15 14:33:49 +02:00
Maizer e4be514918 1. Adds hardware_frames_constraints to retrieve valid HWPixelFormats and SWPixelFormats for specific hardware frame configurations. (#151)
2. Implements a HardwareFramesConstraints method in hardware_device_context to obtain these constraints for a given hardware frames context.
2025-05-15 14:33:28 +02:00
Quentin Renard 74973f7e03 Fixed filters for windows. Thanks to @Maizer 2025-05-09 14:24:01 +02:00
Jingyang Kang e484f69f5c Add AV1 codec id (#146)
* Add AV1 codec id

* sort codec_id alphabetically
v0.36.0
2025-04-23 09:24:14 +02:00
Quentin Renard eb1dc676fe Updated frame/packet side data Get() signature v0.35.1 2025-03-15 17:17:49 +01:00
Quentin Renard 584153d458 Refactored frame/packet side data + added regions of interest to frame side data v0.35.0 2025-03-15 17:05:57 +01:00
Quentin Renard 0d523ba53b Fixed MacOS libx11 github action bug 2025-03-13 11:39:27 +01:00
Quentin Renard 13a8d297e8 Replaced dev branch with test-github-actions 2025-03-11 17:14:03 +01:00
dogghi no 786df5c02f Fix links to ffmpeg examples (#138) 2025-03-09 14:53:19 +01:00
David Grinberg a1e97959c5 SetMetadata method for Stream (#136)
* SetMetadata method for Stream

* add tests, change url in doc
v0.34.0
2025-03-03 16:22:11 +01:00
Quentin Renard f136032704 IOInterrupter actions are now atomic 2025-03-01 14:28:47 +01:00
Quentin Renard 948d39059d Oopsie poopsie v0.33.1 2025-02-16 15:24:22 +01:00
Quentin Renard dca9296441 Now using av_malloc/av_free instead of malloc/free v0.33.0 2025-02-16 14:16:13 +01:00
Quentin Renard 685441141d Fixed heap-use-after-free v0.32.0 2025-02-09 15:08:47 +01:00
Dmitrii Okunev 30a782ddf4 packet: Add memory management *Packet functions (#128) 2025-02-09 14:23:55 +01:00
Quentin Renard 5ed56d0858 Removed AllocImage and AllocSamples v0.31.0 2025-02-08 16:12:34 +01:00
Quentin Renard 27082bb9bc Fixed doc link 2025-02-07 15:51:55 +01:00
Dmitrii Okunev a908f287d2 stream: Add functions to get/set fields of Stream (#129) 2025-01-14 10:46:30 +01:00
oldma3095 ac7a8c390e Frame.Copy(dst *Frame) (#127) v0.30.0 2025-01-07 11:28:01 +01:00
Quentin Renard a6280c7586 Hardware filtering example now shows how to set filters hardware device context 2024-12-24 14:19:44 +01:00
oldma3095 ee2cb0ea59 merge master and add SetHardwareDeviceContext (#126) 2024-12-24 14:14:04 +01:00
Quentin Renard 5b04a31254 Added filter to filter context 2024-12-23 15:48:33 +01:00
Quentin Renard 25626ad96a Added filter flags 2024-12-23 15:34:00 +01:00
oldma3095 b09923632f bufferSrcCtx.Initialize with dictionary (#124)
* OpenIOContextWithDictionary

* OpenIOContext

* OpenIOContext

* IOInterrupterCB

* OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary)

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* CodecContext
MaxBFrames()
SetMaxBFrames(n int)

* another pr

* delete Flags()

* delete Flags()

* delete Flags()

* delete PmtVersion()

* SetStreamIndex

* SetStreamIndex

* MaxBFrames()
SetMaxBFrames(n int)
RcMaxRate()
SetRcMaxRate(n int64)
RcMinRate()
SetRcMinRate(n int64)
RcBufferSize()
SetRcBufferSize(n int)

* rename rate control methods

* test passed

* bufferSrcCtx initialize with dictionary

* bufferSrcCtx initialize with dictionary

* SetHardwareDeviceContext

* SetHardwareDeviceContext
2024-12-23 11:40:48 +01:00
Quentin Renard 04ab7084e1 Fixed hardware filtering example 2024-12-20 14:42:10 +01:00
Quentin Renard 805ca1b8a1 Renamed to HardwareFramesContext 2024-12-20 09:55:22 +01:00
Quentin Renard 48e9c04e2f Updated breaking changes section in readme 2024-12-20 09:40:52 +01:00
Quentin Renard 1afa99ec8e Added bit stream filter context output codec parameters 2024-12-20 09:34:13 +01:00
Quentin Renard 4b35c9a741 Removed args from NewXXXFilterContext() v0.29.0 2024-12-19 16:20:37 +01:00
Quentin Renard ab81ca0faf Added stream discard 2024-12-19 14:37:45 +01:00
oldma3095 34fa811a4f max_b_frame and control bit_rate (#121)
* OpenIOContextWithDictionary

* OpenIOContext

* OpenIOContext

* IOInterrupterCB

* OpenIOContext(filename string, flags IOContextFlags, ii *IOInterrupter, d *Dictionary)

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* Program and Discard

* CodecContext
MaxBFrames()
SetMaxBFrames(n int)

* another pr

* delete Flags()

* delete Flags()

* delete Flags()

* delete PmtVersion()

* SetStreamIndex

* SetStreamIndex

* MaxBFrames()
SetMaxBFrames(n int)
RcMaxRate()
SetRcMaxRate(n int64)
RcMinRate()
SetRcMinRate(n int64)
RcBufferSize()
SetRcBufferSize(n int)

* rename rate control methods

* test passed
2024-12-19 14:33:08 +01:00
Quentin Renard ff05de2f43 Added libswresample in pkg config v0.28.0 2024-12-18 09:29:54 +01:00
Quentin Renard b86c411567 Removed Program.StreamIndex 2024-12-18 09:14:50 +01:00