I choosed to extract the decoded frame back to memory instead of developping
a new specific vaapi vout. It was easier, allows transcoding and does not break
our current OSD.
Becarefull, you probably have to applied a pending patch on ffmpeg for h264
decoding.
You still have to manually uncomment the HAVE_AVCODEC_VAAPI define in
avcodec.h and to fix the build system to test it.
defined quality based encoding, and remove strict-rc option
because it's not needed ( thou maybe someone needs vbr-transcoding
with some hint of bitrate without quality-based encoding ? )
Should fix transcoding bitrate bug and close ticket #1463
headers, avutil.h, chroma.h and fourcc.h are also located in that
directory.) This should be the last commit in the "Move all the old
ffmpeg modules source code files around to make it seem like you're
working while you're not".
needs to be changed accordingly). It "works" but I can't spot any
difference between postproc-q 6 and postproc-q 0 using the
redefined-nintendo.mpg test video ... I'd appreciate feedback on that
point.
use size_t instead of int to represent sizes
removes unused parameters from:
block_BytestreamInit()
mpeg4_audio/LOASSyncInfo()
cinepak/cinepak_Getv1()
speex/SendPacket()
subsass/ParseColor()
ffmpeg/postprocess/InitPostproc() & PostprocPict()
dvbsub/YuvaYuvp() & encode_pixel_line_{2,4,8}bp()
faad/DoReordering()
vlc_block_helper.h:
use size_t, removes unused parameter from block_BytestreamInit()
struct filter_t:
removes unused parameters from pf_picture_link() & pf_picture_unlink()
cmml: fix a segfault (p_item isn't an input item, despite the name) present for some months, proving that nobody did use that code ?
* Headers in include must contain the structures and prototypes needed
by the plugins and should be named vlc_*.
* Headers in include/vlc must contain the structures and prototypes
needed by external libvlc clients
* Moved and renamed some things in headers.
- Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
- Removed snapshot.h (merged in vlc_vout.h)
- Removed vlc_spu.h (merged in vlc_osd.h)
- Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
- Moved all internal headers to src
- Merged vlc_video.h and video_output.h and move private things to src
- Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
(meta headers for use in modules, and often implying too large
dependencies)
* Removed some useless dependencies
* Unexported a bunch of functions and structures used only in src/
(--> Still some work here)
* Finally made input_thread_t and input_source_t (mostly) private.
Added input_GetItem to fetch the input_item of an input_thread
* Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol
prefix
This commit has a 99% probability of breaking the build, 0.1% of killing
your cat and 0% of getting you hot chicks.
- Note that these are not all replaced atm, so some functionality might be lacking
* Make the minimum version of libavcodec version 5000 (september 2005).
- Removed all the checks for previous API versions.
- chroma + resizing video filter (using the filter_t architecture).
* modules/codec/ffmpeg/*:
- cleanup + small updates.
* modules/codec/speex.c, theora.c, vorbis.c:
- got rid of pf_header() in the encoder.
- store the headers in fmt_out.p_extra (this will break the ogg muxer for now).
* modules/codec/libmpeg2.c, modules/codec/ffmpeg/video.c:
- added a p_dec->b_pace_control field to signal if the decoder is allowed to drop frames.
* modules/stream_out/transcode.c:
- heavy cleanup.
- re-use video decoder modules and got rid of the duplicated ffmpeg video decoder.
- use video filters for chroma conversion and resizing.
(a few things are broken now like deinterlacing but I'll repair them asap).