Opened 5 months ago

Last modified 4 months ago

#2355 new enhancement

New codecs

Reported by: gja822 Owned by: beastd
Priority: normal Component: undetermined
Version: HEAD Severity: minor
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Last year(s) there occur some newer codecs. Like HEVC (with x265 coding lib
for example), VP8, VP9 and even newer AV1 (aom and dav1d libs) and AVS2 (davs2 lib).
More than that, Google start publish videos on YouTube? in AV1 encoding among
other encodings.

I can easily watch HEVC of VPx videos in MPlayer, thank you! But I hardly see a way to encode to HEVC or VP9 "natively" with MEncoder (may be with lavc, but it would be better for me to do it like with x264 in mencoder, not via lavc).

Worse than that, I even cannot watch videos encoded with AV1 or ASV2, although newer versions of FFMpeg can show me these formats with ffplay.

May be some newer options to compile? I could not find them, also in man pages or html DOCs.

My system is amd64 FreeBSD.

Attachments (1)

libdav1d_complete.diff (1.9 KB) - added by Andrew-R 4 months ago.

Download all attachments as: .zip

Change History (4)

comment:1 in reply to: ↑ description Changed 5 months ago by beastd

Hi,

thank you for the feedback!

It's just a bit broad for one ticket. I think we might open individual new tickets for some things you mention here.

Anyway some comments follow inline below:

Replying to gja822:

Last year(s) there occur some newer codecs. Like HEVC (with x265 coding lib
for example), VP8, VP9 and even newer AV1 (aom and dav1d libs) and AVS2 (davs2 lib).
More than that, Google start publish videos on YouTube? in AV1 encoding among
other encodings.

I can easily watch HEVC of VPx videos in MPlayer, thank you! But I hardly see a way to encode to HEVC or VP9 "natively" with MEncoder (may be with lavc, but it would be better for me to do it like with x264 in mencoder, not via lavc).

Why would it be better to do it with MEncoder?
FFmpeg has no native encoders for HEVC or VP9.

For MPlayer/MEncoder developing serious encoders for these codecs is not an option.

So if we would add them, it would be like for H264 (ve x264) and wrap an external library like libx265 and libvpx.

Can you explain why you prefer the "wrapper" to be in mencoder?

Worse than that, I even cannot watch videos encoded with AV1 or ASV2, although newer versions of FFMpeg can show me these formats with ffplay.

That's probably because the codecs weren't added to MPlayer's codecs.conf yet. Will have a look.

May be some newer options to compile? I could not find them, also in man pages or html DOCs.

My system is amd64 FreeBSD.

comment:2 Changed 5 months ago by gja822

Thank you for the reply.

My "natively" is, of course, the same as your "wrapper". I find it easier to use libx265 or libvpx options than that lavc name them. May be it is just a matter of a habbit which I have got using convenient x264enc options. As far as I can get it, lavc even have different names for the same options, haven't it? I am using in the same way xvidenc or lameopts. So, lavc options are documented a bit scarcely in MPlayer docs, and it is not convenient to search for them on ffmpeg project pages.

I look forward for AV1 and ASV2 support.

Changed 4 months ago by Andrew-R

comment:3 Changed 4 months ago by Andrew-R

I tried to add libdav1d decoding support. It worked, but shows this in terminal:

[libdav1d @ 0x576d1840]The deprecated avcodec_decode_* API cannot return all the frames for this decoder. Some frames will be dropped. Update your code to the new decoding API to fix this

Sadly vd_ffmpeg.c definitely above what I can change ....

May be this webpage will help someone better than me:
https://blogs.gentoo.org/lu_zero/2016/03/29/new-avcodec-api/

Note: See TracTickets for help on using tickets.