Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: ‘class ojph::codestream’ has no member named ‘request_tlm_marker’ #1434

Open
aarioai opened this issue Jan 2, 2025 · 5 comments · May be fixed by #1435
Open

error: ‘class ojph::codestream’ has no member named ‘request_tlm_marker’ #1434

aarioai opened this issue Jan 2, 2025 · 5 comments · May be fixed by #1435

Comments

@aarioai
Copy link

aarioai commented Jan 2, 2025

Deiban 12.8, dependencies installation:

apt update \
    && apt install -y pkg-config build-essential cmake libtool make autoconf automake autotools-dev                 \
     # libde265 
    && apt install -y  libjpeg-dev libpng-dev libwebp-dev libgif-dev libtiff-dev                                    \
    # libde265 
    && apt install -y qtbase5-dev libsdl2-dev libswscale-dev                                                        \
    # ibheif
    && apt install -y doxygen graphviz libopenjph-dev libsharpyuv-dev libheif-dev libgdk-pixbuf2.0-dev libx265-dev  \
    # libheif 
    && apt install -y libde265-dev libavcodec-dev libdav1d-dev libgdk-pixbuf-2.0-dev libbrotli-dev libaom-dev       \
    && apt install -y libdav1d-dev libsvtav1-dev  librav1e-dev libopenh264-dev libopenjph-dev

`[ 94%] Building CXX object libheif/plugins/CMakeFiles/heif-jphenc.dir/encoder_openjph.cc.o

/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_set_tlm_marker_requested(encoder_struct_ojph*, int)’:
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:314:23: error: ‘class ojph::codestream’ has no member named ‘request_tlm_marker’
314 | encoder->codestream.request_tlm_marker(value);
| ^~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_get_parameter_tlm_marker(encoder_struct_ojph*, int*)’:
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:342:32: error: ‘class ojph::codestream’ has no member named ‘is_tlm_requested’
342 | value = encoder->codestream.is_tlm_requested();
| ^~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_get_parameter_tilepart_division(encoder_struct_ojph
, char*, int)’:
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:412:34: error: ‘class ojph::codestream’ has no member named ‘is_tilepart_division_at_resolutions’
412 | bool res = encoder->codestream.is_tilepart_division_at_resolutions();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:413:35: error: ‘class ojph::codestream’ has no member named ‘is_tilepart_division_at_components’
413 | bool comp = encoder->codestream.is_tilepart_division_at_components();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_set_tilepart_division(encoder_struct_ojph*, const char*)’:
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:527:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
527 | encoder->codestream.set_tilepart_divisions(false, false);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:530:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
530 | encoder->codestream.set_tilepart_divisions(true, false);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:533:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
533 | encoder->codestream.set_tilepart_divisions(false, true);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:536:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
536 | encoder->codestream.set_tilepart_divisions(true, true);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc: In function ‘heif_error ojph_encode_image(void*, const heif_image*, heif_image_input_class)’:
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:759:9: error: ‘comment_exchange’ is not a member of ‘ojph’
759 | ojph::comment_exchange com_ex;
| ^~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:761:5: error: ‘com_ex’ was not declared in this scope
761 | com_ex.set_string(encoder->comment.c_str());
| ^~~~~~
/usr/local/src/libheif-1.19.1/libheif/plugins/encoder_openjph.cc:763:59: error: ‘com_ex’ was not declared in this scope
763 | encoder->codestream.write_headers(&(encoder->outfile), &com_ex, hasComment ? 1 : 0);
| ^~~~~~
make[2]: *** [libheif/plugins/CMakeFiles/heif-jphenc.dir/build.make:76: libheif/plugins/CMakeFiles/heif-jphenc.dir/encoder_openjph.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:662: libheif/plugins/CMakeFiles/heif-jphenc.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
`

@aarioai
Copy link
Author

aarioai commented Jan 2, 2025

1.19.5 is the same

`[ 94%] Building CXX object libheif/plugins/CMakeFiles/heif-jphenc.dir/encoder_openjph.cc.o
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_set_tlm_marker_requested(encoder_struct_ojph*, int)’:
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:314:23: error: ‘class ojph::codestream’ has no member named ‘request_tlm_marker’
314 | encoder->codestream.request_tlm_marker(value);
| ^~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_get_parameter_tlm_marker(encoder_struct_ojph*, int*)’:
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:342:32: error: ‘class ojph::codestream’ has no member named ‘is_tlm_requested’
342 | value = encoder->codestream.is_tlm_requested();
| ^~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_get_parameter_tilepart_division(encoder_struct_ojph
, char*, int)’:
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:412:34: error: ‘class ojph::codestream’ has no member named ‘is_tilepart_division_at_resolutions’
412 | bool res = encoder->codestream.is_tilepart_division_at_resolutions();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:413:35: error: ‘class ojph::codestream’ has no member named ‘is_tilepart_division_at_components’
413 | bool comp = encoder->codestream.is_tilepart_division_at_components();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc: In function ‘const heif_error& ojph_set_tilepart_division(encoder_struct_ojph*, const char*)’:
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:527:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
527 | encoder->codestream.set_tilepart_divisions(false, false);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:530:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
530 | encoder->codestream.set_tilepart_divisions(true, false);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:533:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
533 | encoder->codestream.set_tilepart_divisions(false, true);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:536:25: error: ‘class ojph::codestream’ has no member named ‘set_tilepart_divisions’
536 | encoder->codestream.set_tilepart_divisions(true, true);
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc: In function ‘heif_error ojph_encode_image(void*, const heif_image*, heif_image_input_class)’:
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:759:9: error: ‘comment_exchange’ is not a member of ‘ojph’
759 | ojph::comment_exchange com_ex;
| ^~~~~~~~~~~~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:761:5: error: ‘com_ex’ was not declared in this scope
761 | com_ex.set_string(encoder->comment.c_str());
| ^~~~~~
/usr/local/src/libheif-1.19.5/libheif/plugins/encoder_openjph.cc:763:59: error: ‘com_ex’ was not declared in this scope
763 | encoder->codestream.write_headers(&(encoder->outfile), &com_ex, hasComment ? 1 : 0);
| ^~~~~~
make[2]: *** [libheif/plugins/CMakeFiles/heif-jphenc.dir/build.make:76: libheif/plugins/CMakeFiles/heif-jphenc.dir/encoder_openjph.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:662: libheif/plugins/CMakeFiles/heif-jphenc.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

`

@bradh
Copy link
Contributor

bradh commented Jan 4, 2025

Looks like we need to test the OpenJPH version more. For now, you can just disable this codec.

Or update to a newer version of OpenJPH (i.e. less than three years old).

@bradh bradh linked a pull request Jan 4, 2025 that will close this issue
@bradh
Copy link
Contributor

bradh commented Jan 4, 2025

@aarioai
Copy link
Author

aarioai commented Jan 5, 2025

@aarioai Can you test #1435 (or https://github.com/bradh/libheif/tree/openjph_ver_2025-01-04)

sorry to reply later. I compile it on docker image debian:bookworm-slim
FROM debian:bookworm-slim

@bradh
Copy link
Contributor

bradh commented Jan 6, 2025

@aarioai Can you test #1435 (or https://github.com/bradh/libheif/tree/openjph_ver_2025-01-04)

sorry to reply later. I compile it on docker image debian:bookworm-slim FROM debian:bookworm-slim

I don't know how to interpret this - I don't use Debian and am not familiar with variants.

Are you saying that you successfully compiled the modified (or patched) version on an environment equivalent to the original test environment?

Or are you saying that you can compile libheif from master branch on that docker image?

Or some other variation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants