Skip to content

Unable to decode H.265 alpha channel file with YUV400 format #53

@cylindrical2002

Description

@cylindrical2002

png00001.zip

Description

I'm trying to decode H.265 files that contain alpha channels. While the main color video file (YUV420P format) decodes successfully, the alpha channel file fails to decode with error code 0x3d4.

Steps to Reproduce

  1. Encode two H.265 files:
    • Main color file (png00001.h265) in YUV420P format
    • Alpha channel file (png00001_alpha.h265) in YUV400 format
  2. Create config file png00001_alpha.cfg:
--input png00001_alpha.h265
--output png00001_alpha.yuv
--save_output 1
--num_frames -1
--chroma_format YUV_420P
--share_display_buf 0
--max_wd 770
--max_ht 200
--max_level 51
--num_cores 4
--loopback 0
--display 0
  1. Run decoder:
./hevcdec png00001_alpha.cfg

Current Behavior

The decoder fails with the following output:

Ignoring argument :  --max_wd
Ignoring argument :  --max_ht
Ignoring argument :  --max_level
Ittiam Decoder Version number: @(#)Id:HEVCDEC_production Ver:05.00 Released by ITTIAM Build: Feb 12 2025 @ 13:03:56
FrameNum:    1 TimeTaken(microsec):      3 AvgTime:      3 PeakAvgTimeMax:      0Output:  0 NumBytes:    794 
Error in video Frame decode : ret 3d4 Error 0
Summary
Input filename                  : png00001_alpha.h265
Output Width                    : 0   
Output Height                   : 0   
Bitrate @ 30 fps(mbps)          : 0.21  
Average decode time(micro sec)  : 3     
Avg Peak decode time( 8 frames) : 0     
FPS achieved (with format conv) : 333333.33

Expected Behavior

The decoder should be able to handle YUV400 format files, which are commonly used for alpha channels in H.265 video coding.

Environment

  • OS: macOS
  • Compiler: Clang
  • Build: Feb 12 2025 @ 13:03:56
  • libhevc version: 05.00

Additional Context

The main color file in YUV420P format decodes successfully with the same configuration (except for the input/output file names). This suggests that the issue is specifically related to the handling of YUV400 format in the alpha channel file.

Questions

  1. Does libhevc support YUV400 format for alpha channel decoding?
  2. If not, what is the recommended way to handle alpha channels in H.265 files?
  3. Is there a workaround available, such as encoding the alpha channel in YUV420P format?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions