Maxym Dmytrychenko
cca5e4f040
qsv: adding Multi Frame Encode support
...
Starting from API 1.25 helps to improve performance of the simultaneous
encode, 1:N scenario, like:
./avconv -y -hwaccel qsv -c:v h264_qsv -r 30000/1001 -i
~/bbb_sunflower_1080p_60fps_normal.mp4 -vframes 600 -an \
-filter_complex "split=2[s1][s2]; [s1]scale_qsv=1280:720[o1];
[s2]scale_qsv=960:540[o2]" \
-map [o1] -c:v h264_qsv -b:v 3200k -minrate 3200k -maxrate 3200k -f
rawvideo /tmp/3200a.264 \
-map [o2] -c:v h264_qsv -b:v 1750k -minrate 1750k -maxrate 1750k -f
rawvideo /tmp/1750a.264
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
7 years ago
Zhong Li
52ed83fa1a
lavc/qsvdec: expose frame pic_type and key_frame
...
Currently pict_type and key_frame are unset.
Add an extra param to fetch the picture type from qsv decoder
The judgement “key frame is equal to IDR frame” only suitable for H264.
For HEVC, all IRAP frames are key frames, and other codecs have no IDR
frame.
Signed-off-by: ChaoX A Liu <chaox.a.liu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
7 years ago
Mark Thompson
91c3b50d74
qsv: Add ability to create a session from a device
...
(cherry picked from commit 4936a48b1e
)
8 years ago
Mark Thompson
4936a48b1e
qsv: Add ability to create a session from a device
8 years ago
Mark Thompson
cd1047f391
qsvdec: Pass the correct profile to libmfx
...
This was correct for H.26[45], because libmfx uses the same values
derived from profile_idc and the constraint_set flags, but it is
wrong for other codecs.
Also avoid passing FF_LEVEL_UNKNOWN (-99) as the level, as this is
certainly invalid.
8 years ago
Anton Khirnov
4ab61cd983
qsv{enc,dec}: extend the internal frame allocator
...
Handle the internal frame requests, which is required by the HEVC
encoding plugin.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
8 years ago
Anton Khirnov
00aeedd841
qsv{dec,enc}: use a struct as a memory id with internal memory allocator
...
This will allow implementing the allocator more fully, which is needed
by the HEVC encoder plugin with video memory input.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
8 years ago
Anton Khirnov
404e51478e
qsv{dec,enc}: always use an internal mfxFrameSurface1
...
For encoding, this avoids modifying the input surface, which we are not
allowed to do.
This will also be useful in the following commits.
Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
8 years ago
Mark Thompson
1f26a231bb
qsv: Merge libav implementation
...
Merged as-at libav 398f015
, and therefore includes outstanding
skipped merges 04b17ff
and 130e1f1
.
All features not in libav are preserved, and no options change.
8 years ago
Anton Khirnov
8e07c22e50
qsvenc: print warnings from encode/init
8 years ago
Anton Khirnov
95414eb2dc
qsv: print more complete error messages
...
Include the libmfx error code and its description
8 years ago
Anton Khirnov
536bb17e96
qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as well
...
Stop hardcoding NV12.
Also, move this function to the shared code, it will be used by the
encoder as well.
9 years ago
Anton Khirnov
a0524d9b1e
qsvdec: support getting the session from an AVHWFramesContext
9 years ago
Anton Khirnov
9c0bc1e980
qsv: add a missing #include
...
Needed for enum AVCodecID
9 years ago
Will Kelleher
0eac93da0f
qsvenc: write a53 caption data to SEI
...
Signed-off-by: Will Kelleher <wkelleher@gogoair.com>
Previous version reviewed-by: Ivan Uskov <ivan.uskov@nablet.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Anton Khirnov
f5c4d38c78
qsvdec: properly handle asynchronous decoding
...
Wait for async_depth frames before syncing.
9 years ago
Ivan Uskov
ce91bab70f
libavcodec/qsv.c: Issue fixed: QSV engine does not release display handler under linux platform.
...
Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Anton Khirnov
66acb76bb0
lavc: add Intel libmfx-based HEVC encoder
10 years ago
Ivan Uskov
db89f45535
avcodec/qsv: Extending QSV/MFX session initialization for the linux platform where a display handle is required.
...
Now ff_qsv_init_internal_session() is able
to find appropriate display handle under linux using VAAPI.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
048b6331e0
avcodec/qsv_internal: Fix project name
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Anton Khirnov
72b7441a10
lavc: add Intel libmfx-based H.264 encoder
10 years ago
Anton Khirnov
d0a63d8b98
qsvdec: split off some code that will be shared with the encoder
10 years ago
Anton Khirnov
88de0c7901
apetag: add support for writing APE tags
...
This will be useful in the WavPack muxer.
12 years ago
Anton Khirnov
782e64fbe1
wv,mpc8: don't return apetag data in packets.
12 years ago
Paul B Mahol
e4f3a9693d
lavf/apetag: move common stuff between writer and reader to single file
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Paul B Mahol
bd93f96540
APE tag writer
12 years ago
Paul B Mahol
a16c3a07a6
apetag: fix comment
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
13 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Kostya Shishkov
191e34cd67
Move APE tag parsing into separate module.
...
Based on patch by Matti Hamalainen (mhamalai<mot>students<punkt>oamk<punkt>)
Originally committed as revision 19629 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Justin Ruggles
2578326f13
Share the function to write a raw FLAC header and use it in the Matroska
...
muxer.
Originally committed as revision 17606 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
7379d5bc0b
use new metadata API in rm (de)muxer
...
Originally committed as revision 17396 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Stefano Sabatini
987903826b
Globally rename the header inclusion guard names.
...
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.' to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".
Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Vladimir Voroshilov
6bf8b3ef03
Remove unnecessary header inclusion from g729.h
...
Originally committed as revision 14916 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Vladimir Voroshilov
fe3a80d6fa
Move from g729.h all definitions which are used only in g729dec.c
...
Originally committed as revision 14915 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Vladimir Voroshilov
5209846850
G.729 decoder main code
...
(just skeleton, contains only parts, explicitly ok'ed by Michael)
Originally committed as revision 14800 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Luca Abeni
e76e2bbc09
Mark the source buffer as "const"
...
Originally committed as revision 10877 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
5b21bdabe4
Add FFMPEG_ prefix to all multiple inclusion guards.
...
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Guillaume Poirier
efb775777f
add a comment to indicate which #endif belong to which #define
...
Originally committed as revision 9356 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Måns Rullgård
699b3f99d0
add multiple inclusion guards to headers
...
Originally committed as revision 9345 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Måns Rullgård
99545457bf
include all prerequisites in header files
...
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Luca Barbato
bd03c380ce
expose av_base64_decode and av_base64_encode
...
Originally committed as revision 8448 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Luca Barbato
558b86a5d0
Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
...
Originally committed as revision 8158 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Diego Biurrun
5509bffa88
Update licensing information: The FSF changed postal address.
...
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Diego Biurrun
115329f160
COSMETICS: Remove all trailing whitespace.
...
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Roman Shaposhnik
48b1f80012
* adding integer/floating point AAN implementations for DCT 2-4-8
...
Originally committed as revision 2430 to svn://svn.ffmpeg.org/ffmpeg/trunk
21 years ago
Michael Niedermayer
b4c3816cfa
optionally merge postscale into quantization table for the float aan dct
...
Originally committed as revision 2420 to svn://svn.ffmpeg.org/ffmpeg/trunk
21 years ago
Michael Niedermayer
65e4c8c919
floating point AAN DCT
...
Originally committed as revision 2415 to svn://svn.ffmpeg.org/ffmpeg/trunk
21 years ago
Michael Niedermayer
b0368839ac
MpegEncContext.(i)dct_* -> DspContext.(i)dct_*
...
bitexact cleanup
Originally committed as revision 1617 to svn://svn.ffmpeg.org/ffmpeg/trunk
22 years ago
Zdenek Kabelac
0c1a9edad4
* UINTX -> uintx_t INTX -> intx_t
...
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
22 years ago